MobileMAN Project Web Service Location in Ad Hoc Network

Download Report

Transcript MobileMAN Project Web Service Location in Ad Hoc Network

MobileMAN Project
Web Service in Ad Hoc Network
Veronica Vanni
NETikos S.p.A.
Cambridge, March 23rd 2004
MobileMAN Project
Summary
• Web Service definition
• Web Service in Ad Hoc Network
• Interaction between middleware and our
application
• Interfaces users and providers
• Database’s description used in the application
Cambridge, March 23rd 2004
MobileMAN Project
Web Services
WS are services to build distributed applications, to use methods and
properties of objects installed on other server:
• Each information system can publish contents through WS
• Each information system can use contents published from other publisher
• Use of UDDI (Universal Description Discovery and Integration) to define a
way to publish and discover information about Web Services
• Use of SOAP (Simple Object Access Protocol) to access to remote services,
defines a simple way to package information to exchange across systems.
SOAP bindings to HTTP defines a way to make remote procedure calls
between systems. based on XML, a neutral language to several devices
• WSDL (Web Service Description Language), in XML format, that
describes the content in terms of methods, parameters, types and etc..
Cambridge, March 23rd 2004
MobileMAN Project
Web Service Scenario
• The provider of services creates the service and its
WSDL description
• The provider publishes its service in UDDI
• The user finds the services trying UDDI register
• The application connects to Web Services and calls its
operation via SOAP
Cambridge, March 23rd 2004
MobileMAN Project
Web Service Scenario [cont.]
Interactions:
Data:
SOAP
Service
Provider
XML
Communication:
HTTP
Service
Broker
Cambridge, March 23rd 2004
UDDI/WSDL
Find
Service
User
MobileMAN Project
Web Service in Ad Hoc network
In Ad Hoc Network, we take care of the features of this type
of network:
• No client-server application, but peer-to-peer communications
• Each node has an client side and server side
• Distributed database that stores information relative on
available services presented on the network
• Database is distributed on the nodes using Pastry or CrossROAD protocol
Cambridge, March 23rd 2004
MobileMAN Project
Web Service in Ad Hoc network [cont]
UDDI-m
UDDI-m
UDDI
Client
UDDI
Client
UDDI
Server
UDDI
Server
API publishing
API inquiry
UDDI-m
UDDI-m
UDDI
Client
UDDI
Server
Cambridge, March 23rd 2004
UDDI
Client
UDDI
Server
MobileMAN Project
Interaction between middleware and application
Possible Architectures
MobileMAN Architecture
Legacy Architecture
Applications WSL
Middleware-CROSS-ROAD
Middleware-Pastry
Transport
Transport
Network
Network
MAC + Physical
MAC + Physical
Network
Status
Applications WSL
• WS application can exchange information
with other protocol through NeSt.
• It can exploit CROSS-ROAD advantages
simply implementing the P2P common API
Cambridge, March 23rd 2004
• With this same interface (P2P
common API) WS can interactive with
Pastry on a classical legacy architecture
MobileMAN Project
Interaction between middleware and application
node set
New node entries in the network:
• activates the pastry or CROSS-ROAD service
• obtains the nodeId and the node set that
participate to UDDI service
• if the new node should publish some contents
then publishes its contents on this node set (use
UDDI API publishing)
• there’s a redundancy of contents, but it’s
necessary considering the mobility and dynamic
of the Ad Hoc Network
• updates network imply calls to P2P common
API to update the information relative to Ad hoc
network topology (i.e. new node entries in the
network, node leaves the network)
Cambridge, March 23rd 2004
New node
MobileMAN Project
Interfaces user and publishers
Application level
Interface publisher
Interface user
UDDI API
publishing
UDDI API
inquiry
P2P
commonAPI
P2P
commonAPI
UDDI
database
Middleware level
Cambridge, March 23rd 2004
MobileMAN Project
API publishing/inquiry
API publishing
void SaveBusiness (key KE)
void SaveService (key KS)
void SaveBinding (key KB)
void SavetModel (key KtM)
void DeleteBusiness (key KE)
void DeleteService (key KS)
void DeleteBinding (key KB)
void DeletetModel (key KtM)
API inquiry
void FindBusiness (key KE, method_search ms)
void FindService (key KS, method_search ms)
void FindBinding (key KB)
void FindtModel (key KtM)
Cambridge, March 23rd 2004
You can find business entity
or service for:
Key, if the key is known
Keyword, if you want search
for keyword
All, if you know all publisher
or services contained in the
network
MobileMAN Project
Relational database model
tModel
Business_Entity
1..n
businessKey
Name
Description
IdentifierBag
Name
Description
OverviewDoc
1..1
0..n
1..1
tModel_Descr
1..1
IdentifierBag
Class_id
Category_id
Kind_id
Business_Service
serviceKey
businessKey
IdentifierBag
Name
Description
1..n
Class
1..1
1..1
Binding_Template
bindingKey
serviceKey
Description
Type_AP
AccessPoint
Cambridge, March 23rd 2004
class_id
Name
Category
Database is in keeping with UDDI
standard:
• Business_Entity describes the
publishers;
• Business_Services describes the
services published from publishers in the
network
• Binding_Template describes the
services in technical features
• tModel and tModel_Descr are template
service
category_id
Name
Kind
kind_id
Name
MobileMAN Project
Database model
Business_Entity
BusinessKey
BE200403161132
Name
Description
NETikos
……
Business_Service
ServiceKey (PK)
Businesskey
Name
Description
BS200403161140
BE200403161132
Content Sharing
……
BS200403161137
BE200403161132
Video/Conferencing
……
BS200403161212
BE200403161132
Chat
……
BindingTemplate
BindingKey
BT200403161140
Cambridge, March 23rd 2004
ServiceKey
BS200403161140
Description
…..
Type_AP
AccessPoint
HTTP
http://
mobileman.netikos.com/cgibin/SoapServer/content.cgi
MobileMAN Project
Database model [cont.]
tModel
Class
IdentifierBag
TM200403161140
Name
Description
OverviewDoc
Content Sharing
…..
……
Class_id
Name
2
ENTERTAINMENT
TModel_Descr
IdentifierBag
Class_id
Category_id
Kind_id
TM200403161140
2
4
1
TM200403161140
2
4
2
TM200403161140
2
4
3
Category
Category_id
4
Name
Music
Kind
Kind_id
Cambridge, March 23rd 2004
Name
1
POP
2
ROCK
3
CLASSIC
MobileMAN Project
Development’s state
The state of application’s development is:
• The API publishing/inquiry are developed in perl language
• MySQL database is used to realize the UDDI database
• The API publishing/inquiry will be ported in java language in
order to optimize middleware’s interface (P2P commonAPI)
• The choice of perl language is been made because it’s faster
than use of java so it’s more useful on small platforms
Cambridge, March 23rd 2004
MobileMAN Project
Planning steps
The next steps :
• porting of the API publishing/inquiry in java language (July
2004)
• integration between WS application and middleware in java
(July 2004)
• application demo on local computer (maybe July 2004)
• application demo on Ad Hoc Network using laptop (end of
September 2004)
• application demo on Ad Hoc Network using PDA
Cambridge, March 23rd 2004
MobileMAN Project