• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

What Is Web Services?

 
Ranch Hand
Posts: 1309
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I am new.

What is Web Services? How does it differ from XML (Maybe this is a funny question)?
 
Ranch Hand
Posts: 341
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
This is not a funny question. A lot of people still don't get it (may be I am one of them) but here is your answer.

Web Services are services provided over the web. Architecturally speaking it is a way of implementing Service Oriented Architecture SOA). Technically, web services provide a way of invoking "other" applications over the web.

Let me give you a simple example, You are developing an e commerce website to sell items. People use credit cards to buy stuff. Now your core competency is to sell things online, you do not want to have to write software to validate credit cards. So you use a credit card validation service. If I am a credit card validation service provider, I would
[1] Write software application (using any platform and programming language) and expose this application as a service and REGISTER or PUBLISH the service in a registry that maintains a list of credit card validation providers. Think of this registry as yellow pages.
[2] When your application needs to validate a credit card, your application goes to the registry (your application must know how to go to the registry) and asks for credit card validation services. In other words your application will FIND the service it is looking for.
[3] The registry returns an xml document DESCRIBING my service. Your application also gets information on how to connect to my services.
[4] Your application BINDS to the serivice and using the xml document, which describes my services, your application finds out how to invoke my service (what data to supply etc.)
[5] When you INVOKE my service (remember your application could be on any platform written in any programming language), the data yousend me (card number, expiry date etc.) get converted to an xml document. My application understands xml.
[6] My application validates the card and returns results as an xml document.
[7] Your application and my application both understand xml and have tools on both sides to convert data to xml and vice versa. So, when I return results, tools on your side convert xml results to the data in your programming language.

This FIND, BIND and INVOKE paradigm comes from Service Orietnted Architecture (SOA) concepts. It just means that architecture should be designed as services and a client should be able to find them, bind with them and invoke them. This way client does not have to rewrite the serivice someone has already written.

Web services is a way to implement SOA and allow service invocation over the web. JINI is another one. Common examples of web services are Microsoft passport services, stock quote service, credit card validation service etc. Go to http://www.xmethods.net to see more examples of this kind.

If you want to learn about web services I would recommend
[1] Learn what is SOA (chapter 2 of Java Web Services Architecture)
[2] Learn what is web serivces (do a google search on introduction to web services)
[3] Learn what is WS-I (http://www.ws-i.org/) and how industries are supporting open standards
[4] Learn what is SOAP, WSDL and UDDI
[5] Learn how web services are implemented on the platform of your choice (Microsoft, J2EE)
[6] Learn what tools are available that could make your life easier as you develop web service (these tools automate various tasks such as convert data into xml SOAP, convert SOAP to data, generate client code from WSDL etc.).

Hope this helped.
reply
    Bookmark Topic Watch Topic
  • New Topic