Learn to apply the significant promise of SOA to overcome the formidable challenges of distributed enterprise development.
About the Authors Dirk Krafzig
Dirk has been dealing with the challenges of enterprise IT and distributed software architectures throughout his entire working life. He devoted himself to SOA in 2001 when he joined Shinka Technologies, a start-up company and platform vendor in the early days of XML-based Web services. Since then, Dirk has acquired a rich set of real world experience with this upcoming new paradigm both from the view point of a platform vendor and from the perspective of software projects in different industry verticals.
Writing this book was an issue of personal concern to him as it provided the opportunity to share his experiences and many insights into the nature of enterprise IT with his readers.
Today, Dirk is designing enterprise applications and managing projects, applying the guiding principles outlined in this book. Dirk has a Ph.D. in Natural Science and an MSc in Computer Science. He lives in Düsseldorf, Germany, and is 39 years old, married, and the father of two children.
Karl Banke Software architecture has been with Karl since he programmed his first TRON-like game on the then state-of-the art ZX81 in the early 1980s. After graduating as a Master of Physics, he gained his commercial experience in various consulting assignments, mostly in the financial and telecommunications sector.
He moved through stages of consultant, technical lead, software architect, and project manager using a variety of object-oriented technologies, programming languages, and distributed computing environments. Soon realizing that he was too constrained as an employee in doing what he thought necessary in software development, he co-founded the company iternum in 2000, where he currently acts as a principal consultant and general manager.
Karl permanently lives in Mainz, Germany when not temporarily relocated by a current project.
Dirk Slama Having spent the last ten years at the forefront of distributed computing technology, Dirk has developed an in-depth understanding of enterprise software architectures and their application in a variety of industry verticals. Dirk was a senior consultant with IONA Technologies, working with Fortune 500 customers in Europe, America, and Asia on large-scale software integration projects. After this, Dirk set up his own company, Shinka Technologies, which successfully developed one of the first XML-based Web services middleware products, starting as early as 1999.
Dirk holds an MSc in computer sciences from TU-Berlin and an MBA from IMD in Lausanne. He is a co-author of Enterprise CORBA (Prentice Hall, 1999), the leading book on CORBA-based system architectures. Dirk is currently working as a solution architect for Computer Sciences Corporation in Zurich, Switzerland.
Contact: authors@enterprise-soa.com
Foreword Foreword At the turn of the nineteenth century, a wave of new technologies such as the steam engine, electricity, the loom, the railway, and the telephone emerged. Urbanization and the mass production of goods in large factories fundamentally changed how mankind lived and worked together. One hundred years later, the industrial revolution had not slowed down: At the turn of the twentieth century, automation, specialization, and a never-ending spiral of efficiency improvement have resulted in modern economies with unheard-of industrial productivity. After a phase of consolidation during the transition from the twentieth to the twenty-first century, globalization and virtualization have now become the key drivers of our economic lives. Without a doubt, they will yet again change how we live and work together. If we take a closer look at the past 20 years, we can observe that established business rules have been constantly redefined. New business models emerged; small companies quickly grew into billion-dollar multinationals, aggressively attacking other established companies. A wave of mergers, acquisitions, and buyouts changed the overall industrial landscape. IT has played a major role in all of this, be it through controlling production processes and supply chains or by creating real-time links between financial markets, thus virtually eliminating arbitrage opportunities by closing the time gaps of trading around the globe. The Internet boom and the "virtual enterprise" are cornerstones of this ongoing development. Entirely new products and services have been created, which would have been unthinkable without the support of modern IT. Without a doubt, today's modern enterprises are completely dependent on their IT. Consequently, today's IT is driven by the same dynamics as the enterprise itself. Today, we expect an extremely high level of flexibility and agility from our enterprise IT. During the post Internet-boom years, cost efficiency quickly became another key requirement, if not the most important one. Enterprise IT has changed as a result of the constantly increasing pressure. In the early days of enterprise computing, IT was merely responsible for providing storage and processing capacity, with more and more business logic being added throughout the decades. During the different boom phases in the 1980s and 1990s, a plethora of new applications emerged, often side by side with the information silos that had been developed in the previous 20 years. Today, the increasing cost pressure is forcing us to efficiently reuse existing systems while also developing new functionality and constantly adapting to changing business requirements. The term "legacy system" is now often replaced with "heritage system" in order to emphasize the value that lies in the existing systems. The increases in reuse and harmonization requirements have been fueled by the urgency of integrating the historically grown IT landscapes in order to improve IT efficiency and agility. As a result, we could observe at a technical level the emergence of middleware tools and Enterprise Application Integration (EAI) platforms in what can be seen as a post-RDBMS phase. While a lot of trial-and-error projects were executed in the 1990s, with more or less high levels of success, the development of EAI and middleware concepts has now been culminated in the principles of Service-Oriented Architecture (SOA), which can be seen as an important evolutionary point in the development of integration technologies. What is important about SOA is that it has taken away the focus from fine-grained, technology-oriented entities such as database rows or Java objects, focusing instead on business-centric services with business-level transaction granularity. Furthermore, SOA is not an enterprise tech