- Web Services as B2B Evolution: From XML to Web Services
- Web Services as Enabler for Business Innovation—Interoperability
- Web Services as Distributed Component Model
Web Services as Enabler for Business InnovationInteroperability
Web services is sometimes conceived as a completely new set of technologies that developers need to learn from scratch. This perception is entirely wrong. On the contrary, designers of Web services try hard to reuse the existing and proven Internet technologies, such as XML and HTTP, as much as possible. In fact, Web services requires a strikingly small amount of new concepts for developers to learn. SOAP is a very simple wrapper of XML-based messages, and has nothing innovative. WSDL can be seen as an XML version of Interface Definition Language (IDL), which is a well-known concept in distributed programming. UDDI is simply an XML-based registry.
If there are no technical innovations in Web services, why do we need Web services in the first place? To answer this question, we need to look back where the original Web services came from. The biggest thrust toward Web services did not come from innovative technical ideas; it came from business needs.
The business environment today is very dynamic; companies are constantly changing their business models. Today's globalized economy requires businesses to deal with more and more customers and suppliers in other countries. The advancement of the information technology allows businesses to access more data about the company's resources, market situations, competitors' performances, customers' preferences, and so on; and they need to be used to optimize the business models in order to stay competitive. And because of the Internet, businesses now have a means to reach a wider customer base more quickly. To be responsive to these environmental changes, businesses today must be very agile: They must change their business models to adapt to a new environment as quickly as possible.
Changing a business model requires changing business flows. Let's consider this scenario: You are the CIO of a machine-part manufacturer, ABC Co., which has been very successful in delivering quality parts to domestic customers for a long time. You have had a stable workflow that consists of order entry, production planning, manufacturing, delivery, and financial settlement; accordingly, your IT system is optimized for this workflow configuration. Recently, one of your biggest customers was acquired by a foreign company, and it is now moving its procurement operations to an overseas office. This requires you to incorporate new business processes, such as document translation, export approval process, overseas delivery, and international fund transfers into your current business flow. Essentially, what you need to do is to break up your existing system into pieces of business process and reintegrate them with the new business processes at the right places. Some of the new business processes may be outsourced because they are not your company's core competency. You must make sure that these components (some of whom are existing ones, and others are provided by third-party vendors) interoperate flawlessly. If you have any experience in integrating business processes, you understand that this is a significant amount of work. But the biggest challenge to you is that you must complete this transition within a few weeks, not months!
To enable this scenario, each business process should be extremely interoperable. Its interface needs to be clearly defined in an open, standard-based way; and there should be no dependency on the platform, middleware, or programming languages. In addition, these business processes need to be easily retrieved from a common registry because there may be a number of business processes in your company that are potentially useful for your new business flow (and many more that are provided by outside companies). If the interface of these business processes is standardized so that they can be integrated (just like building a toy house using Lego blocks), your business can become extremely agile. The current set of Web services standards does not provide this level of interoperability yet, but I think you understand where we are heading: componentized business processes to make your businesses more dynamic. Web services technology is the IT industry's response to this serious business need.