+ All Categories
Home > Documents > ECE 355 Project Pointers

ECE 355 Project Pointers

Date post: 08-Jan-2016
Category:
Upload: velvet
View: 32 times
Download: 1 times
Share this document with a friend
Description:
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 - PowerPoint PPT Presentation
19
ECE 355 ECE 355 Project Pointers Project Pointers In-Class Presentation In-Class Presentation K. Kontogiannis K. Kontogiannis
Transcript
Page 1: ECE 355  Project Pointers

ECE 355 ECE 355 Project PointersProject Pointers

In-Class PresentationIn-Class Presentation

K. KontogiannisK. Kontogiannis

Page 2: ECE 355  Project Pointers

Project ObjectivesProject Objectives

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

Gain experience with integrating different Gain experience with integrating different technologies and components to produce a technologies and components to produce a working systemworking system

Apply material taught in class to a realistic Apply material taught in class to a realistic project project

Page 3: ECE 355  Project Pointers

SIP Operational ProfileSIP Operational Profile(User Agent Registration)(User Agent Registration)

Page 4: ECE 355  Project Pointers

SIP Operational ProfileSIP Operational Profile(Normal Scenario)(Normal Scenario)

Page 5: ECE 355  Project Pointers

Extended SIP Operational Profile - 1Extended SIP Operational Profile - 1

2.1 The Location Server checks whether Agent B sip:[email protected] has registered any Web service.

2.2. Assuming the result from the Service Registryis NULL, then the operation proceedswith the Location Server returning the IPaddress of sip::[email protected] and the protocolcontinues as if placing a normal call.

Page 6: ECE 355  Project Pointers

Extended Operational Profile -2Extended Operational Profile -2

SIP AgentWrapper

WebService

1. Invite B

Client Agent A ClientAgent B

2. Locate B

2.1 Obtain ServiceHandlers for B

2.2 Return ServiceHandlers for B

3. Forward Service Handlersfor Agent B to Proxy Server

4. DECLINE message for calling B and forward Service Handlers of Agent B to Agent A (caller)to Agent A

8. Wrapper forwardsservice invocationresult status to Agent A

6. Wrapper callsWeb Service using the SOAP protocol and WSIF/JAXRPClibraries

7. Service returnsInvocation result status

Service Repository

Proxy Server

Location Server

5. Agent forwardsService handlerInfo to Wrapper

Step 4.

/* Obtain services and service bindings */

msg = build-message-to-proxy(result);send-message-to-agent(agent, msg);}........

Step 3

result = Query-Service-Registry(agent); If result == NULL then find-agent-location-IP(agent)else { forward-handlers-to-proxy(result)

Page 7: ECE 355  Project Pointers

Processing DetailsProcessing Details

Location Server issues request to obtain service handlers using Location Server issues request to obtain service handlers using JAX-RJAX-R

Location server obtains result and sends it to the Proxy server Location server obtains result and sends it to the Proxy server (either IP or service handler)(either IP or service handler)

Proxy server examines reply and forms the appropriate message Proxy server examines reply and forms the appropriate message and actionand action

User agent selects appropriate service and handler and passes User agent selects appropriate service and handler and passes User Agent credentials and selected service handler (.wsdl file User Agent credentials and selected service handler (.wsdl file location) to Wrapper. One Wrapper per User Agentlocation) to Wrapper. One Wrapper per User Agent

Wrapper calls service using JAX-RPC or WSIFWrapper calls service using JAX-RPC or WSIF

Wrapper notifies User Agent for completion Wrapper notifies User Agent for completion

Page 8: ECE 355  Project Pointers

MessagesMessages

Check RFC 3261 for SIP message formatCheck RFC 3261 for SIP message format

In a nutshell the format is: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”

Page 9: ECE 355  Project Pointers

Major Project ComponentsMajor Project Components

JAIN-SIP JAIN-SIP – Registration ServerRegistration Server– Location ServerLocation Server– Proxy ServerProxy Server

SIP CommunicatorSIP CommunicatorWSDPWSDP– Service Registry (uses Tomcat for WSDP or Suns Service Registry (uses Tomcat for WSDP or Suns

App Server)App Server)– JAX-RJAX-R– JAXRPCJAXRPC

WSIF (alternative to JAX-RPC)WSIF (alternative to JAX-RPC)

Page 10: ECE 355  Project Pointers

Service RegistryService Registry

1.1. Organization Organization (Business Entity – Your own (Business Entity – Your own group)group)

1.1.1.1. Services Services (Business Services. Contain descriptions (Business Services. Contain descriptions of services, contact names etc.)of services, contact names etc.)

1.1.1.1.1.1. Service Bindings Service Bindings (Binding Template. Contain technical (Binding Template. Contain technical information about a service, and references to t-Models)information about a service, and references to t-Models)

1.1.1.1.1.1.1.1. External Links External Links (Contain pointers to technical description (Contain pointers to technical description of services. These external links reference wsdl files)of services. These external links reference wsdl files)

Page 11: ECE 355  Project Pointers

Service RegistryService Registry

You can install you own (as part of the You can install you own (as part of the WSDP). You will need Sun’s App Server.WSDP). You will need Sun’s App Server.You can use the public one set for this You can use the public one set for this project at:project at:

http://www.ece.uwaterloo.ca:8080/soar/regihttp://www.ece.uwaterloo.ca:8080/soar/registry/thin/browser.jspstry/thin/browser.jsp

(If this URL changes we will let you know)(If this URL changes we will let you know)

Page 12: ECE 355  Project Pointers

Registering ServicesRegistering Services

The idea is for you to modify the The idea is for you to modify the “template” service we will give to you and “template” service we will give to you and crate “variants”crate “variants”

You can register the new services using You can register the new services using the Registry UI (see URL) or by creating a the Registry UI (see URL) or by creating a Java client program (see examples) using Java client program (see examples) using JAX-RJAX-R

Page 13: ECE 355  Project Pointers

Service TemplateService TemplateService: Service: S::Selective e-mail ServiceS::Selective e-mail ServiceInput: A::Agent /*Calling Agent */Input: A::Agent /*Calling Agent */ Message::StringMessage::StringLocal Variables: B::Agent /*Service Owner – Called Agent)Local Variables: B::Agent /*Service Owner – Called Agent)Output: R::Result statusOutput: R::Result status

/* Operational template *//* Operational template */if (if (A == A1 or A2 orA == A1 or A2 or …) then …) then {{ mail-to:[email protected] (Message::String);mail-to:[email protected] (Message::String); R=OK;R=OK; }}elseif (elseif (A==A3 orA==A3 or . . . ) . . . ) {{ mail-to:[email protected](Message);mail-to:[email protected](Message); R= OKR= OK }}elseif . . . . elseif . . . . . . . . . . . .. . . . . . . .else R=FAILelse R=FAIL

Page 14: ECE 355  Project Pointers

Extended User AgentExtended User Agent

Page 15: ECE 355  Project Pointers

WrapperWrapper

1 IsWrapedBy Wraps 1

User Agent Wrapper

refToWrapper:Wrapper refToUserAgent: UserAgent

Page 16: ECE 355  Project Pointers

Summary of TasksSummary of TasksTo familiarize with the code (JAIN-SIP, SIP-Communicator) and the structure of the To familiarize with the code (JAIN-SIP, SIP-Communicator) and the structure of the Service Registry entriesService Registry entries

To modify the Location server to be able to query the service registry (sample code to 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 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 processingservices or NULL to the Proxy for further processing

To modify the proxy server to be able to accept service descriptions from the registry To modify the proxy server to be able to accept service descriptions from the registry and to compose MESSAGE BODY stringsand to compose MESSAGE BODY strings

To modify the Client Agent to reference a Wrapper. The code for the new Client To modify the Client Agent to reference a Wrapper. The code for the new Client Agent (SIP-communicator) UI will be given to youAgent (SIP-communicator) UI will be given to you

To create a Wrapper class that references the Client Agent. This Wrapper class 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 should use the WSIF or the JAAX-RPC API to invoke the Web Service that has been selected using the Client Agent UIselected using the Client Agent UI

To modify the template service and the wsdl specification file that will be given to you 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.to create variant Web Services to use in your system.

Page 17: ECE 355  Project Pointers

Gantt DiagramsGantt Diagrams

Page 18: ECE 355  Project Pointers

Deliverables for SRSDeliverables for SRS

Use the SRS template document. If there is information Use the SRS template document. If there is information not specified in the project description make an not specified in the project description make an reasonable assumption (pertains more to NFRs)reasonable assumption (pertains more to NFRs)

Use Case Description for scenaria Use Case Description for scenaria 3.2.23.2.2Use Case diagrams for scenaria Use Case diagrams for scenaria 3.2.2, 3.1.23.2.2, 3.1.2Specification Level Collaboration Specification Level Collaboration Diagrams for scenariaDiagrams for scenaria 3.2.1, 3.2.23.2.1, 3.2.2Sequencing Diagrams for scenariaSequencing Diagrams for scenaria

3.2.2, 3.1.33.2.2, 3.1.3

Page 19: ECE 355  Project Pointers

Available ResourcesAvailable ResourcesThe SIP Communicator and the JAIN SIP Proxy / Location / Registration Servers. 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 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 The Service registry is part of the WSDP toolkit that you can also download and install it on your home PCs. your home PCs.

The JAXR libraries for querying the service registry and sample Java client code to query 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 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.jsphttp://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 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 on the calling Agent, and you can customize it to create several similar services to be posted on the Registryposted on the Registry

The extended SIP Client interface and the code to select a service from a list of services to 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 servicepass to the wrapper for invoking the service

The Web Services Invocation Framework WSIF and JAXRPC will be provided in the form 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 of libraries. Sample Java code to use for invoking a Web service will be provided for your reference to help you during the implementation stagereference to help you during the implementation stage


Recommended