Features and Benefits
top
The practical guide for implementing SOA
A practical guide for developing and maintaining flexible IT that allows agile business operations
Guide for developing models for later implementation and providing architectural guidance
Successful IBM SOA experts and authoring team return for companion to SOA Compass
Part of the IBM developerWorks series providing additional online resources and references
Table of Contents
top
Foreword xv
Acknowledgments xvii
About the Authors xix
Chapter 1 Introducing SOA 1
1.1 SOA in Retrospect 2
1.2 New Items to Consider 4
1.3 What Makes This Book Different? 6
1.4 Who Is This Book For? 6
1.5 What Is Covered in This Book? 7
1.6 Links to developerWorks Articles 8
1.7 References 8
Endnotes 8
Chapter 2 Unveiling the Benefits 9
2.1 Why the Business Should Care About SOA 9
2.2 Architecture 13
2.3 Focus on Business Architecture 14
2.4 Business Process 15
2.5 Business Components 16
2.6 Lifting the Veil 17
2.7 Link to developerWorks Article 18
2.8 References 18
Endnotes 18
Chapter 3 SOA Governance 21
3.1 Governance of the SOA Strategy 23
3.2 Organizing for SOA 32
3.3 SOA Governance Considerations 35
3.4 Conclusion 55
3.5 Links to developerWorks Articles 56
3.6 References 56
Endnotes 56
Chapter 4 A Methodology for Service Modeling and Design 57
4.1 An SOA Reference Architecture 58
4.2 Service Oriented Modeling and Architecture 62
4.3 Conclusion 80
4.4 Links to developerWorks Articles 80
4.5 References 81
Chapter 5 Leveraging Reusable Assets 83
5.1 What Is an Asset? 83
5.2 Service Reuse 84
5.3 What Makes an SOA Service Reusable? 84
5.4 Reusable Patterns 87
5.5 Making Legacy Reusable: Harvesting Reusable Components from a
Legacy Monolithic Application 91
5.6 Conclusion 99
5.7 Links to developerWorks Articles 99
5.8 References 100
Chapter 6 Realization of Services 103
6.1 Realizing the SOA Lifecycle 104
6.2 Premodeling Activities in an SOA 104
6.3 Modeling Services in an SOA 108
6.4 Assembling Services in an SOA 121
6.5 Deploying Services in an SOA 124
6.6 Managing Services in an SOA 126
6.7 The SOA Programming Model 134
6.8 Architecture and Design Considerations 139
6.9 Conclusion 144
6.10 Links to developerWorks Articles 144
6.11 References 145
Chapter 7 Information Services 147
7.1 Data or Information Services 147
7.2 Data, SOA, and Loose Coupling 148
7.3 From Data Sources to Consumers 150
7.4 Qualities of Data 152
7.5 Data Processes 153
7.6 Data Service Provider Logic Patterns 154
7.7 Composite Service Logic 159
7.8 Semantic Interoperability 160
7.9 Conclusion 162
7.10 Links to developerWorks Articles 162
7.11 References 163
Chapter 8 Collaboration Under SOA: The Human Aspects 165
8.1 What Does SOA Mean to People? 165
8.2 Web 2.0 and SOA 169
8.3 Building the SOA Collaboration Environment 179
8.4 Benefits from SOA to Enterprise Operations 182
8.5 Conclusion 186
8.6 Links to developerWorks Articles 186
8.7 References 187
Endnotes 188
Chapter 9 The Future of SOA 189
9.1 Composite Business Services and Composite Applications 190
9.2 Standardization of Industry Models and Industry-Wide SOA Enablement 190
9.3 Packaged Applications Mutating to Point Solutions 191
9.4 Hybrid Architectural Approach of SOA and EDA 192
9.5 SOA Methodology Evolution 192
9.6 Business Processes and SOA Not Without People 193
9.7 SOA Metrics 1939.8 Ubiquitous SOA in the Enterprise 194
9.9 Global Use of SOA 195
9.10 SOA Opens the Amateur Software Services Market 195
9.11 Conclusion 196
9.12 Links to developerWorks Articles 197
9.13 References 197
Endnotes 197
Index 199
Preface
top
Foreword
Service-oriented architecture (SOA) is no longer new. Indeed, it suffers from some retrenchment and backlash as the 'hype curve' settles, with many pointing to examples of failed attempts. Why is that? If this direction was so compelling, why are some turning to a degree of skepticism and outright cynicism? The major reason lies in our collective failure to understand that this kind of transition is difficult and requires discipline, in-depth understanding, and active involvement from the business as well as the IT infrastructure. Discipline is needed in collaborative alignment and cross-group processes that we tend to associate with broader organizational thinking-not individual, localized 'quick fixes' or silos. As a result, many initial attempts fail for a variety of good reasons:
A failure to establish effective governance or even realize that governance must change to establish enduring benefits in delivering shared, useful, and effective services.
An attempt to introduce a services discipline into organizational silos without drastically altering the culture of collaboration and information-process sharing. This oversight absolutely results in failure.
A failure to understand how to integrate new thinking around services into preexisting technology assets and directions.
Believing that a single technology or tool will deliver the desired results.
Believing that speed comes from agility, where agility equates to a simplistic view of 'delivering quickly' on isolated, individual projects without regard to organizational life cycle. This is otherwise known as unstructured chaos.
In my view, the fundamental motivation or reason to pursue an SOA is more prevalent today than ever before. The pressure to compete with greater speed and innovation as a business model remains. The pressure on enterprises, ecosystems, and supply chains to globalize is accelerating. The dependency on IT systems to scale businesses constantly grows, and technology continues to pervade all facets of commerce and of everyday life.
Many of the scale issues in any shift in business models comes from the growing reach and choice afforded by the ever more ubiquitous Internet. The Internet is changing and evolving. Bandwidth continues to increase, and the resulting network effects are providing opportunity for new businesses and business models while also wreaking havoc on the existing ones. All we have to do is look to everyday examples in the music industry (indeed, in entertainment as a whole). Telecom service providers (TSPs) are classic examples where vertical integration of industry and the billing models have been torn asunder by the introduction of pervasive IP-based services and devices. The interaction of the two (entertainment and TSPs) is even more dramatic and has downstream effects on consumer electronics, automotive, and so on. The growing choices and resulting shifts in global supply chains and sourcing affect everything from manufactured goods to intellectual property and talent. There is no place to hide.
IT systems are forced to enable or to lead this trend; if not, the associated businesses will fail to compete and fade into irrelevance. Key to enabling flexibility and scale are the tenets of service-oriented architectures. As has been said before, there is no magic in SOA. In many ways, it is the evolution of the ever-present and old concept of 'modularity' and structural decomposition applied to better alignment of IT and business at a global, open scale. However the raw scale issues of modularity and sharing in successful services-based architectures to be deployed on the Internet in support of truly globalized business has never before been attempted.
I experienced this scale issue in transforming Rational in IBM. I embarked on trying to use SOA to effect both a cultural and a technical evolution in Rational's business and Rational's technology. The Jazz direction and architecture are prime examples of a shift in strategy that stems not just from an Internet-based architecture but from a rethinking of both the business and the technology underlying development tools and platforms. It puts us in a position to generate new products, evolve from existing ones, and take advantage of emerging business models (pricing and packaging) in delivering value to our customers. In line with the book, it required a shift in culture, a shift in governance models-organization, technology assumptions, information architectures, and collaboration services. It required rethinking the business of software development and modeling it as a series of business processes that need to establish and report through dynamic monitoring of metrics with services that can be delivered on internets in a globally distributed model. The jury is out yet on whether we have turned vision into execution, but I am convinced now, more than ever, that it was the right thing to do.
In that spirit, I encourage you to view this book as an update that imparts the benefit of extensive experience in SOA-based engagements with ourselves and our customers over the past four years. The first edition set the stage and brought out many of the key issues and thinking. This version delves deeply into key issues such as governance, management of services, and especially the challenges of life cycle. It addresses many of the failure issues I highlighted in the beginning of the Foreword. The team that put it together is experienced and has boiled down best practices and delivered a practical and thoughtful roadmap to implementing successful SOA transformations. Enjoy the ride. After all, if it were easy, anyone could do it!
Daniel Sabbah
GM, Rational Software
IBM Software Group
© Copyright Pearson Education. All rights reserved.
About the Authors
top
Norbert Bieberstein works for IBM's SOA Advanced Technologies organization supporting worldwide publication and communication of SOA-related topics. He gained firsthand experiences from customer projects in various industries striving to migrate to SOA-based solutions. Norbert published several articles on SOA-related topics, coordinated the IBM Systems Journal issue 44-4 on SOA, and was the lead author of Service-Oriented Architecture Compass (IBM Press, 2005). In 2007, the book SOA for Profit was published, for which Norbert acted as one of the three lead authors. He also co-authored two IBM Redbooks: Introduction to Grid Computing with Globus and Enabling Applications for Grid Computing with Globus. In 1993, he published his first book, CASE-Tools. Norbert joined IBM software development labs as a software engineering consultant in 1989. In total, he has more than 27 years of experience in information technology and computer sciences. In his career, he worked as an application developer at a smaller software vendor and as a scientific programmer at Aachen University of Technology (RWTH), where he received his Master's degree in Mathematics and Geography. In 2006, he graduated from a corporate MBA program at Henley Management College in Henley, United Kingdom.
Robert G. Laird is an IT Architect with IBM in the SOA Advanced Technologies group, performing worldwide consulting for IBM customers in the area of SOA governance and SOA architecture since May 2006. He is a member of the industry TOGAF (The Open Group Architecture Framework) SOA Governance working group. Robert has more than 20 years experience in the telecom industry at MCI and Verizon Business. He was the MCI chief architect, leading the enterprise architecture group and working across the entire order-to-cash suite of applications. He led the development of the SOA-based single-stack strategy to simplify the multiple network and applications silos. Bob has driven the strategy, planning, and execution of MCI's product development in the area of contact centers, IP/VPN, VoIP, IMS¿, and managed services. For OSS, he has led successful implementations to automate network provisioning, network restoration, and network management. Before joining MCI, Robert worked as a consultant for American Management Systems (AMS) and Ideation, Inc. He has a Master's degree and a Bachelor degree in Computer Science from Purdue University and has been granted two patents in the area of telephony. He has spoken at various industry forums, written for the SOA Magazine, and been quoted in CIO Insight, Telecommunications, InfoWorld, and Computerworld.
Dr. Keith Jones is currently an executive IT architect with IBM in the SOA Advanced Technologies team where he focuses on the definition and implementation of service oriented architectures with leading-edge customers. He has 30 years experience in the IT industry as a systems engineer, software architect, strategist, and author of many middleware publications. Keith's professional interests center on building transactional, message oriented and service-oriented middleware infrastructures in support of business processes in a wide range of enterprise environments. Most recently, these have included infrastructures at major financial services, retail services, automotive manufacturing, online media, and auction enterprises. Keith has a PhD in Chemistry and lives with his family in Boulder, Colorado, United States.
Tilak Mitra is a Certified Executive IT Architect with IBM Global Business Services, performing global consulting for IBM in the areas of enterprise architecture, helping clients realize their adoption of SOA from its vision through its design and implementation. Tilak has more than 10 years of industry experience in retail, banking, media and entertainment, health-care, and transportation industries, wherein he has worked in various leadership capacities, ranging from business to IT transformations, leading into solution implementation and delivery. Tilak works closely with the IBM SOA Center of Excellence, in which capacity he contributes to the development of various IBM SOA offerings and authors white papers and technique papers on IBM SOA assets. His current focus is on building assets and techniques that foster a radical simplification of the development of SOA based composite applications that are executable on various vendor platforms (for example, IBM WebSphere and SAP NetWeaver). Tilak has a Master of Engineering degree in Electrical Engineering from Indian Institute of Science (IISc), India, and a Bachelor of Science degree in Physics from Presidency College, India. He is a contributing editor of the Java Developers Journal (JDJ) and is a frequent author in IBM developerWorks and in JDJ and WebSphere Developer's Journal (both from SYS-CON Publications). He also speaks at various U.S. universities on topics that cover the gamut of SOA.