| By Anne Thomas Manes | Article Rating: |
|
| November 18, 2002 12:00 AM EST | Reads: |
12,924 |
How do you define a Web service? If you ask five people to give you a definition, you'll probably get at least six answers. Is a Web service any application that can be accessed over the Web, or is it limited to applications that expose a programmatic interface? Is it the code that implements the service or the interface to the code? Do you have to use SOAP? What about XML-RPC? Or RosettaNet? Or FIXML? Or some other XML protocol? And do you have to use XML? Does SWIFT qualify as a Web service?
I know that many people will disagree with me, but my basic definition is as follows: a Web service is a programmatic interface to some application function, and that interface communicates using an XML protocol - any XML protocol. As a best practice I recommend that you use a standardized or well-known XML protocol (e.g., SOAP 1.1), and describe your service using some type of standardized or well-known description language (e.g., WSDL 1.1). But as long as you're using an XML protocol, I would say that it qualifies as a Web service.
I draw the line at XML because I think that XML is the secret sauce that gives Web services technology its enormous power and flexibility. It is the Web's universal data language. Any application programming language can interpret XML. And Web services can run on any platform - from the largest mainframe to the smallest embedded device. Web services technology is the first distributed-computing middleware that is completely vendor and platform independent. This little feature is a huge win and by itself provides a very strong incentive to adopt Web services.
But there's another reason why you might want to adopt Web services: multichannel client support. If you think back to ancient history - to the days before the Web - I'll bet that you can recall discussions about three-tiered client/server computing. One of the core themes of three-tiered client/server computing was the clean separation of presentation logic and business logic. The idea was that you could build a business service, and you could access that service from both Windows and Macintosh clients. (Remember how hard it was to do something like that in 1992?)
Now you would most likely just build an HTML client that talks to the application through a Web server. But is that enough? Wouldn't it be nice if you could access your services from a wide assortment of client environments: Windows, Macintosh, Linux, Unix, Palm OS, BlackBerry, a mobile handset, etc? And wouldn't it be nice to access them from Visual Basic, WinForms, Excel, reporting tools, business intelligence tools, WebForms, Flash, Java applets, and IVR applications? The requirement for multichannel client support is more critical than ever.
Enter Web services. Web services offer the ultimate in presentation and business logic separation. A Web service doesn't have a native human interface. It has a programmatic interface. You send it an XML message and it returns an XML message. Hence any client application that can process and interpret XML can speak to a Web service. And what's so wonderful about XML is that it's so malleable. XML can be validated and transformed on the fly. This little feature allows you to dynamically resolve any inconsistencies that might exist between a client and the service. You can also customize your messages for different types of clients.
XML can be transformed at runtime into a presentation markup language, such as HTML, WML, or VoiceXML. You can also transform the XML into binary formats to send to a device that doesn't understand XML. More and more GUI development environments, such as Microsoft WinForms/WebForms and Macromedia Flash, can consume and display the data from XML messages. The business intelligence vendors are adding inherent support for XML data sources. Microsoft's forthcoming XDocs product will capitalize on the power of XML to blur the distinction between client types, such as a spreadsheet, a document, or a form.
So if you're looking to cook up a nice little application that can be consumed by any possible client environment, don't forget the special sauce: XML. Build your application as a Web service.
Published November 18, 2002 Reads 12,924
Copyright © 2002 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Anne Thomas Manes
Anne Thomas Manes is a Research Director at Burton Group, a research, consulting, and advisory firm. Anne leads research for the Application Platform Strategies service. Named one of NetworkWorld's "50 Most Powerful People in Networking," in 2002 and one of Enterprise Systems Journal's "Power 100 IT Leaders," in 2001, Anne is a renowned technologist in the Web services space. Anne participates in standards development at W3C and OASIS. She is a member of the editorial board of Web Services Journal. She is a frequent speaker at trade shows and author of numerous articles and the book, Web Services: A Manager's Guide, published by Addison Wesley.
Prior to joining Burton Group, Anne was chief technology officer at Systinet, a Web services infrastructure company, and before that she pioneered Sun's Web services strategy. A 24-year industry veteran, Anne developed her expertise working at a number of the world's leading hardware and software companies. You can reach Anne via e-mail at anne@manes.net or through her Web site at http://www.bowlight.net.
- Big Data in Telecom: The Need for Analytics
- Patterns for Building High Performance Applications
- Microsoft Tries Hadoop on Azure
- Amazon to Fix Some Kindle Fire Problems
- What Motivates Open Standards in the Cloud?
- What to Expect in 2012: Cloud Computing and Open Source Software
- Will PaaS Finally Bring Open Source Love to the Enterprise?
- Ten Hot Trends in Cloud Data for 2012
- Cross-Platform Mobile Website Development – a Tool Comparison
- Oracle Disaster Recovery Site Hosted by Amazon Cloud
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- The Future of Cloud Computing: Industry Predictions for 2012
- Gartner Hype Cycle for Emerging Technologies 2011
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Big Data in Telecom: The Need for Analytics
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- Patterns for Building High Performance Applications
- Microsoft Tries Hadoop on Azure
- The Next Web Architecture
- Cloud Computing: A Comparison of Computing Models
- Amazon to Fix Some Kindle Fire Problems
- The i-Technology Right Stuff
- The Top 150 Players in Cloud Computing
- Who Are The All-Time Heroes of i-Technology?
- Where Are RIA Technologies Headed in 2008?
- Get the Message
- ESB Myth Busters: 10 Enterprise Service Bus Myths Debunked
- i-Technology Viewpoint: Is Web 2.0 the Global SOA?
- i-Technology Viewpoint: Thinking Outside the VC Box
- i-Technology Viewpoint: When to Leave Your First IT Job
- SOA Web Services Edge Conference Coverage on SYS-CON.TV
- SYS-CON.TV's "SOA Web Services" and "Enterprise Open Source" Programs To Air in December
- Five Reasons Why Web 2.0 Matters




















