|
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Standards Web Services Technologies You Can Use Today
Web Services Technologies You Can Use Today
By: Jim Culbert
Jun. 19, 2002 12:00 AM
Web services hold the promise to revolutionize the way architects build systems and how software is delivered and sold. While the full realization of these advances will take years to play out, most of these benefits are rooted in technologies that are available today. This article will look at what can be achieved today using Web services technologies to prepare yourself to take advantage of Web services as the standards and tools mature. We will discuss five things that you can do to take advantage of Web services core technologies and point out trends to pay attention to in the near future.
Five Things You Can Do Today XML technologies can help a lot here. XML and XML Schema provide a framework where architects can unambiguously define data formats. The format definition, written in XML Schema, is human-readable but is specifically designed to be processed by computers. This contrasts with the current state of practice where data formats are described in a format that a programmer can understand (e.g., Word document, PDF). Using this definition, a programmer can write software to process the data. With XML formats, data are described in XML Schema which can be interpreted and acted upon very easily by XML components that are available today. The benefit is that a broad collection of data-processing tasks can be automated. Schema-aware software can read a schema document and automatically create code to help the programmer convert and process disparate data formats. In some cases, programmers will be able to handle data parsing and integration tasks without writing a single line of source code. Developers can realize several benefits by standardizing on XML as a data interchange format.
Even without strict adherence to emerging SOAP and WSDL specifications, your applications can use XML and HTTP as a sophisticated new interface type that gives you the loose coupling benefits of Web services. This approach can be easily migrated to native protocols when your organization is comfortable with their maturity. For many years Web developers have leveraged the plumbing that supports Web browsing to also implement distributed systems. By leveraging HTTP as a readily accessible transport (heck, everyone has a Web server) and SSL as a secure pipe, developers have implemented secure conversations among distributed applications for a number of years. Web services and technologies such as SOAP and WSDL formalize some of the ad hoc mechanisms that we've used for years, but the underlying mechanisms are the same.
Brew Your Own
Now, to the Web services purists out there I'm a DBWS (Dirty Blaspheming Wayward Soul) for speaking like this. Why am I advocating anything other than "The Way"? Here's why. One of the fundamental benefits of Web services is its support for a distributed, loosely coupled architectural model that is interoperable. The main enablers of this interoperability are the ubiquitous deployment of HTTP servers and XML as a data standard. While SOAP formalizes the packaging of messages sent among machines and WSDL formalizes a way to advertise the nature and availability of a service, these are secondary to the core benefit of being able to implement loosely coupled distributed architectures using a single, standardized data-modeling language (XML Schema). The industry has developed so much HTTP and HTML processing software that all major programming environments (Java, C++, C#, Perl, Python, etc.) have rich, capable tools for moving data around over the Web. Implementing a home-brew Web service requires less than 50 lines of server and client code. Finally, once you've adopted the Web services design paradigm, making the hop to SOAP and WSDL (and whatever other helper protocols and technologies may emerge in the future) is trivial. One final sacrilegious note: the software industry risks killing the Web services golden goose. One of the largest factors that drove adoption of HTML and HTTP was that they were exceedingly simple to implement. A developer could open vi, tap in a handful of HTML tags, and in a few minutes create globally available, hyperlinked content. Once developers became comfortable with HTML and simple editing, we began demanding more sophisticated features from our tools and the protocols. We evolved these technologies based on the intimate understanding we gained through real-life experience. With today's Web services activities many tools vendors, ISVs, and protocol developers are trying to jump right to the end of the game. By providing developers with all-encompassing developer tools, protocols, and products, we're potentially robbing the industry of the opportunity to become familiar with and to truly understand the underlying technologies. OK, enough said.
Decouple Your GUIs
Whether you use Web services protocols like WSDL and SOAP or just brew your own XML messages and transports, one of the most important places where Web services can impact system architecture is at the GUI. By splitting the presentation tier from the business tier(s) using Web services, you derive two important benefits. First, the model enforces the separation of business code and display code. Despite best intentions, many implementations end up with undesirable coupling between interface code and business code. The result is not only inelegant but also can prevent a Web interface implementation from being easily scaled using Web farming techniques. Web services avert this issue by placing XML messaging between display logic and business logic. Another benefit of exposing the business tier to the presentation tier via Web services is that Web services are presentation technology agnostic. While you may choose to implement all your presentation code in server-side JSP, a partner or customer may want to display some of your information in their Web-based GUI that uses another technology. If you use JSP on Apache and your partner has a Microsoft IIS/ASP-based site, seamlessly integrating your Web portal with your partner's can be a challenge. Typically, you have to play games with frames or you have to coordinate closely with your partner so that the look and feel of both sites is comparable. If your business tier exposes its information to the presentation tier as XML, however, then a partner can either choose to use your Web pages (and play around with frames or risk discrepancies between sites) or they can consume the XML that your business layer generates, massage it however they want, and present it "natively" within their user interface. One final benefit is that for many applications, XML transformations (XSLT) can be used to format the XML data for display as HTML. This can be highly efficient and can lead to elegant and easily managed presentation logic.
XML for Data Modeling
XML Schema holds a lot of promise to act as a single data-modeling environment from which environment-specific instances can be created. Consider the case where a customer contact data format is required. This format would be defined in schema. The schema would then be used to create the database tables to store the format, the C++ objects to manipulate the data in memory, and the wire format to exchange the data among multiple programs. Leveraging XML to unify data modeling gives system architects a common ground for data design.
Cool, Fast New Tools
What Next? In reality, the state of the world today is such that implementing SOAP and WSDL does not guarantee that you will be able to automatically work with another Web services-compliant tool. It's a bit like a transmission where the gears don't quite line up. Things are getting close to interoperability but there's still a lot of grinding going on. This should smooth out within the next 18-24 months as more real applications begin to use the tools and protocols and the kinks get worked out.
UDDI Integration
Web Services Interoperability Organization (WS-I)
Conclusion
Reader Feedback: Page 1 of 1
SOA World Latest 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 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||