We previously indicated that the field of information technology has witnessed many paradigm shifts.6 These paradigm shifts are affecting the enterprise businesses in many ways—specifically in how they conduct business and communicate. These paradigm shifts can be primarily attributed to technological innovations in the field of hardware, software, and operating and networking environments. Some of the paradigm shifts7 that are of importance to the enterprise businesses are
- Internet and World Wide Web
- Java and Java 2 Enterprise Edition
- Extensible Markup Language
- Web Services—XML-RPC and SOAP
- Influence of the Internet and the World Wide Web
The arrival of both the Internet and the World Wide Web ushered in a paradigm shift to the enterprises, specifically in the way business transaction takes place. You might be aware that extensive research and development work sponsored by the Department of Defense8 resulted in the foundation of what is now the Internet. The evolution of the web, in fact, ensured fundamental changes in the way B2C and B2B partners interact. More revolution than evolution, the Internet and World Wide Web has enormously grown, thanks partly to the contribution from several companies, organizations, academic and research institutions, and even the individual professionals all over the world. On the technology front, the web has not only rendered TCP/IP as the default business protocol, it also has brought forth a new type of client called the browser client.
Java and Java 2 Enterprise Edition
Prior to the arrival of Java, the software development for any enterprise application needed to be developed on many programming environments, on different hardware and operating environment. Frequently a software application would need to be developed and delivered on multiple hardware platform and operating environments so that functionally they delivered repeatable results. Developed by Dr. James Gosling of Sun Microsystems, Java technology was introduced in 1995. The arrival of Java as a programming language ushered in yet another paradigm shift in the world of software development. A Java Virtual Machine would behave the same way on any platform, and therefore, applications developed using Java programming language would behave reliably and consistently on any platform. Java programming has brought about acronyms such as WORA (Write Once Run Anywhere), WORE (Write Once Run Everywhere), and WORD (Write Once and Run on any Device).
Java and J2EE technologies have witnessed tremendous growth over the past decade and Java, in particular, has been the most widely employed programming environment in the world today. Java is easily considered the most successful programming language. Some of the features and attributes that popularized the Java platform are object oriented, platform independent, portable, secure, robust, multithreaded, and more.
One of the prime reasons for the widespread industry adoption of this environment could be because the environment has been the product of the industry movement toward the requirement of portable and interoperable applications that can work over the web. Other contributing factors include reliable web component technologies, such as Servlet and JavaServer Pages (JSP), and distributed components such as Enterprise JavaBeans (EJB) that can enable the developers to deploy these components in a variety of container/component environments. These components essentially use a binary protocol called Java Remote Method Protocol (RMI over IIOP) for communicating with remote objects.
Since its introduction over a decade ago, Java has grown from the status of a mere programming language to a full-fledged platform on a variety of systems and environments,9 including devices such as PDAs, mobile phones, set-top boxes, rings, cards, chips, and so on. A community called the Java Community Process (JCP) now governs the development of this language. Most of the industry leaders and key players in the IT field participate in shaping the development of this remarkable technology.
Extensible Markup Language
John Bosak of Sun Microsystems is credited with the revolutionary work on Extensible Markup Language (XML). The idea of XML essentially emerged from the other nonexpendable markup languages such as Generalized Markup Language (GML) from IBM, Standardized Generalized Markup Language (SGML) from ISO, and Hypertext Markup Language (HTML) from ECRN. XML's popularity essentially stems out of its extensible capability. One of the biggest contributions of XML is its capability of interoperability.
The development of XML resulted in its adoption by a variety of industries—both vertical and horizontal. This has resulted in the creation of a large number of XML vocabularies that cater to the interoperability needs of different industries. The biggest contributions of XML for enterprise solution needs are the SOAP, WSDL, and UDDI technologies. Part II, "Service Oriented Architecture Essentials," discusses this in detail.
Web Services—XML-RPC and SOAP
Introduced by Dave Winer, XML-RPC is an RPC protocol that is text based. As the name indicates, the XML-RPC protocol enables the exchange of XML data between remote objects. The idea of transporting XML as a payload over transport protocols such as HTTP has resulted in laying the foundation of web services such as SOAP and WSDL. Initial work on XML-RPC resulted in a simple and portable way of making text-based RPC in a distributed environment. This pioneering work resulted in the opening of a new perspective in the history of middleware technologies. Further work in this direction resulted in a new message-oriented protocol called SOAP and brought the interoperability one step closer to business automation.