|
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Industry Commentary Service-Oriented Architectures
Service-Oriented Architectures
By: Graham Glass
Jan. 25, 2002 12:00 AM
While the short-term payoff of Web services technologies like SOAP and WSDL is faster, cheaper, simpler integration, I believe the long-term benefits will be more profound. Specifically, I think that Web services will catalyze a trend toward service-oriented architectures in which enterprises view their systems as an orchestrated web of services that extend beyond their firewalls into the systems of their partners and their customers. As I'll explain shortly, service-oriented architectures will require a new kind of distributed computing platform - in a sense, an operating system for Web services - that provides features like clustering, load balancing, fault tolerance, replication, and security in a way that is independent of the services themselves. Until recently, the conventional wisdom was that an enterprise should strive toward an architecture based on a server-side component model such as CORBA, EJB, or DCOM. However, it's rare to find an organization where this is feasible. Different departments often prefer one technology to another, and even after bloody political wars in which one side finally dominates, it only takes a merger or acquisition to start the whole process over again. The good news is that Web services standards provide a common denominator for describing, advertising, and invoking services, thereby allowing enterprises to move toward a unifying service-oriented architecture that accommodates a wide spectrum of existing and future software technologies. The fundamental principle behind service-oriented architectures is that every part of the software system is designed and implemented as a Web service, described using WSDL, and invoked using SOAP. Low-level services are orchestrated by higher-level services, and are typically located dynamically using a Web services broker to avoid hard wiring service locations into an application. Because WSDL and SOAP are universal standards supported by every software vendor, the implementation of individual services can be changed over time without any impact on the systems architecture. For example, a specific Web service could be initially implemented using Perl and then replaced by its .NET equivalent, and the architecture would remain the same. Deployment of large-scale systems based on Web services requires a superset of the distributed computing technologies already found in application servers, including brokering, load balancing, clustering, and fault tolerance. And, more important, they must be implemented in a way that is independent of the Web services themselves. For example, if a Web service written in Perl unexpectedly goes offline, the system should be able to transparently fail over to a compatible service written in C# or Java. On the surface, building a über-platform for service-oriented computing seems straightforward. Services can be expressed using WSDL and advertised using a federated version of UDDI. When a service is required, a UDDI request for a particular WSDL pattern is made and a service is selected from the matches that are returned. If a failure occurs, the system performs an automatic rebind by repeating the same procedure. However, numerous challenges have to be faced, such as how to unify the various standards for security and transactions, as well as how to provide developer APIs that hide the complexity of the underlying infrastructure. Numerous projects are underway to implement a platform that supports service-oriented architectures. Sun's Jini was an early version of a service-oriented platform, but oriented around Java instead of Web services. In addition, its JXTA project is investigating P2P technologies that could be used to support a large-scale services platform. Talking Blocks is a startup company that's working on an operating system for Web services, and my own company, The Mind Electric, is working on a platform called GAIA (an ancient term for a spirit that covers a planet). Other projects in the works will undoubtedly surface over the coming year. I'm very interested to see how these new technologies affect the future of application servers. Since technologies for service-oriented architectures are a superset of those used within local clusters, they may replace the bulk of the proprietary infrastructure hosted within app servers. A similar thing occurred during the introduction of modern power stations, when much of the complexity of power generation moved from individual businesses to the power grid. The realization of a platform for service-oriented computing is close at hand, and it's a tribute to the power of Web services. Reader Feedback: Page 1 of 1
Latest Cloud Developer Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week
Breaking Cloud Computing News
|
|||||||||||||||||||||||||||||||||||||||||||||||||