olhon.info Education Enterprise Soa Service-oriented Architecture Best Practices Pdf

ENTERPRISE SOA SERVICE-ORIENTED ARCHITECTURE BEST PRACTICES PDF

Thursday, May 2, 2019


ABC Amber CHM Converter Trial version, olhon.info html. Enterprise SOA: Service-Oriented Architecture Best Practices By Dirk Krafzig. Enterprise SOA: Service-Oriented Architecture Best Practices Strategic Enterprise Architecture Management: Challenges, Best Practices, and Future. Enterprise SOA; Service-Oriented Architecture Best olhon.info - Ebook download as PDF File .pdf), Text File .txt) or read book online.


Enterprise Soa Service-oriented Architecture Best Practices Pdf

Author:SANORA MONTBRIAND
Language:English, Spanish, Indonesian
Country:Singapore
Genre:Health & Fitness
Pages:592
Published (Last):25.06.2016
ISBN:875-8-21362-820-9
ePub File Size:15.85 MB
PDF File Size:9.16 MB
Distribution:Free* [*Regsitration Required]
Downloads:39612
Uploaded by: JOYE

Book Description. This book spells out guidelines and strategies for successfully using ServiceOriented Architecture (SOA) in large-scale projects. Download Citation on ResearchGate | On Jan 1, , D Krafzig and others published Enterprise SOA - Service-Oriented Architecture Best Practices. Best practices ROI from faster time-to-market – a more responsive enterprise Source: InfoWorld Research Report: Service Oriented Architecture (SOA).

However, most of the reasons are not of a technical nature but rather are related to reasons on the organizational level. For example, after 1. Enterprise Software Is a Different Animal In order to better understand the problems of enterprise software, we need to look at the specific characteristics of it, which are different from those of other types of software, such as system software, desktop applications, embedded systems, scientific software, or video games.

As the name indicates, enterprise software is tightly coupled with the internal organization, processes, and business model of the enterprise. Enterprise software underlies both cross-departmental dependencies and external business relationships.

Consequently, an architecture for enterprise software must deal with large numbers of different requirements. Many of these requirements are conflicting, while others are unclear.

In almost every case, the requirements are a moving target due to the permanent change of markets, the organization of the enterprise, and its business objectives. It is this involvement in all aspects of the enterprise and the business that makes enterprise software highly complex.

Enterprise applications rarely contain a large amount of complicated algorithms. The code that describes a piece of business logic is usually very simple. The structure of a COBOL-based billing system is much simpler than, for example, an embedded system for a Mars robot with complex real-time and multi-threading requirements. In enterprise applications, one usually finds very simple data structures, which again are different from other systems such as geographic information systems GIS.

Let's consider an example in order to illustrate the difference between enterprise applications and other software: An enterprise application such as a Customer Relationship Management System CRM , a billing system, a shipping system, or an insurance claims processing system. The stakeholders in these systems include different business units and potentially even the CEO, as well as different IT projects, IT maintenance, and operations.

In these scenarios, we will be facing highly heterogeneous teams and often very political environments. The technology landscape will be highly heterogeneous as well, including many different application and middleware platforms. The business data and content will have a very long lifetime, especially when compared with the much shorter cycles of technology innovation. We need to deal with constantly changing functional requirements that are usually not well-defined.

In addition, we will be facing many cross-dependencies between functional requirements, as well as heterogeneous technology platforms.

The number of end users will be potentially very large, and the applications will have to be rolled out to large numbers of PCs, often more than 10, Take, on the other hand, a desktop application, such as a word processor or spreadsheet application.

A smaller, more homogeneous technical team will develop this application.

Enterprise SOA; Service-Oriented Architecture Best Practices.pdf

It will be used by office workers as well, but the problem space is more well-defined. The application logic is self-contained, with very few cross-dependencies. Finally, there is no roll-out problem because the end user is typically responsible for the installation himself.

As we can see from these examples, enterprise software is unique in many respects, and therefore, it requires unique measures to ensure the efficiency of its development and maintenance. The Importance of Enterprise Software Architectures According to the second law of thermodynamics, any closed system cannot increase its internal order by itself. In fact, any activity that is geared toward ordering the system will increase its overall disorder called entropy.

In many respects, this law is also applicable to enterprise software, which often has very similar characteristics.

Consequently, outside intervention is continually required to help create a higher order and to ensure that development efforts are not lost. In enterprise software, the architect takes on the role as an outside influencer and controller. It is his responsibility to oversee individual software projects from the strategic point of view of the overall organization, as well as from the tactical, goal-oriented viewpoint of the individual project.

He has to balance different requirements while attempting to create an enduring order within the enterprise software landscape. The enterprise software architecture is the architect's most important tool at hand.

Software architects are constantly confronted with changes to and expansion of functionality that increase system complexity and reduce efficiency. By refactoring current solutions, architects constantly strive to reduce complexity and thereby increase the agility of the system see Figure Software architects use refactoring to fight the constant increase in system complexity.

They might occur in major changes to existing jurisdiction, the end-of-life of a supported product, or the introduction of large chunks of computing infrastructure, such as in the course of a merger or acquisition.

Such events require a major effort at very short notice to keep the architecture in a simple and maintainable state. Devastating consequences have been observed as a result of mergers and acquisitions: concise financial reporting being lost after a merger and raw system capacity being exhausted after an acquisition.

Because it is unknown a priori when such effects will occur, it is vital to keep the enterprise architecture in a maintainable and changeable state all the time. As we will see in the remainder of this book, Service-Oriented Architectures are particular well suited to cope with the needs of such an ongoing incremental process of optimization.

The Requirements for an Enterprise Software Architecture As a result of the aforementioned tight coupling with the internal organization, processes, and business model of the enterprise, an enterprise software architecture must fulfill very different requirements than, for example, a software architecture for a system that is controlled by a small number of highly qualified domain experts, such as the Mars robot or a video game engine.

In order to improve agility and efficiency, an enterprise software architecture must provide particular characteristics: Simplicity. The enterprise architecture must be simple in order to allow efficient communication between key personnel. As previously discussed, many people are involved in the specification and construction of enterprise software.

All these people have different roles and consequently different viewpoints with regard to the software. It is also likely that several different skill sets exist among personnel. These might range from IT coordinators of functional departments to technical architects.

Many IT coordinators will have detailed business domain knowledge but no technical expertise. On the other hand, technical architects will probably have an excellent technical education but have little understanding of the vertical business.

Nevertheless, all the people involved must be able to understand and manage the architecture at their respective levels e. Flexibility and maintainability. Every enterprise system is subject to ongoing change. It must continuously be adapted to new requirements due to the need of evolving markets, legal changes, or business reorganizations. Therefore, the architecture must lead to a highly flexible and maintainable system.

The architecture must define distinct components that can be rearranged and reconfigured in a flexible manner. Local changes cannot be permitted to have an impact on the global system. Providing that the external API of a component remains stable, an internal change should not affect operations outside the component.

In this context, one needs to understand that external interfaces of components must be designed very carefully. To a great extent, interfaces must be generic and not specific to a single usage scenario. However, defining generic interfaces requires excellent domain knowledge, experience, and to some extent, luck.

Finally, the internal implementation of a component must allow efficient maintenance, making it is easy to add or modify functionality. Reusability has been a major objective of software engineering for decades, with varying degrees of success. It is in the interest of an enterprise to gain as much benefit from its software assets as possible. This can be achieved by creating an inventory of useful building blocks and continually reusing them.

One obvious reason for reuse is reduced development and maintenance cost, which can be accomplished by sharing common functionality in code libraries that are used across different projects.

However, perhaps a more important aspect of reusability is the ability to share data across applications in real-time, thus reducing content redundancies. Having to maintain the same dataset in multiple databases becomes a nightmare in the long term. Unfortunately, it is not easy to achieve the goals of reuse.

Large organizations have learned that reuse is not always efficient because it is particularly costly to administer, find, and understand the components that should be reused, and sometimes this cost outweighs the benefits. Decoupling of functionality and technology.

The architecture must make an enterprise organization independent of the technology. It must decouple the long lifecycle of the business application landscape from the shorter innovation cycles of the underlying technology.

Moreover, an architecture that is designed to last longer than one or two of these technology innovation cycles must cope not only with changing technologies but also with the actual lifecycles of installed technologies, which can be much longer. It is therefore a major requirement that the architecture tolerate both heterogeneity and change to its technical infrastructure.

Furthermore, the development of business functionality must be decoupled from the underlying technology. In particular, the architecture must avoid dependencies on 1. The Relation of Enterprise Architecture and Enterprise Standards For many decades, enterprise IT organizations have attempted to improve agility and efficiency by homogenizing their systems through the introduction of enterprise-wide IT standards, but mostly with very limited success.

Therefore, it is important to understand that an enterprise architecture is not equal to an enterprise standard, as we discuss in this section. In the s, with relational database systems becoming mainstream, we saw a wave of so-called Enterprise Data Model EDM projects. The idea of these standardization projects was to define one global data model for all the business entities in an enterprise, which was to be shared among all the different organizations and systems in a company.

Almost all of these EDM projects failed, and today, there are usually as many different database schemas out there as there are databases in an enterprise. There are a variety of different reasons for the failure of these EDM projects, including political turf wars between different departments, conflicting interests between the different stakeholders ranging from business representatives over application specialists to DBMS administrators, the sheer technical complexity of the undertaking, and the fact that due to the dynamics and complexity of modern enterprises, it is usually impossible to capture a snapshot of the complete state of the enterprise at a given point in time.

In the s, we saw the next attempt to homogenize the enterprise application landscape, this time through enterprise-wide middleware standards. The concept of the Enterprise Software Bus became popular. The idea was that by agreeing on a ubiquitous, technology-independent, enterprise-wide standard for communication between software modules, the problem of application integration would be solved once and for all.

However, the reality in almost all enterprises today is that in addition to application heterogeneity, we now face the problem of middleware heterogeneity as well. In many cases, middleware such as CORBA was only used to solve point-to-point integration problems on a per-project basis, instead of being established as a global software bus; as a result, many enterprises now have nearly as many incompatible middleware systems as they have applications.

In general, it seems fair to say that enterprise standardization efforts in IT have failed to deliver on their promise of homogenization and easy application integration. As a reader of a book on Service-Oriented Architectures, you might now be asking yourself, "So what is different this time? How are SOAP and WSDLwhile maybe technically superior and more flexiblegoing to address the organizational challenges of global standards that made the Enterprise Data Model, the Enterprise Software Bus, and many other enterprise standardization efforts fail to a large extent?

This book takes the position that SOA is neither a technology nor a technology standard, but instead it represents a technology-independent, high-level concept that provides architectural blueprints, such as the ones outlined in the first part of this book.

These architectural blueprints are focusing on the slicing, dicing, and composition of the enterprise application layer in a way that the components that are created and exposed as services in the SOA are not only technically independent but also have a direct relationship to business functionality.

They enable the structuring of application components on the local level while also catering for global integration of these components. Therefore, an SOA does not impose adherence to technical standards on the global level and is not based on strict norms and specifications see Figure Organizational Aspects When talking about enterprise IT, it is important to realize that manyif not mostof the problems associated with it are not of a technical nature but can be found on the organizational level instead.

Quite naturally, we have already implicitly touched on many of these organizational aspects in our discussion so far for example, when discussing the reasons for the failure of enterprise standards such as the Enterprise Data Model or the Enterprise Software Bus, which largely resulted from problems on the organizational and not the technical level. The IT organization and the way projects are managed in a large enterprise are again very different from what one would find, for example, in a company that produced embedded systems or games.

First and foremost, it is important to realize that most likely in no other part of the software industry will we find a development and maintenance process that is so closely aligned with the end customer.

This issue presents fourteen 14 papers on a variety of aspects of service science, management, and engineering in an effort to help define and promote research in this emerging multidisciplinary field. However, a number of problems how to efficiently use this architecture to compose applications to support business goals is still a hard problem requiring specific expertise as well as tedious human involvement.

In this article, we motivate and outline a new approach towards goal-driven business process composition based on the 'enterprise physics metaphor'. On the foundation of formally stated business goals, descriptions of Web services and the formalization of business policies, we explain how business processes capable to achieve stated business goals can be generated utilizing generic, logic-based strategies Policy-oriented enterprise management's essential objective is to show the applicability, value, and feasibility of using computational logic in modern enterprise management as a next step in software development.

POEM's application of computational logic can lead to a paradigmatic shift in the relationship between enterprise management and the software supporting it. Such a shift might even close the gap between business experts' understanding of their domain and software engineers' realization of appropriate software.

Services Oriented Architecture (SOA) Infrastructure Market - ibm.com

A goal-driven approach to business process composition uses generic, logic-based strategies, descriptions of Web services, and formalized business policies to generate business processes that satisfy the stated business goals. The approach is based on an enterprise physics metaphor, in which business objects are analogous to physical objects and policies are analogous to physical laws.

POEM addresses executable enterprise modeling: not just a model, and not just executable: the model is the code — all of it. It endeavors to be as direct an executable expression of policies as possible The POEM project exploits the ideas of the policy-oriented approach in the business environment The POEM interface assistant has to provide: 1 Achievment of 'real-world awareness' by means of situation description, especially of elevant situation constituents; 2 Assistance in formulating achievable process goals based on resources and context; 3 Decision support for conflict resolution, policy acquisition and monitoring; 4 Explanation of generated process designs proofs , stating which services and policies were observed and used, respectively; 5 Automatic generation of process design documentation.

See the presentation by Charles Petrie. Also in PDF format. The top-down and bottom-up approaches to promoting SOA within the enterprise are also illustrated, along with a set of SOA business and information technology lessons learned It defines and creates reusable message constructs and data vocabularies. Additional interoperability standards: From a service consumer's perspective, some level of consistency in interfaces is required to facilitate interactions involving multiple services, such as when composite business services are involved.

The Developing Web Services internal standard was mandated to increase the interoperability and consistency of deployed Web services. As an example, additional requirements and guidelines are being written into this IBM internal standard to ensure a consistent description of REST services, because this style is not governed by industry standards such standards do exist for SOAP-based services, namely Web Services Description Language.

Watson Research Center. Because access is not limited to a specific organization, explicit component contracts and universally adopted standards must support third-party access. Although such contracts could cover any technical or business aspect of service interaction, the current focus is on quality-of-service QoS policies.

From an SOA point of view, we must consider two separate aspects of the use of QoS policies: interoperability between components, which is the subject of the Web services specifications stack; and composition, which composition models, such as the service component architecture SCA Policies encode QoS properties such as security, reliable delivery, and transactional behavior.

SOA contracts based on these Web services standards are already becoming commonplace in enterprise and scientific computing. However, basic support is not enough. If the SOA concept is to achieve its full potential, the SOA framework must evolve toward richer and more meaningful contracts.

To meet this objective, work is under way on industry- specific standards to provide shared business semantic definitions across industries, and there is significant growth in semantic Web services research to provide a more flexible support environment for such contracts. These two developments — one to standardize industryspecific semantics and the other to incorporate semantic capabilities into the basic infrastructure — are complementary and could revolutionize the practice of SOA and enterprise computing There are two models of service composition in SOAs.

If you are a software architect, this book provides you with hands-on guidelines for the design of SOAs. You will find the definition of an SOA together with its key terms as we distinguish the SOA from approaches such as component architectures and software buses. Furthermore, this book provides concrete guidance for the most important design decisions one will encounter in practice. These guidelines comprise identifying services, assigning the appropriate service type and allocating the ownership of data to services.

You will also discover how to utilize expansion stages in order to enable stepwise SOA introduction. This book also provides valuable advice on the design of a functional infrastructure for business processes and on how to achieve process integrity, approach heterogeneity, and initiate the technical infrastructure.

We discuss these guidelines with respect to different application types, including Web applications, fat clients, mobile applications, EAI, and multi-channel applications.

For the purpose of software architects, Chapters 4 to 10 are most valuable. In addition, Chapter 13, which covers SOA project management, will be helpful in ensuring an efficient collaboration within an SOA project. Do you see yourself in the role of an SOA evangelist?

If you intend to implement an SOA within your own organization, you must successfully promote your ideas. Most importantly, you must be able to communicate the benefits of the SOA to all stakeholders of the application landscape within your organization. Chapter 11 will be of special interest to you because it presents the key benefits of SOA for the organization and each individual stakeholder. In addition, Chapter 12 provides an in-depth description of the steps required to set up an SOA, with considerable practice-oriented advice as to the introduction of appropriate processes and boards.

After reading this book, you should have a deeper understanding of SOAs, enabling you to effectively argue the benefits to different stakeholders and to establish the necessary processes and boards to make your SOA endeavor a success! If you are a software designer, analyst, or developer working in an SOA project, although you are likely to work in a specific part of your application landscape, this book will help you obtain a better understanding of the entire process.

Furthermore, there are key challenges such as process integrity that directly impact your work. This bookin particular Chapters 7 to 10helps to address these challenges in a coordinated manner within your SOA project. If you work in the IT strategy department of an large organization, you should read this book in order to find out how SOAs can add to your IT strategy. Your work is likely to be driven by the demand for agility and cost effectiveness. Many enterprises have experienced projects that failed to deliver the required functionality and therefore lost business opportunities.

Furthermore, many application landscapes suffer from high maintenance costs for their inherited assets and the integration of new applications. Finally, several strategies for introducing the SOA within the organization are presented. Those success stories provide "living proof" of SOA success and offer an impression of the different ways an SOA can be established.

If you are an experienced project manager, you should read this book in order to understand the specific benefits of SOAs for project management.

The SOA approach implies a major simplification of the overall software development process, and this book makes these benefits accessible. However, SOAs will challenge you, and as a result, this book presents solutions to the most important problems one encounters in an SOA project, both from the A Roadmap for This Book The successful adoption of an Enterprise SOA is based on three fundamental factors: architecture, organization, and lessons drawn from real-world experience.

A successful SOA adoption accelerates an enterprise by reducing the gap between strategy and process changes on one hand and supporting IT systems on the other.

Enterprise SOA; Service-Oriented Architecture Best Practices.pdf

The IT architecture and the business organization are mutually dependent, although they both drive each other. Finally, real-world experience, in particular previous long-term IT infrastructure initiatives both successful and unsuccessful influence and validate many of the core concepts of SOA. Not surprisingly, this book is structured around these three factors.

After we introduce the subject area in Chapters 1 to 3, Part I, Chapters 4 to 10, focuses on the architecture. Part II, Chapters 11 to 13, discusses the challenges of introducing an SOA at the level of the organization, depicting its benefits, processes, and project management.

Chapter 2, "The Evolution of the Service Concept," describes how commercial information technology has moved toward the service concept over the last 40 years. Today's SOA is the preliminary endpoint of many years of painful "testing.

Chapter 3, "Inventory of Distributed Computing Concepts," introduces the fundamental concepts of distributed computing that are required for subsequent discussions in Part I Chapters Particular topics will be communication infrastructures, synchronous versus asynchronous communication, payload semantics, granularity, and loose versus tight coupling. Chapter 4, "Service-Oriented Architectures," describes the particular requirements of large organizations for building an architecture and defines the term "Service-Oriented Architecture" as it is used throughout this book.

Chapter 5, "Services as Building Blocks," is a direct continuation of Chapter 4. It introduces different service typesnamely basic, intermediary, process-centric, and external servicesand gives an in-depth discussion of their key characteristics. Chapter 6, "The Architectural Roadmap," completes the discussion started in Chapter 5. Using the concept of building blocks, the high-level structure of SOAs is depicted. Chapter 6 introduces two key concepts: SOA layers and expansion stages.

SOA layers aim to organize the aforementioned services at the enterprise level.

Expansion stages are well-defined levels of maturity of an SOA that enable a stepwise implementation. Chapter 1. The aim of this roadmap is to strike a good balance between immediate gains on one hand and long-lasting improvements to the enterprise IT landscape on the other. An SOA should increase the capability of an enterprise to address new business requirements on the short term by reusing existing business logic and data models, thus incurring only minimal cost, resource, and time overheads, while minimizing risks, especially when compared to rewriting entire application systems.

In addition, an SOA should provide endurable benefits in terms of agility because it provides a long-term strategy for the increase of the flexibility of an IT infrastructure. This chapter closely looks at the problems faced by enterprise software today, the resulting requirements for an enterprise IT architecture such as an SOA, and how such an architecture can be established on the organizational level.

Carr published the heatedly debated article "IT doesn't matter" in the Harvard Business Review, claiming that " Because of today's highly competitive global economy, these business processes underlie constant change: Enterprises must constantly sense changes in market conditions and swiftly adapt their strategies to reflect these changes.

Therefore, it is a key requirement for modern enterprise IT that changes in company strategy be reflected quickly and efficiently in the company's IT systems, which are the backbone for executing the strategy.

This is exactly where the enterprise software dilemma starts: Today's enterprise software development almost always suffers from lack of agility and from inefficiency. This means that enterprises are not able to match business requirements onto underlying IT infrastructure fast enough, effectively limiting the capability of the enterprise to react appropriately to market demands. In addition, the inefficiency of enterprise software development means that the development that is actually done costs too much when compared to the actual output.

If we look at a typical enterprise software system, we can normally observe an initial phase of high productivity and agility, as shown in Figure During this Green field phase, the system is built with much new functionality, and initial change requests can be implemented relatively quickly and efficiently.

However, after the initial system implementation has been put in place and the first couple of change requests have been executed, the ability to make more changes to the system deteriorates dramatically, and maintenance over time becomes harder and harder. Figure Change requests reduce the agility of a system over time. This stagnation phase, which almost any enterprise software system experiences over time, cannot be explained by a single reasona number of factors contribute to this phenomenon.

Some of these reasons are related to software technology, such as the difficulty of making structural changes to an existing code base. However, most of the reasons are not of a technical nature but rather are related to reasons on the organizational level. For example, after 1. Enterprise Software Is a Different Animal In order to better understand the problems of enterprise software, we need to look at the specific characteristics of it, which are different from those of other types of software, such as system software, desktop applications, embedded systems, scientific software, or video games.

As the name indicates, enterprise software is tightly coupled with the internal organization, processes, and business model of the enterprise. Enterprise software underlies both cross-departmental dependencies and external business relationships.

Consequently, an architecture for enterprise software must deal with large numbers of different requirements. Many of these requirements are conflicting, while others are unclear.

In almost every case, the requirements are a moving target due to the permanent change of markets, the organization of the enterprise, and its business objectives. It is this involvement in all aspects of the enterprise and the business that makes enterprise software highly complex. Enterprise applications rarely contain a large amount of complicated algorithms.

The code that describes a piece of business logic is usually very simple. The structure of a COBOL-based billing system is much simpler than, for example, an embedded system for a Mars robot with complex real-time and multi-threading requirements. In enterprise applications, one usually finds very simple data structures, which again are different from other systems such as geographic information systems GIS.

Let's consider an example in order to illustrate the difference between enterprise applications and other software: An enterprise application such as a Customer Relationship Management System CRM , a billing system, a shipping system, or an insurance claims processing system.

The stakeholders in these systems include different business units and potentially even the CEO, as well as different IT projects, IT maintenance, and operations. In these scenarios, we will be facing highly heterogeneous teams and often very political environments. The technology landscape will be highly heterogeneous as well, including many different application and middleware platforms. The business data and content will have a very long lifetime, especially when compared with the much shorter cycles of technology innovation.

We need to deal with constantly changing functional requirements that are usually not well-defined. In addition, we will be facing many cross-dependencies between functional requirements, as well as heterogeneous technology platforms.

The number of end users will be potentially very large, and the applications will have to be rolled out to large numbers of PCs, often more than 10, Take, on the other hand, a desktop application, such as a word processor or spreadsheet application.

A smaller, more homogeneous technical team will develop this application. It will be used by office workers as well, but the problem space is more well-defined.

The application logic is self-contained, with very few cross-dependencies. Finally, there is no roll-out problem because the end user is typically responsible for the installation himself. As we can see from these examples, enterprise software is unique in many respects, and therefore, it requires unique measures to ensure the efficiency of its development and maintenance. The Importance of Enterprise Software Architectures According to the second law of thermodynamics, any closed system cannot increase its internal order by itself.

In fact, any activity that is geared toward ordering the system will increase its overall disorder called entropy. In many respects, this law is also applicable to enterprise software, which often has very similar characteristics.

Consequently, outside intervention is continually required to help create a higher order and to ensure that development efforts are not lost. In enterprise software, the architect takes on the role as an outside influencer and controller. It is his responsibility to oversee individual software projects from the strategic point of view of the overall organization, as well as from the tactical, goal-oriented viewpoint of the individual project.

He has to balance different requirements while attempting to create an enduring order within the enterprise software landscape. The enterprise software architecture is the architect's most important tool at hand.

Software architects are constantly confronted with changes to and expansion of functionality that increase system complexity and reduce efficiency. By refactoring current solutions, architects constantly strive to reduce complexity and thereby increase the agility of the system see Figure Software architects use refactoring to fight the constant increase in system complexity.In terms of approach, the primary difference between the Reference Model and this Reference Architecture Foundation is that the former focuses entirely on a common language of the distinguishing features of SOA; whereas this document introduces concepts and architectural elements as needed in order to fulfill the core requirement of using, realizing and owning SOA-based systems.

By Dirk Krafzig, Karl Banke, Dirk Slama

Part II, Chapters 11 to 13, discusses the challenges of introducing an SOA at the level of the organization, depicting its benefits, processes, and project management. A successful SOA adoption accelerates an enterprise by reducing the gap between strategy and process changes on one hand and supporting IT systems on the other.

Application frontends are similar to the upper layers of traditional multilayer applications. Large organizations have learned that reuse is not always efficient because it is particularly costly to administer. Most of them are simply good coding practices or design patterns.