Answer 1: A summary of what you learned.
IT has played a substantial role in the globalization and virtualization of our economic
lives. Modern enterprises are completely dependent on their IT. Today’s enterprise and
IT share the same dynamics. It is seen that business rules have been constantly redefined.
Due to constant increasing pressures, high level of agility and flexibility is expected from
enterprise IT. Also cost efficiency plays a key role in today’s scenario. These pressures
have put a compulsion on the enterprises to efficiently reuse their existing systems. This
is done while developing new functionality and constantly adapting to changing business
requirements. This compulsion has been met by integrating IT landscapes which also
improves IT efficiency and agility. Thus, it led to the emergence of middleware tools and
Enterprise Application Integration platforms which have now been culminated in the
principles of Service Oriented Architecture. An enterprise application landscapes a
variety of technologies and concepts for distribution. A modern architecture should
embrace all these technologies and concepts. The book discusses the necessity of
carefully choosing the correct approach to integrate different software components.
SOA is an important revolutionary point in the development of integration technologies.
It focuses on business centric services with business level transaction granularity. SOA is
not dependent on a single technical protocol but represents an architectural blueprint
which incorporates many technologies and bridges these technologies. The core issue is
defining clear service contracts with clear business orientation. SOA is based on four key
abstractions: application frontend service, service, service repository and service bus.
Application frontend service initiates all activity, start business processes and receive
their results. Typical examples of application frontends are GUIs, long-running server-
processes or batch programs. They utilize the services of an SOA that provide the
business logic and data. A service is a fundamental building block of an SOA. It consists
of a service contract, one or more service interfaces, and a service implementation. The
different categories of services are, namely basic services, intermediary services, process-
centric services, and public enterprise services. An Enterprise Service Bus (ESB) is a
software bus that enables communication between the various components of an SOA.
An ESB usually provides additional value by solving issues like security, fault-tolerance,
distributed transactions, logging and auditing, unified access to different synchronous and
asynchronous communication modes, scalability, etc. A service repository is a database
that provides information about services of an SOA. As a key element it provides the
service contract of the individual services.
An architectural roadmap identifies three level of maturity (Expansion stages) of an SOA:
fundamental, networked, and process-enabled. A simple approach to SOA is a
fundamental SOA comprising basic services and application frontends. The fundamental
SOA delivers a maintainable infrastructure containing business logic and data of the
enterprise. A networked SOA is an expansion stage of an SOA that comprises application
frontends, basic services, and intermediary services. A process-enabled SOA is the most
sophisticated SOA expansion stage. It comprises all service types - i.e. basic,
intermediary and process-centric services. Most importantly a process-enabled SOA is
characterized by process-centric services that manage the state of the business processes
and provide the rules for their execution.
The process-driven and service-oriented architecture presented by the combination of
SOA and BPM provides an ideal environment for building adaptable, model-driven
composite applications from existing IT assets and infrastructure. It is important to ensure
process integrity however, it is more important to understand the tradeoff between
process integrity and implementation costs. A 2PC protocol provides a high level of
integrity but comes with a very high implementation costs. SOA project management
provides tools to enable project managers to find the right trade off between
implementation costs and integrity requirements.
The organizational roadmap discusses the benefits of an SOA at the organizational level.
How the perspective of key players and individual stakeholders play an important role in
building an SOA driven enterprise. We have talked about the increasing pressures on an
enterprise to withstand ever changing demands in a competitive market. This leads to the
necessity for an enterprise to be agile thus the requirement of SOA. Though agility and
efficiency are the prime benefits of an SOA, they should help increase the profit and
foster savings of an enterprise. The savings are distinguished as direct (IT savings) and
indirect (business savings). Code reuse reduces redundancies and inconsistencies in
business data. SOA provides a lot of technological independence, decoupling of
technology lifecycles from the lifecycles of business services. However, it can be said
that technology dependencies can never be completely eliminated. SOA’s are different
from other architectures since they enables an efficient decomposition of functionality
into largely decoupled components of manageable size and are not tied to any specific
technology. For an SOA endeavor to become successful, it is required to convince key
stakeholders of the enterprise to support the SOA. The four pillars that determine the
success of an enterprise’s SOA are securing a budget, choosing a suitable project, setting
up a strong SOA team and finding backers and buddies.
SOA driven project management means adopting a set of useful, SOA practices that are
complementary to an established methodology. The key issue learned in project
management is the mapping of project control elements and software artifacts. Another
important role in the enterprise level project management is that enterprise level
applications always have to be synchronizes not only during the development time but
also during their lifetime in a production environment. Services are ideally suited for
managing runtime synchronization of sub-systems. It is required to drive the projects
with service contracts. Service contracts provide the backbone for coordinating multiple
projects on the program level and coordinating multiple sub projects on the project level.
Testing is a quality control tool in software development and is grouped in different
categories depending on the required objective and level of granularity. Load testing
means testing a component under specific load for a defined time. Functional testing
means ensuring that the operational results of a software component are consistent with
The book also illustrates an example for SOA driven project management as chapter 15
in which a leading Swiss insurance company Winterthur faced issues of historical grown
systems and information pits. The company largely banked on their IT infrastructure to
manage assets, products, processes, customers. The company found the need to increase
their IT efficiency and agility. The company’s core business systems were based on
mainframe computers for their back-end systems. They found the need to open these
back-end systems. The main reason behind this was the reuse of the core business logic
and data on these systems for new front-end systems on non mainframe platforms. They
built an application and integration platform which was the technical basis for
Winterthur’s SOA. Similarly, the Credit Suisse Group was re-architectured on the basis
of this technical platform as discussed in Chapter 16. The CIO of the company introduces
an integration architecture based on SOA.
Describe in one or two paragraphs what SOA is about :
The book conveys the ultimate goal of an enterprise is to be agile. The Agile Enterprise
embodies the vision of an enterprise capable of dealing with and thriving in a complex
and ever changing business environment – an enterprise that can continually reinvent
itself. It is one of the major goals of SOA to provide an IT infrastructure for the Agile
Enterprise by creating services that act as flexible building blocks that can easily be
rearranged according to the needs of the Agile Enterprise.
SOA is an intended state that many organizations may approach but never fully attain.
It’s all about achieving maximum reuse and minimum redundancy of services throughout
complex, multiplatform distributed environments. In SOA architecture, every function is
defined as a service with a service interface. Services are abstracted from the underlying
logic that delivers the result. An SOA facilitates loose coupling by separating the
producer of the service from the consumer of the service. Services are coarsely grained.
The SOA vision is elaborated by adding Web services, IT governance, enterprise service
bus (ESB), business process management (BPM), model-driven architecture (MDA). The
goal for a SOA is collaboration of services, which are available for invocation on the
Service Bus. Adopting SOA is essential to deliver the business agility and IT flexibility
promised by Web Services.
Web services are middleware and development environment that enable complete service
virtualization, abstraction, loose coupling, and reuse. Web services are the preferred
environment for SOA.
SOAP— The Simple Object Access Protocol is a standard of the W3C. It provides a
framework for exchanging XML-based information.
WSDL— Web Services Description Language (WSDL) is a standard of the W3C. It is an
XML-based language for the description of capabilities and locations of Web services.
UDDI— Universal Description, Discovery, and Integration (UDDI) represents a standard
for the implementation of service repositories. UDDI provides a platform around Web
services technologies such as Simple Object Access Protocol (SOAP) and Web Services
Description Language (WSDL).
This course has been extremely helpful to me in envisioning what SOA is really about. I
am an undergraduate student and have no real world enterprise experience. Though I was
a tiny bit aware of what SOA is and how it has catapulted itself in modern enterprise, the
in-depth knowledge and technical aspects were learned from the book. The architectural
roadmap was taught in chapters 4 to chapter 10. However, chapter 6,7,9 and 10 were of
particular interest since they taught the fundamentals of SOA and business project
management. In the second part of the book, chapter 11 was of particular interest to me
solely because it was the chapter that was assigned to me as a project, but besides it
shows the organizational roadmap of an SOA. It helps us know how an SOA can be
successfully established, how an enterprise can reach a competitive edge by becoming
agile and flexible and the key roles to be considered rather convinced in an enterprise for
an SOA to happen. I guess the driving force behind learning this chapter very well was
that I had to make a presentation on it. The third section deals with real world
experiences cited as examples, which I have discussed above. It describes the successful
introduction of SOA on the enterprise level. It discusses aspects on how SOA was
introduced both at organizational and technical level. The book for enterprise SOA is
compact and basically teaches us all the aspects that are required to know, however it
would have been good to learn the use of Service Component Architecture (SCA) to
implement SOA, as this is a current area of research.
In the building web services with java book I liked chapters 3, 4 and 5. I grabbed the gist
of SOAP protocol and how web services were described using WSDL. I learned that Web
services are application components that communicate using open protocols and that
XML is the basis for web services. The topic of interest in this book was about SOAP,
the messaging network, the need for intermediaries, the processing model, how errors and
faults were handled. It was taught very well. A web service approach is about integrating
business functionality within an organization or integrating applications between business
partners. A more hands on experience on building web services would be appreciated.
In all, the inclusion of this course has enhanced our enterprise vision and the Enterprise
SOA book can be seen as a guideline to building SOA in our next endeavor.
Answer 2: Secret code = WSDL