Mr. Goundalkar:
Your three questions deserve (at least 3) answers:
1) Basic requirements of creating/developing a simple web service:
- This depends on your starting point. Many organizations already have their business processes in some automated form. The use of Web services in this case is to expose one or more operations from these business processes in a form invocable over the Internet. Currently, use of SOAP is quite popular as the mechanism to send messages over HTTP. We will see moving forward that in many cases (particularly document centric messaging) that simple post of an XML payload using HTTP will be sufficient. SOAP has benefits in an RPC-centric model, but it is not clear that this will be the prodminant model within the next 12-18 months.
If you are building the business logic from the ground up, you will need to choose an implementation technology (I recommend J2EE)and then expose the EJB as a Web service.
net/net: to get started, you need a the business logic implemented in some programming language, and you need some sort of SOAP middleware (I recommend Apache Software Foundation's Axis project).
Once you get your feet wet with this, you can then move up the stack (make the Web service secure, describe it using WSDL, publish it in a UDDI registry). Walk first, then run. Happily there is plenty of tooling available to help out.
2) How is a Web service different from RMI, CORBA, etc.
Web services have in common with RMI and CORBA the fact that they are all distributed computing technologies. Web service differs in a couple of very important points.
a) intent: Web services is the first distributed computing technology to marry RPC-centric and messaging (document centric) models. RMI and CORBA are unapologetically RPC. Prediction: the business world will move to document-centric model within 12-18 months.
b) granularity: this is somewhat associated with (a). Web services, when done right, encourages much more coarse grained, less brittle APIs than RMI and/or CORBA.
c) Web services is NOT distributed objects. You will not see notions of distributed garbage collection, etc. with Web services. This is incredibly simplifying, and forces developers to abandon the false-promise of local/remote transparency.
d) XML. Don't underestimate the power of XML. It is readable, simple, flexible and is the underlying power source for the Web services approach.
3) What are the new technologies?
Happily, your Java skills will still be very important. Web services is an access technology, not an implementation technology. The logic still needs to exist in program form. Keep using Java, it is a good language for implementing logic in a portable, object-oriented fashion.
The tooling support makes it possible to do Web services without learning any new technologies (just use the tools and you are done). The downside is that the current state of the tooling art is quite primitive. However, there is a lot of vendors doing a lot of really good work in this space.
If you are really motivated to learn what is under the covers, here are some technologies that are a starting point:
a) SOAP. The base messaging mechanism. Check out Apache Axis (www.xml.apache.org/axis (
http://xml.apache.org/axis/index.html)
b) WSDL. This is the base IDL for Web services. It is a little strange, but easy to get used to. The best way to learn WSDL is to review the spec (www.w3.org/TR/wsdl) as well as stare at some WSDL examples (www.salcentral.com).
c) UDDI. This is a registry API for Web services. Check this out at
www.uddi.org. Get a) and b) down solid before moving to c).
Of course, there are rich resources for Web services on the web. I personally recommend
www.ibm.com/developerworks/webservices. good luck
sgg
Originally posted by L Goundalkar:
Hi All,
Can anyone tell me what are the basic requirements of creating or developing a simple web service.
How a web service is different from RMI, CORBA and so on.
Being a Java developer what are the new technologies I have to learn to start a new ride in Web services.
TIA
------------------
sgg