E
eric.lloyd
Hi all,
I'm new to web services programming, and I'm having trouble getting my
head around a few conceptual ideas about web services. I'm in a
graduate class right now where our project needs to use web services
to create a distributed system. We're using Axis2 and jUDDI for
development.
In terms of distributed systems, I am a CORBA programmer, and so when
I'm given a problem, my mind immediately goes to how I would implement
it in CORBA. Web services seem similar (the WSDL is like an IDL, an
jUDDI is like the CORBA naming service, etc) but I'm having difficulty
figuring out how to instantiate two (or more) web services that
implement the same interface.
From the simple 'hello, world' web services I've done, I have created
a java class, compiled it, packaged it into a .aar, and deployed tye
aar using Axis2 on Tomcat, my application server (which somehow
creates the WSDL file - I'm not exactly sure how that happens either).
From there, it's simple to write a client to connect to the web
service, which seems to always be running in the application server.
Now, for the system I'm working on, we need to have multiple
'instances' of a service. For example (note this isn't the actual
project assignment), say there is a 'GPS_Service' web service with a
simple interface with two methods: getLocation(), and
setLocation(point p). In my 'application', I want to deploy 15
'instances' of GPS_Service, and set and view their location
independently.
Here's where my lack of knowledge hurts. From my point of view, I
would need 15 different java classes (i.e. GPS_Service0, GPS_Service1,
etc) and 15 different .aar files. Each .aar file would go into the
application server, and I would access each service at a different web
address.
In CORBA, this is much easier. Classes implement a CORBA interface,
and your 'main' method can instantiate as many 'GPS_Service' objects
as it wants. This seems to be because CORBA doesn't have an
'application' server where the object is always running.
Does anyone have any suggestions for me, or does anyone have an
example of what I'm trying to do?
Thanks,
Eric
I'm new to web services programming, and I'm having trouble getting my
head around a few conceptual ideas about web services. I'm in a
graduate class right now where our project needs to use web services
to create a distributed system. We're using Axis2 and jUDDI for
development.
In terms of distributed systems, I am a CORBA programmer, and so when
I'm given a problem, my mind immediately goes to how I would implement
it in CORBA. Web services seem similar (the WSDL is like an IDL, an
jUDDI is like the CORBA naming service, etc) but I'm having difficulty
figuring out how to instantiate two (or more) web services that
implement the same interface.
From the simple 'hello, world' web services I've done, I have created
a java class, compiled it, packaged it into a .aar, and deployed tye
aar using Axis2 on Tomcat, my application server (which somehow
creates the WSDL file - I'm not exactly sure how that happens either).
From there, it's simple to write a client to connect to the web
service, which seems to always be running in the application server.
Now, for the system I'm working on, we need to have multiple
'instances' of a service. For example (note this isn't the actual
project assignment), say there is a 'GPS_Service' web service with a
simple interface with two methods: getLocation(), and
setLocation(point p). In my 'application', I want to deploy 15
'instances' of GPS_Service, and set and view their location
independently.
Here's where my lack of knowledge hurts. From my point of view, I
would need 15 different java classes (i.e. GPS_Service0, GPS_Service1,
etc) and 15 different .aar files. Each .aar file would go into the
application server, and I would access each service at a different web
address.
In CORBA, this is much easier. Classes implement a CORBA interface,
and your 'main' method can instantiate as many 'GPS_Service' objects
as it wants. This seems to be because CORBA doesn't have an
'application' server where the object is always running.
Does anyone have any suggestions for me, or does anyone have an
example of what I'm trying to do?
Thanks,
Eric