|
Service Discovery Using UDDI
Now that you've seen how WSDL is used to define a Web service(s), it's time to see how to publish them into a registry. The consumer can then query the registry to discover the required Web services and can make use of them. Universal Description, Discovery and Integration, or UDDI, defines a standard interface based on SOAP for publishing and discovering services. UDDI implements a service registry. This registry acts as a bridge between the consumer and the provider of a Web service.
UDDI specification provides core XML data structures to describe a service and the business it is related to. They are:
- Business Entity: Provides information about a business such as location, etc.
- Business Service: Describes different services that the business offers. One business entity might have more than one business services.
- Binding Template: Defines how those services can be accessed. For example, a typical service can be accessed over telephone or online via a Web service.
- tModel: Used to categorize and identify the service type.
For a more detailed discussion on UDDI, please follow www.uddi.org.
Mapping to the Basics of SOA
Part 2 of this series described the salient characteristics of service-oriented architecture. Now, we'll map Web Services into those features.
- Technology Independence: WSDL provides a completely technology-neutral way of defining Web services and UDDI provides a technology-neutral way of discovering and using these services. The only binding that happens happens to an implementation language of choice, such as Java. This is language dependence but not technology dependence. For instance, Listing 1's
CreditCardServiceImpl does not tell whether the underlying implementation is POJO, or EJB-based, or in Visual Basic, or .NET. Who cares?
- Life-cycle Independence: As long as the interfaces defined within WSDL remain the same, the underlying implementation of the defined services can changeindependent of the consumer of these services without needing the consumers to change any of the access code. The same applies to the consumer technology change: the provider remains unaffected by any technology change on the part of the consumer.
- Loose Coupling: Both the consumer and provider components can be specified independent of each other. This promotes loose-coupling.
- Communication Protocol: Web service advocates uses of SOAP as a standard protocol to invoke the interfaces defined within the service implementation.
Long Live SOA
In this series, you've been asked to look at service-oriented architecture from a slightly different point of viewexamining how sound, component-based development (CBD) can be a big step forward towards SOA. In the last part of the series, you've explored one of the most commonly used implementations of SOAWeb services. The example helped map different concepts of Web services to the features of SOA.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|