1 / 19

ECE 355 Project Pointers

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

velvet
Télécharger la présentation

ECE 355 Project Pointers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ECE 355 Project Pointers In-Class Presentation K. Kontogiannis

  2. 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

  3. SIP Operational Profile(User Agent Registration)

  4. SIP Operational Profile(Normal Scenario)

  5. 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.

  6. Extended Operational Profile -2 Web Service Service Repository Step 3 result = Query-Service-Registry(agent); I f result == NULL then find-agent-location-IP(agent) else { forward-handlers-to-proxy(result) 6. Wrapper calls Web Service using the SOAP protocol and WSIF/JAXRPC libraries 7. Service returns Invocation result status 2.2 Return Service Handlers for B 2.1 Obtain Service Handlers for B Location Server SIP Agent Wrapper 8. Wrapper forwards service invocation result status to Agent A 3. Forward Service Handlers for Agent B to Proxy Server 2. Locate B 5. Agent forwards Service handler Info to Wrapper 1. Invite B Proxy Server 4. DECLINE message for calling B and forward Service Handlers of Agent B to AgentA (caller) to Agent A Step 4. /* Obtain services and service bindings */ msg = build-message-to-proxy(result); send-message-to-agent(agent, msg); } ........ Client Agent A ClientAgent B

  7. 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 per User Agent • Wrapper calls service using JAX-RPC or WSIF • Wrapper notifies User Agent for completion

  8. 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 -- EmailToOfficeService www.foo.com/sample1.wsdl -- EmailToHomeService www.test.com/sample2.wsdl -- EmailToMobile www.test.com/sample3.wsdl”

  9. 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)

  10. 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.1.1. External Links (Contain pointers to technical description of services. These external links reference wsdl files)

  11. 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/registry/thin/browser.jsp (If this URL changes we will let you know)

  12. 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

  13. 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 == A1 or A2 or …) then { mail-to:B@sample.com (Message::String); R=OK; } elseif (A==A3 or . . . ) { mail-to:B2@another.com(Message); R= OK } elseif . . . . . . . . . . . . else R=FAIL

  14. Extended User Agent

  15. Wrapper User Agent Wrapper refToWrapper:Wrapper refToUserAgent: UserAgent 1 IsWrapedBy Wraps 1

  16. 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.

  17. Gantt Diagrams

  18. 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 3.2.2 • Use Case diagrams for scenaria 3.2.2, 3.1.2 • Specification Level Collaboration Diagrams for scenaria 3.2.1, 3.2.2 • Sequencing Diagrams for scenaria 3.2.2, 3.1.3

  19. 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

More Related