You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Supriyo Chatterjea <su...@yahoo.com.sg> on 2002/07/09 18:44:09 UTC

Web services on a wireless adhoc network

Hi,

I'm trying to implement web services on a wireless
adhoc network. I've given a brief overview of the
problem and the tools I'm planning to use and that's
followed by a couple of questions.

Consider a few wireless devices within range of each
other each providing its own service(s). Each device
maintains a sort of registry that keeps track of all
the services that are being offered by all the devices
in the adhoc network at a certain instant, e.g. if a
network consists of devices A, B, C and D, device A's
registry lists the services provided by itself *and*
the services of devices B, C and D.

If a new device E enters the network, a service
discovery algorithm ensures that A, B, C, D and E all
have their own registries updated to indicate the
services offered by all the devices in the adhoc
network.

So basically,

(i) every device acts as a service provider *and* a
service requester (client & server)

(ii) every device has it's own private registry that
lists its own services *and* the services of the other
devices in the network

Another point is that these services aren't exactly
services being offered by businesses. It could apply
to the following scenario, e.g. you receive an email
on your PDA and would like to print it out. However,
there isn't any printer available. Some time later,
you happen to walk into a room where a printer is
available. Your PDA detects the printer and asks you
if you would like to print out your email.

So I'm talking about services like printing,
displaying some output on a screen, etc., not services
offered by businesses. And by the way these devices
are embedded devices.

Now I'm thinking of using Jakarta Tomcat for the web
server and Apache Axis for the SOAP engine.

Do you think that's an ok choice?

Does anyone have any idea how I should go about
implementing the registry? 

I'm thinking of using an open source private UDDI. Do
you think that's suitable? Does anyone know of one
that may be appropriate? I think I can use UDDI4J to
link up to the private UDDI once I have one.

Does anyone have any comments on the model I just
described above? Please feel free to share your views!

Thanks very much!
Supriyo

__________________________________________________
Do You Yahoo!?
Win a DV camera, join our "30 Seconds of Fame" contest   
http://sg.movies.yahoo.com

Re: Web services on a wireless adhoc network

Posted by Miguel A Paraz <mp...@mparaz.com>.
On Wed, Jul 10, 2002 at 12:44:09AM +0800, Supriyo Chatterjea wrote:
> Does anyone have any comments on the model I just
> described above? Please feel free to share your views!

Hi, 
Your case sounds to me more like a peer-to-peer app. (JXTA?)

By "ad-hoc," do you mean that the IP addresses would not be known in advance? 

How will the nodes find each other?  
There would be need to be at least one Tomcat/Axis server which a fixed, known
IP address.


-- 
http://mparaz.com
+63-916-423-7922



Re: Web services on a wireless adhoc network

Posted by Miguel A Paraz <mp...@mparaz.com>.
This intersection of SOAP and P2P sounds interesting to me... this could 
still be part of Axis since it falls under 'Extensible Interaction.'

On Thu, Jul 11, 2002 at 03:55:21PM +0800, Supriyo Chatterjea wrote:
> Any comments on this model? Do you think Xerces2 is
> suitable for an embedded device or are there some
> other more lightweight XML parsers out there which are
> capable of running on Java and both reading and
> writing XML files?

Do you mean J2ME?  Xerces is quite fat for that.  This project has a parser
small enough for J2ME:

  http://www.extreme.indiana.edu/xgws/xsoap/index.html

I haven't tried their SOAP, though.


-- 
http://mparaz.com
+63-916-423-7922



Re: Web services on a wireless adhoc network

Posted by Supriyo Chatterjea <su...@yahoo.com.sg>.
Well I've dropped the idea of using a UDDI sort of
registry to store all the service descriptions, etc.

So this is what I'm thinking of doing now:

1. I'm thinking of using an XML Java parser (Xerces2)
to scan the WSDL file at the service provider and find
the <service> tag. Once I get that, I should be able
to retrieve other stuff like names and port bindings.

2. Next step would be to use the names, port bindings,
a TLL for the service, etc to generate another XML
file that would be something like a registry for that
service provider.

3. Service requesters can access this newly generated
XML file to see what services are available.

Any comments on this model? Do you think Xerces2 is
suitable for an embedded device or are there some
other more lightweight XML parsers out there which are
capable of running on Java and both reading and
writing XML files?

One more question about the service description
format. I'm thinking of having a hierarchical
structure to the service description, for example:

1. Output device
1.1 Printer
1.1.1 Laser Printer
1.1.2 Inkjet printer

1.2 Screen
1.2.1 CRT
1.2.2 LCD

2. Information
2.1 Weather
2.2 Currency Converter

and so on....

So I plan to put this categorisation information in
the WSDL file. Which tag should I put it under? The
<service> tag? How exactly do I go about making such
user-defined definitions?

Thanks,
Supriyo

--- Steve Loughran <st...@iseran.com> wrote:
> 
> makes sense to me.
> 
> What you want is dynamic lan scoped service
> discovery, rather than
> centralised registries for internet scope binding.
> 
> I have been prototyping something to do this in my
> limited spare time; a
> multicast IP based system with
> 
> -a variant of SLP for locating services. It will use
> XML, though at the
> current stage I just serialize a java object
> -an add in to axis that serves up all registered
> soap services on the
> webapp.
> -a client to find services by name
> 
> There is no central registry at all; things just ask
> for all implementations
> of service:foo and get back a list of URLs; if they
> set the time to live of
> the packet they can ask the lan or the site. If you
> ask 5 minutes later, you
> get back a different list.
> 
> I will stick this in the proposal corner of axis in
> a week or two, under the
> name of 'mir': multicast endpoint resolution. I want
> to get up to using XML
> payloads in the datagrams first; serialized objects
> are quick and dirty for
> prototyping but too unstable/unportable.
> 
> -steve
> 
> ----- Original Message -----
> From: "Supriyo Chatterjea"
> <su...@yahoo.com.sg>
> To: <ax...@xml.apache.org>
> Sent: Tuesday, July 09, 2002 9:44 AM
> Subject: Web services on a wireless adhoc network
> 
> 
> > Hi,
> >
> > I'm trying to implement web services on a wireless
> > adhoc network. I've given a brief overview of the
> > problem and the tools I'm planning to use and
> that's
> > followed by a couple of questions.
> >
> > Consider a few wireless devices within range of
> each
> > other each providing its own service(s). Each
> device
> > maintains a sort of registry that keeps track of
> all
> > the services that are being offered by all the
> devices
> > in the adhoc network at a certain instant, e.g. if
> a
> > network consists of devices A, B, C and D, device
> A's
> > registry lists the services provided by itself
> *and*
> > the services of devices B, C and D.
> >
> > If a new device E enters the network, a service
> > discovery algorithm ensures that A, B, C, D and E
> all
> > have their own registries updated to indicate the
> > services offered by all the devices in the adhoc
> > network.
> 
> it is not clear you need to do this; the rate of
> change in a dynamic WLAN
> means that you might as well ask for services on
> demand.
> 
> >
> > So basically,
> >
> > (i) every device acts as a service provider *and*
> a
> > service requester (client & server)
> 
> OK
> 
> >
> > (ii) every device has it's own private registry
> that
> > lists its own services *and* the services of the
> other
> > devices in the network
> 
> not needed
> 
> 
> > Another point is that these services aren't
> exactly
> > services being offered by businesses. It could
> apply
> > to the following scenario, e.g. you receive an
> email
> > on your PDA and would like to print it out.
> However,
> > there isn't any printer available. Some time
> later,
> > you happen to walk into a room where a printer is
> > available. Your PDA detects the printer and asks
> you
> > if you would like to print out your email.
> 
> not a problem.
> 
> 
> > So I'm talking about services like printing,
> > displaying some output on a screen, etc., not
> services
> > offered by businesses. And by the way these
> devices
> > are embedded devices.
> >
> > Now I'm thinking of using Jakarta Tomcat for the
> web
> > server and Apache Axis for the SOAP engine.
> >
> > Do you think that's an ok choice?
> 
> 
> The alternative is Jini, which was designed for this
> kind of thing.
> 
> >
> > Does anyone have any idea how I should go about
> > implementing the registry?
> 
> like I said, what registry? Use multicast or
> broadcast discovery and you
> dont need the central registry
> 
> 


__________________________________________________
Do You Yahoo!?
Win a DV camera, join our "30 Seconds of Fame" contest   
http://sg.movies.yahoo.com

Re: Web services on a wireless adhoc network

Posted by Steve Loughran <st...@iseran.com>.
makes sense to me.

What you want is dynamic lan scoped service discovery, rather than
centralised registries for internet scope binding.

I have been prototyping something to do this in my limited spare time; a
multicast IP based system with

-a variant of SLP for locating services. It will use XML, though at the
current stage I just serialize a java object
-an add in to axis that serves up all registered soap services on the
webapp.
-a client to find services by name

There is no central registry at all; things just ask for all implementations
of service:foo and get back a list of URLs; if they set the time to live of
the packet they can ask the lan or the site. If you ask 5 minutes later, you
get back a different list.

I will stick this in the proposal corner of axis in a week or two, under the
name of 'mir': multicast endpoint resolution. I want to get up to using XML
payloads in the datagrams first; serialized objects are quick and dirty for
prototyping but too unstable/unportable.

-steve

----- Original Message -----
From: "Supriyo Chatterjea" <su...@yahoo.com.sg>
To: <ax...@xml.apache.org>
Sent: Tuesday, July 09, 2002 9:44 AM
Subject: Web services on a wireless adhoc network


> Hi,
>
> I'm trying to implement web services on a wireless
> adhoc network. I've given a brief overview of the
> problem and the tools I'm planning to use and that's
> followed by a couple of questions.
>
> Consider a few wireless devices within range of each
> other each providing its own service(s). Each device
> maintains a sort of registry that keeps track of all
> the services that are being offered by all the devices
> in the adhoc network at a certain instant, e.g. if a
> network consists of devices A, B, C and D, device A's
> registry lists the services provided by itself *and*
> the services of devices B, C and D.
>
> If a new device E enters the network, a service
> discovery algorithm ensures that A, B, C, D and E all
> have their own registries updated to indicate the
> services offered by all the devices in the adhoc
> network.

it is not clear you need to do this; the rate of change in a dynamic WLAN
means that you might as well ask for services on demand.

>
> So basically,
>
> (i) every device acts as a service provider *and* a
> service requester (client & server)

OK

>
> (ii) every device has it's own private registry that
> lists its own services *and* the services of the other
> devices in the network

not needed


> Another point is that these services aren't exactly
> services being offered by businesses. It could apply
> to the following scenario, e.g. you receive an email
> on your PDA and would like to print it out. However,
> there isn't any printer available. Some time later,
> you happen to walk into a room where a printer is
> available. Your PDA detects the printer and asks you
> if you would like to print out your email.

not a problem.


> So I'm talking about services like printing,
> displaying some output on a screen, etc., not services
> offered by businesses. And by the way these devices
> are embedded devices.
>
> Now I'm thinking of using Jakarta Tomcat for the web
> server and Apache Axis for the SOAP engine.
>
> Do you think that's an ok choice?


The alternative is Jini, which was designed for this kind of thing.

>
> Does anyone have any idea how I should go about
> implementing the registry?

like I said, what registry? Use multicast or broadcast discovery and you
dont need the central registry