B2B Integration-A Case Study, Page 2
Web Services is a distributed computing technology, which is defined by loosely coupled, dynamically located software components on the Web. These components break down the larger software system into smaller logical modules, or shared services. These services can reside on different systems and can be implemented by vastly different technologies, but they are packaged and transported using standard Web protocols, such as XML and HTTP, thus making them easily accessible by any user on the Web. Web Services typically work on the Register, Discover, and Invoke models.
Figure 4: Web services deployment model
Royal Wallace Company was skeptical about the Web services approach for its integration requirement. Although Web services are fast becoming a de-facto standard with support from industry heavyweights as Microsoft, IBM, HP, Sun, and Oracle, it is still not widely used for e-commerce–related transactions on the Web. The overhead of the maintenance of IT staff required to maintain the application and the inherent issues associated with Web applications such as availability made the company decide to do away with this cutting-edge technology.
Figure 5 shows the Web services implementation in the Royal Wallace business model.
Figure 5: Web services implementation in Royal Wallace Business model
- Open standard for Application-to-Application communication. Based on standard protocols such as HTTP and XML
- Supported by all the leading vendors. Hides complex implementation
- Fast gaining acceptance in the world as a means of communication between applications
- Not widely used yet
- Higher transmission/processing costs because XML is verbose (at the benefit of being easier to understand and maintain)
- Has all the issues associated with the Web in terms of availability, immutable interfaces, and so forth
- Aspects such as guaranteed delivery, non-repudiation, security, and the like may not be built-in
Compare the three approaches considered here....
|Approach||Timescale to Develop||Changes in H/W & S/W||Maintenance Effort||Cost of Option|
|EAI||Low||Yes||Low||High—licenses from Vendor|
|Web Services||High||Yes||Medium-High||Low (Based on s/w chosen|
Feasible Solution: XML over HTTP
Extensible markup language (XML) is a specification developed by the W3C. XML is a pared-down version of Standard Generalised Mark-Up Language, designed especially for Web documents. XML is a programming language that enables designers to create their own tags to indicate specific information. It allows designers to create their own customized tags, enabling the definition, transmission, validation, and interpretation of data between applications and between organizations.
XML is similar to the language used for Web pages, the Hypertext Markup Language (HTML), in that both use markup codes (tags). Computer programs can automatically extract data from an XML document, using its associated DTD as a guide. XML represents complex structures easily and a number of parsers are available off the shelf, free of cost, to parse the XML data.
Advantages of using HTTP as an Interface Protocol
- HTTP is based on open standard and used widely.
- HTTP is simple and well understood.
- HTTP can carry any data type.
- Implementations of HTTP clients are available in various programming languages such as Java, VB, .NET, PL/SQL, and so forth.
Figure 6 shows the XML over HTTP implementation scenario in Royal Wallace Company.
Figure 6: XML over HTTP implementation (SiteMinder is a third-party authorization tool)
Because Http clients are available in various programming languages, Royal Wallace Company could easily integrate with all the target applications with any changes at the Business Associate's end. The client sends out a request/message in the form of an XML document to the company. After validating the user with some third-party package at the company's end, Royal Wallace Company could generate the output in the form of an XML document and send it back to the requester (BA) along with the schema DTD. Thus, the company could finally achieve a low-cost, request-reply mode of integration with this approach.
The question that arises is 'Is the XML over HTTP solution a lightweight Web Service?' The following table gives a comparison of the two approaches:
|Task||Web Services||XML over HTTP|
|Publishing||Services published to Service broker using UDDI||URLs directly published to Requester|
|Communication medium||HTTP, SMTP, FTP, JMS, IIOP, etc.||HTTP|
|Message format||SOAP||XML defined by Schemas|
|Accessibility||Synchronous and asynchronous||Synchronous|
However, in this case study, XML over HTTP gained over other viable solutions in meeting the client requirements for B2B integration.
- The XML over HTTP option was considered to be the best suited for implementation
- Minimum overheads and faster rate of data transfer
- The XML over HTTP solution can be extended to provide a full-featured Web service
The designer of the solution should keep all the pros and cons of each approach in mind and go for the best suited approach/implementation for their requirements.
White Papers are posted at the following locations:
About the Authors
Manoj Seth is a senior software engineer at Hewlett-Packard, India. He is a Post Graduate from the Indian Institute of Information Technology, Bangalore.
Manoj has been involved in designing and developing J2EE-based solutions over various platforms in the domains of Financial/Banking and Middleware for more than two years. He has good exposure to Web Services and their emerging standards in development/deployment and management space. He can be contacted at firstname.lastname@example.org.
Tarun Gupta is an Integration Analyst at Wipro Technologies, India. He is a Post Graduate from the Indian Institute of Information Technology, Bangalore.
Tarun has around four years of experience in the integration domain. He has used various tools such as WebMethods, Seebeyond, and TIBCO to provide solutions in manufacturing and telecomm domains. He can be contacted at email@example.com.