Title: MobileMAN Project Web Service in Ad Hoc Network
1MobileMAN ProjectWeb Service in Ad Hoc Network
- Veronica Vanni
- NETikos S.p.A.
2Summary
- Web Service definition
-
- Web Service in Ad Hoc Network
-
- Interaction between middleware and our
application - Interfaces users and providers
-
- Databases description used in the application
3Web 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..
4Web 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
5Web Service Scenario cont.
Service Provider
Interactions SOAP
Data XML
Communication HTTP
Publish UDDI
Bind SOAP
Service Broker
Service User
UDDI/WSDL Find
6Use of Web Service
When a local server would invocate methods that a
remote server exported them
SOAP Request
Remote server
Gateway
SOAP Response
Exports the methods of a object (i. e.
SaveService)
Calls the remote methods (i. e. SaveService)
7Use of Web Service
MobileMAN
Gateway UDDI
SOAP Request
Remote server
SOAP Response
- POST /CurrencyServer/CurrencyExchange.asmx
HTTP/1.1 - Host theseus
- Content-Type text/xml charsetutf-8
- Content-Length length
- SOAPAction
- http//mobileman.netikos.com/Publishing/SaveSarv
ice - lt?xml version"1.0" encoding"utf-8"?gt
- ltsoapEnvelope
- xmlnsxsihttp//www.w3.org/2001/XMLSchema-insta
nce - xmlnsxsdhttp//www.w3.org/2001/XMLSchema
- xmlnssoaphttp//schemas.xmlsoap.org/soap/envel
opegt - ltsoapBodygt
- ltSaveService
- xmlnshttp//mobileman.netikos.com/Publishinggt
- ..
- lt/ SaveService gt
- lt/soapBodygt
- lt/soapEnvelopegt
HTTP/1.1 200 OK Content-Type text/xml
charsetutf-8 Content-Length length lt?xml
version"1.0" encoding"utf-8"?gt ltsoapEnvelope
xmlnsxsihttp//www.w3.org/2001/XMLSchema-insta
nce xmlnsxsdhttp//www.w3.org/2001/XMLSchema
xmlnssoaphttp//schemas.xmlsoap.org/soap/en
velopegt ltsoapBodygt ltSaveServiceResponse
xmlnshttp//mobileman.netikos.com/Publishinggt
.. lt/EuroResponsegt lt/soapBodygt lt/soapEnvel
opegt
8Web 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 Cross-ROAD protocol
9Web Service in Ad Hoc network cont
API publishing
API inquiry
10Interaction between middleware and
applicationPossible Architectures
Legacy Architecture
MobileMAN Architecture
- WS application can exchange information with
other protocol through NeSt. - It can exploit CROSS-ROAD advantages simply
implementing the P2P common API
- With this same interface (P2P common API) WS can
interactive with Pastry on a classical legacy
architecture
11Interaction between middleware and application
- 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) - theres a redundancy of contents, but its
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)
node set
12Interfaces user and publishers
Application level
Interface publisher
Interface user
UDDI database
Middleware level
13API 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)
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
14Relational database model
tModelIdentifierBagNameDescriptionOverviewDoc
Business_Entity businessKeyNameDescription
1..n
- 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
1..1
1..1
0..n
tModel_DescrIdentifierBagClass_idCategory_id K
ind_id
1..1
Business_ServiceserviceKeybusinessKey Identifie
rBagNameDescription
1..n
Classclass_idName
1..1
1..1
Binding_TemplatebindingKeyserviceKeyDescriptio
nType_AP AccessPoint
Categorycategory_idName
Kindkind_idName
15Database model
Business_Entity Business_Entity Business_Entity
BusinessKey Name Description
BE200403161132 NETikos
Business_Service Business_Service Business_Service Business_Service
ServiceKey (PK) Businesskey Name Description
BS200403161140 BE200403161132 Content Sharing
BS200403161137 BE200403161132 Video/Conferencing
BS200403161212 BE200403161132 Chat
BindingTemplate BindingTemplate BindingTemplate BindingTemplate BindingTemplate
BindingKey ServiceKey Description Type_AP AccessPoint
BT200403161140 BS200403161140 .. HTTP http// mobileman.netikos.com/cgi- bin/SoapServer/content.cgi
16Database model cont.
tModel tModel tModel tModel
IdentifierBag Name Description OverviewDoc
TM200403161140 Content Sharing ..
Class Class
Class_id Name
2 ENTERTAINMENT
TModel_Descr TModel_Descr TModel_Descr TModel_Descr
IdentifierBag Class_id Category_id Kind_id
TM200403161140 2 4 1
TM200403161140 2 4 2
TM200403161140 2 4 3
Category Category
Category_id Name
4 Music
Kind Kind
Kind_id Name
1 POP
2 ROCK
3 CLASSIC
17Developments state
- The state of applications 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 middlewares
interface (P2P commonAPI) - The choice of perl language is been made because
its faster than use of java so its more useful
on small platforms
18Planning 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