web-based software development (ice0534) webservices mediator for location sensitive services design...

21
Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation Advisor: Prof. In-Young Ko Project Member: Woo-hyuk Jang Sung-joon Park Jong-ha Jung Jong-uk Lee Enkhbold N. ICU Confidential The information contained in this document is subject to change without notice. ICU makes no warranties either express or implied, in this document. The entire risk of the use or the results of the use of this document remains with the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of ICU. Copyright © 2005 ICU . All right reserved.

Upload: brendan-parker

Post on 23-Dec-2015

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

Web-based Software Development (ICE0534)

WebServices Mediator

for Location Sensitive Services Design & Implementation

August 11, 2005

Term Project Presentation Advisor: Prof. In-Young Ko

Project Member: Woo-hyuk JangSung-joon ParkJong-ha JungJong-uk LeeEnkhbold N.

ICU ConfidentialThe information contained in this document is subject to change without notice.ICU makes no warranties either express or implied, in this document. The entire risk of the use or the results of the use of this document remains with the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of ICU.Copyright © 2005 ICU . All right reserved.

Page 2: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

Contents - Introduction

- Motivation Scenario

- WebServices Mediator

- System Architecture

- Implementation

- Demonstration

- Validation

- Conclusion

- References

Copyright © 2005 ICU. All rights reserved | Confidential

Page 3: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

3

Introduction

Web services & Service Oriented Architecture

‘The Deluge of the Services’

□ Difficult to find and use precise services

The service Integration

□ Service portal, or Service broker

Page 4: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

4

Motivation Scenario: Call-Taxi Service Mr. ICU have to attend Job-Interview.

He decided to use call-taxi because he got up late.

While he waits the called taxi, another taxi quickly passed by

him !

Company for job interview

Call Taxi Company

Another Taxi

Mr.ICU

Page 5: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

5

WebServices Mediator: Location sensitive services

Definition of location sensitive services

□ A service whose primary value is usually came from the location information.

□ A service which can earn more value if it utilizes the location information.

We extended the origin meaning.

□ Taxi, Parcel services etc

We need integrated mediator that can play a service broker roll !!

Location Sensitive Service Mediator

SOAP

SOAP

SOAP

SOAP

FAÇADE

Web service Access Object

Web service Access Object

Web service Access Object

Web service Access Object

WebService Provider

WebService Provider

WebService Provider

WebService Provider

Taxi Service Client

Taxi Service Client

SOAP

SOAP

WebServiceWrapper

WebServiceWrapper

WebServiceWrapper

WebServiceWrapper

Page 6: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

6

Location SensitiveWebServices Suppliers

System ArchitectureW

eb

Serv

ice

s

Clien

t Tie

r

Web

Serv

ices

Bro

ker

Tie

rW

eb

Serv

ices

Pro

vid

er

Tie

r

J2EE S

erv

er

RequestHandlingModule

MediationLogic

Controller

BusinessLogic

Controller

Runtime ClientAny Time, Any Where, Any Device

Page 7: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

7

System Architecture

Response data to clients

Collect data from supplier WebServices

A Passenger access to just the WebServices broker

Calculate the closest position and duration between passenger and vehicle

Information ProviderTaxi List / Position

Page 8: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

8

System Architecture

Expect to be advanced

□ Accessibility

□ Scalability

□ Reusability

□ Flexibility

□ Stability

Page 9: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

9

System Architecture: Class diagram of the service provider

TaxiCompanyIF

getClosestTaxis(loc : Location) : Taxi[]callTaxi(taxi : Taxi) : boolean

Thread(from lang)

Composer

numOfResults : inttimeBound : int

getAvailableTaxis(loc : Location) : Taxi[]getAvailableTaxis(x : int, y : int) : Taxi[]

Location

x : inty : int

estimateMinutes(anotherLoc : Location) : int

Requestor

availability : boolean

request()isAvailable() : booleanRequestor(_taxi : Taxi, _loc : Location)

0..*0..*

TaxiList

numOfTaxis : int

get(index : int) : TaxigetTaxi(id : int) : TaxigetIterator() : Iterator

<<singleton>>

Taxi

unitId : intdriver : StringestimatedMinute : int

cloneTaxi() : Taxi

0..*0..*

TaxiCompanyImpl

getClosestTaxis(loc : Location) : Taxi[]callTaxi(taxi : Taxi) : boolean

0..*0..*

TaxiCaller

calledTaxis : Vector

callTaxi(clientLoc : Location, taxiId : int) : boolean

<<singleton>>

Page 10: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

10

System Architecture: Sequence diagram of the service provider

Page 11: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

11

System Architecture: Class diagram of the service broker

Page 12: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

12

System Architecture: WSDL

Page 13: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

13

WebServices BrokerWebServices BrokerLocation Sensitive ServiceLocation Sensitive Service

Passenger ALocated in Seoul/Sinchon

Any Time, Any Where, Any Device - Internet Access

Taxi Company BTaxi Company BTaxi Company ATaxi Company A

Passenger BLocated in Seoul on the street

Passenger CLocated in Daejun/ICU lab

Passenger DLocated in Daejun station

Location Info

Location InfoSOAPSOAP

Location Info

Location InfoSOAPSOAP

Taxi List &

Taxi List & location Info

location InfoSOAPSOAP

Taxi List &

Taxi List & location Info

location InfoSOAPSOAP

Taxi InfoTaxi InfoSOAP

SOAP

Which taxi will be

Which taxi will be

arrived at the first?

arrived at the first?

Page 14: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

14

Implementation

Taxi Service Provider

□ Business methods

getClosestTaxis(Location) : TaxiUnit[]

callTaxi(Location, int) : boolean

□ Environments: Java 1.4.x, wscompile 1.1.2, J2EE 1.4

□ Successfully implemented and deployed.

Can be check by WSDL on the Web

( http://localhost:8080/taxi-jaxrpc/taxi?WSDL )

Page 15: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

15

Implementation

Taxi Service Broker

□ Same business methods as the providers’

requestTaxiList(Location) : TaxiUnit[]

callTaxi(Location, TaxiUnit) : boolean

□ Invokes every taxi provider when it’s invoked.

□ Deployed as a web service also

WSDL is on

http://localhost:8080/taxibroker-jaxrpc/broker?WSDL

Page 16: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

16

Implementation

Taxi Service Client Small Java program is enough

□ Generated stub by ‘wscompile’ at compile time.□ Simple web service invocation part

import taxibroker.*; // Package of generated stub

. . .

. . .

// generates stub from Web service port

Stub stub = (Stub) (new TaxiBroker_Impl().getTaxiBrokerIFPort());

// Sets received end point address

stub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY, args[0]);

// Changes Stub to Specific Interface

TaxiBrokerIF taxi = (TaxiBrokerIF) stub;

// Invokes Web service

TaxiUnit[] taxis = taxi.requestTaxiList(new MapLocation(20, 20));

Page 17: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

17

Demonstration

GUI Simulation like the small program on the mobile device.

Page 18: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

18

Validation

Several improvements

□ Client stub is simplified.

□ Fault is covered by the broker.

□ Client can take best choice of taxis

□ The changes of services are invisible to the client.

Page 19: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

19

Conclusion

Implementation for general purposed broker

The broker made the communications of the SOA

□ Simple

□ Handy

□ and, Safe

Page 20: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

20

References

[1] Hewlett-Packard Company, Web Services Concepts – A technical overview, 2001

[2] Tony Andrews, Francisco Curbera, Hetesh Dholakia, Yaron Goland, Johannes Klein, Kevin

Liu, Dieter Roller, Doug Smith, Satish Thatte, Ivana Trickovic, and Sanjiva Weerawarana,

Business Process Execution Language for Web Services Version 1.1, 2003

[3] Assaf Arkin, Sid Askary, Scott Fordin, Wolfgang Jekeli, Kohsuke Kawaguchi, David

Orchard, Stefano Pogliani, Karsten Riemer, Susan Struble, Pal Takacsi-Nagy, Ivana

Trickovic, and Sinisa Zimek, Web Service Choreography Interface 1.0, W3C, 2002.

[4] Erich Gamma, Richard Helm, Ralph Johnsom and John Vlissides, Design Patterns –

Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995

[5] Sun Microsystems, Core J2EE Patterns – Data Access Object, Sun Developer Network,

2002, http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html

Page 21: Web-based Software Development (ICE0534) WebServices Mediator for Location Sensitive Services Design & Implementation August 11, 2005 Term Project Presentation

21

Thank you!

Copyright © 2005 ICU SSLab. All rights reserved | Confidential

© 2005 ICU. All rights reserved.© 2005 ICU. All rights reserved.This presentation is for informational purposes only. ICU MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. ICU MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.