The 1990s brought revolution to an entrenched computer industry in the form of the Internet. Networks broke out of the walls of companies and spanned nations and the globe instead of floors of a building. The 1990s brought the world e-commerce, e-business, and hundreds of companies that started with the letter e and ended in .com . Within the first years of the 21 st century, however, disaster struck the bulk of the e-companies that put technology, glitz, and marketing strategies ahead of business plans and sound business practices.
As the 21 st century continues marching on, people are picking up the pieces of the Internet revolution and deciding exactly what the 1990s have left us, other than smaller mutual funds and depleted retirement savings. With respect to computing and business, the Internet revolution taught us the following:
The world is much smaller than expected. The ability to conduct business with a company located on the other side of the world is sometimes as easy as, or easier than, conducting business with the company next door.
Technology's pace is just slightly under light speed. With Moore's Law applied to processor speed, network capacity, and the exponential increase in storage densities , new technology generations are hitting store shelves every nine to twelve months. This pace of technology allows you to write increasingly complex programs that were simply not possible even two to three years ago. A downside to the speed of technology generations is the number of types of hardware and software that are all running and available on the Internet at the same time. Today, everything from Timex Sinclair ZX80s to the latest Sun clusters are powering business and content on the Internet.
Moore's Law predicts that the number of transistors per integrated circuit will continue to grow exponentially. This translates into a more common interpretation of Moore's Law that states that the number of transistors will double every few years and thus the speed of the CPU will double every few years.
An ever-increasing number of device types are being built and networked. In addition to getting information from traditional computers (desktops, notebooks , midrange , and mainframe), consumers and business people request information from their Personal Digital Assistants (PDAs), cellular phones, and watches . In no time, you will find your clothing, your sunglasses, and even your shoes networked together to give you a pervasive and ubiquitous computing experience.
Technology can overcome the widely disparate computing platforms used on the Internet and, even, within the walls of a company.
What the Internet revolution really left us with are the hopes and dreams of a networked world but also a relative chaos in terms of the networked world's implementation. Within businesses, a variety of generations of computers, devices, and software hang together with Enterprise Application Integration (EAI) software that was installed after the fact to get all of the technology and software working together to achieve a business need.
Unfortunately, EAI software is not an ideal situation. Integration most often occurs through the application's databases while the meat of the application logic remains a stovepipe.
The first part of the 21 st century is defining itself to be a period in which the following will occur:
People acknowledge that there will always be competing platforms that must work together to provide for a business.
Businesses and the companies and customers that participate in making a business operate and become successful span the outside world as well as what is controlled within their own walls.
People finally figure out how to build software that plugs into an ecosystem rather than software that believes it defines the ecosystem.
Web Services provide an important building block for integrating disparate computing platforms and, indirectly, provide a mechanism to integrate their global value chains. You can build Web Services after the system was originally deployed, making them similar in many ways to today's EAI software, but you can also build them along with new software as the open Application Programming Interface (API) to the application. This chapter introduces Web Services and the patterns that help you build them.