HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML
 

Web Services: The Next Big Thing, by Jack Martin

If you search under Web services in Yahoo! the results include religious supplies and services, translation services, adult entertainment, and Internet services; however, that's all about to change. Web services are going to be the next great thing.

Web services are a new model for creating dynamic distributed applications with common interfaces for efficient communication across the Internet. They're built around ubiquitous, open standards such as TCP/IP, HTTP, Java, HTML, and XML, as well as newer standard technologies such as Simple Object Access Protocol (SOAP), Web Services Description Language (WSDL), and Universal Description, Discovery and Integration (UDDI).

UDDI is a specification of Web services' information registries. Web services are discovered through a UDDI-based registry, which is distributed across the Web. In that distributed registry, businesses and services are described in a common XML format. The structured data in these XML documents is easily searched, analyzed, and manipulated.

Web services are self-contained, self-describing modular applications that can be published, located, and invoked from anywhere across the Web. Since they communicate with HTTP and XML, any device that supports these technologies can host and access Web services.

Think of Web services as Legos with logic - interlocking blocks that create open distributed systems that allow developers to quickly and cheaply make their products available to businesses and consumers worldwide. They are evolving from an object-oriented paradigm to a service-oriented one.

Web services will move Internet applications toward a service-oriented architecture that can perform functions, from simple requests to complicated business processes. Once a Web service is deployed, other Web services can discover and invoke the deployed service. Web services might process insurance claims or be a purchasing service that orders and replenishes gasoline supplies for service stations when a given inventory level is reached. This frees gas station operators from having to schedule deliveries and, more important, enables oil refiners to accurately match production with demand.

Software developers will be able to publish functions to the Internet that are packaged on a pay-as-you-go plan for a one-time or limited use, or for unlimited use by other programs or as stand-alone offerings. ASPs will aggregate Web services to provide a higher-level set of features. Applications of the future will be built from Web services that are dynamically selected at runtime based on their cost, quality, and availability.

Each Web service component in a service-oriented architecture can play one (or more) of three roles:

  • Service providers publishing the availability of their services
  • Service brokers registering and categorizing published services and providing search services
  • Service requesters using broker services to find a needed service and then employing that service
Service providers can describe themselves; service requesters can describe what they're looking for, determining which requester-provider pairs are a good match.

The interaction between a service provider and a service requester is designed to be completely platform- and language-independent. It requires a WSDL document to define the interface and describe the service, along with a network protocol (usually HTTP).

A WSDL 1.0 document as defined by Ariba, IBM, and Microsoft defines services as collections of network endpoints, and uses the following elements in the definition of network services:

  • Types: A container for data-type definitions using some type system (such as XSD)
  • Message: An abstract-typed definition of the data being communicated
  • Operation: An abstract description of an action supported by the service
  • Port Type: An abstract set of operations supported by one or more endpoints
  • Binding: A concrete protocol and data format specification for a particular port type
  • Port: A single endpoint defined as a combination of a binding and a network address
  • Service: A collection of related endpoints
The power and simplicity of Web services will accelerate innovation in the world of distributed computing.

Author Bio
Jack Martin is president of Simplex Knowledge Company, an Internet software boutique. Simplex developed the first remote video transmission system designed specifically for child care centers, which received worldwide media attention. Simplex is currently designing B2B and B2C Web-based communities.
jac@skc.com

 

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: info@sys-con.com

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.