ECE 355 Project Pointers InClass Presentation K Kontogiannis
- Slides: 19
ECE 355 Project Pointers In-Class Presentation K. Kontogiannis
Project Objectives Become familiar with UML modeling techniques and a structured software development process Gain experience with integrating different technologies and components to produce a working system Apply material taught in class to a realistic project
SIP Operational Profile (User Agent Registration)
SIP Operational Profile (Normal Scenario)
Extended SIP Operational Profile - 1 2. 1 The Location Server checks whether Agent B sip: jiri@iptel. org has registered any Web service. 2. 2. Assuming the result from the Service Registry is NULL, then the operation proceeds with the Location Server returning the IP address of sip: : jiri@iptel. org and the protocol continues as if placing a normal call.
Extended Operational Profile -2 Web Service 6. Wrapper calls Web Service using the SOAP protocol and WSIF/JAXRPC libraries Service Repository 7. Service returns Invocation result status 2. 1 Obtain Service Handlers for B 2. 2 Return Service Handlers for B Location Server SIP Agent Wrapper 5. Agent forwards Service handler Info to Wrapper Step 3 8. Wrapper forwards service invocation result status to Agent A 2. Locate B 3. Forward Service Handlers for Agent B to Proxy Server result = Query-Service-Registry(agent); I f result == NULL then find-agent-location-IP(agent) else { forward-handlers-to-proxy(result) 1. Invite B Proxy Server Client Agent A 4. DECLINE message for calling B and forward Service Handlers of Agent B to Agent A (caller) to Agent A Client. Agent B Step 4. /* Obtain services and service bindings */ msg = build-message-to-proxy(result); send-message-to-agent(agent, msg); }. . . .
Processing Details Location Server issues request to obtain service handlers using JAX -R Location server obtains result and sends it to the Proxy server (either IP or service handler) Proxy server examines reply and forms the appropriate message and action User agent selects appropriate service and handler and passes User Agent credentials and selected service handler (. wsdl file location) to Wrapper. One Wrapper User Agent Wrapper calls service using JAX-RPC or WSIF Wrapper notifies User Agent for completion
Messages Check RFC 3261 for SIP message format In a nutshell the format is: Message Type ……. . Message Body Handler Descriptions go here as a long formatted string “ 3 -- Email. To. Office. Service www. foo. com/sample 1. wsdl -Email. To. Home. Service www. test. com/sample 2. wsdl -Email. To. Mobile www. test. com/sample 3. wsdl”
Major Project Components JAIN-SIP – Registration Server – Location Server – Proxy Server SIP Communicator WSDP – Service Registry (uses Tomcat for WSDP or Suns App Server) – JAX-R – JAXRPC WSIF (alternative to JAX-RPC)
Service Registry 1. Organization (Business Entity – Your own group) 1. 1. Services (Business Services. Contain descriptions of services, contact names etc. ) 1. 1. 1. Service Bindings (Binding Template. Contain technical information about a service, and references to t-Models) 1. 1. External Links (Contain pointers to technical description of services. These external links reference wsdl files)
Service Registry You can install you own (as part of the WSDP). You will need Sun’s App Server. You can use the public one set for this project at: http: //www. ece. uwaterloo. ca: 8080/soar/reg istry/thin/browser. jsp (If this URL changes we will let you know)
Registering Services The idea is for you to modify the “template” service we will give to you and crate “variants” You can register the new services using the Registry UI (see URL) or by creating a Java client program (see examples) using JAX-R
Service Template Service: S: : Selective e-mail Service Input: A: : Agent /*Calling Agent */ Message: : String Local Variables: B: : Agent /*Service Owner – Called Agent) Output: R: : Result status /* Operational template */ if (A == A 1 or A 2 or …) then { mail-to: B@sample. com (Message: : String); R=OK; } elseif (A==A 3 or. . . ) { mail-to: B 2@another. com(Message); R= OK } elseif. . . else R=FAIL
Extended User Agent
Wrapper User Agent Wrapper ref. To. Wrapper: Wrapper ref. To. User. Agent: User. Agent 1 Is. Wraped. By Wraps 1
Summary of Tasks To familiarize with the code (JAIN-SIP, SIP-Communicator) and the structure of the Service Registry entries To modify the Location server to be able to query the service registry (sample code to query the registry using the JAXR API will be given to you), and pass the list of services or NULL to the Proxy for further processing To modify the proxy server to be able to accept service descriptions from the registry and to compose MESSAGE BODY strings To modify the Client Agent to reference a Wrapper. The code for the new Client Agent (SIP-communicator) UI will be given to you To create a Wrapper class that references the Client Agent. This Wrapper class should use the WSIF or the JAAX-RPC API to invoke the Web Service that has been selected using the Client Agent UI To modify the template service and the wsdl specification file that will be given to you to create variant Web Services to use in your system.
Gantt Diagrams
Deliverables for SRS Use the SRS template document. If there is information not specified in the project description make an reasonable assumption (pertains more to NFRs) Use Case Description for scenaria Use Case diagrams for scenaria Specification Level Collaboration Diagrams for scenaria Sequencing Diagrams for scenaria 3. 2. 2, 3. 1. 2 3. 2. 1, 3. 2. 2, 3. 1. 3
Available Resources The SIP Communicator and the JAIN SIP Proxy / Location / Registration Servers. The on-line Service Registry and the Web interface to register and de-register services. The Service registry is part of the WSDP toolkit that you can also download and install it on your home PCs. The JAXR libraries for querying the service registry and sample Java client code to query and update the registry will be provided. The location of our public Service Registry is http: //www. ece. uwaterloo. ca: 8080/soar/registry/thin/browser. jsp A sample template Web Service and its handler. The service will do selective e-mail based on the calling Agent, and you can customize it to create several similar services to be posted on the Registry The extended SIP Client interface and the code to select a service from a list of services to pass to the wrapper for invoking the service The Web Services Invocation Framework WSIF and JAXRPC will be provided in the form of libraries. Sample Java code to use for invoking a Web service will be provided for your reference to help you during the implementation stage
- Ece 355
- Ece 355 understanding behavior & family dynamics
- Iat
- Sentencia c-355 de 2006
- Sanglier attila 355 kg
- Que es la sentencia c 355 de 2006
- Kj355
- Csce 355
- Csce 355
- 355 rounded to the nearest hundred
- Iat 355
- Iat 355
- 4 8 13 19 26,… 3 suku berikut ? *
- Zoomology
- Iat 355
- Mahmut kunter
- Sanglier attila 355 kg
- Factors of 355
- Caedb
- Exmple