ECE 355 Project Pointers InClass Presentation K Kontogiannis

  • Slides: 19
Download presentation
ECE 355 Project Pointers In-Class Presentation K. Kontogiannis

ECE 355 Project Pointers In-Class Presentation K. Kontogiannis

Project Objectives Become familiar with UML modeling techniques and a structured software development process

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 (User Agent Registration)

SIP Operational Profile (Normal Scenario)

SIP Operational Profile (Normal Scenario)

Extended SIP Operational Profile - 1 2. 1 The Location Server checks whether Agent

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

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

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:

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

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

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

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

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

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

Extended User Agent

Wrapper User Agent Wrapper ref. To. Wrapper: Wrapper ref. To. User. Agent: 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

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

Gantt Diagrams

Deliverables for SRS Use the SRS template document. If there is information not specified

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

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