What is SOA?
Why SOA?
Advantages of SOA
SOA Governance
SOA Management
SOA Orchestration
SOA Choreography
History of SOA
What is SOA?
Why SOA?
Advantages of SOA
SOA Governance
SOA Management
SOA Implementation
SOA Orchestration
SOA Choreography
Case Studies
Conclusion
History of SOA…
2. To compansate the work done manully and replace the processes with
softwares.
When the businesses are growing more and more. It has to addresses
the following issues
This sounds a bit too abstract, but SOA is actually everywhere. Let's look at
an example of SOA which is likely to be found in your living room. Take a CD
for instance. If you want to play it, you put your CD into a CD player and the
player plays it for you. The CD player offers a CD playing service. This is nice
because you can replace one CD player with another. You can play the same
CD on a portable player or on your expensive stereo. They both offer the
same CD playing service, but the quality of service is different.
Every CD would come with its own player and they are not supposed to be
separated. This sounds odd, but it's the way we have built many software
systems.
Service Encapsulation
Service Contracts
Service Abstraction
Service Reusability
Service Compos-ability
Service Autonomy
Service Optimization
Service Discoverability
There are two main styles of Web services: SOAP web services and REST
web services.
Why SOA?
Advantages Of SOA
Re-Usability
Loosely Coupled
Inter – Operability
SOA Implementation
SOA Governance
• IT Governance
• Corporate Governance
It covers all aspects of the SOA life cycle. This model includes things like the
SOA vision, a starting point for SOA, the SOA processes that need to be
governed; the governance mechanisms that will be used to manage the SOA
environment — the policies, the principle, the standards, the procedures needed
to guide decision-making, the dashboards and metrics to monitor progress; the
skills needed to implement SOA; the organizational structure and change
management, including the governance charter, the center of excellence for
SOA, the roles and responsibilities, etc.; and the SOA infrastructure and the
supporting tools, especially those that are different from the non-SOA
implementations we have running in our environment.
a) Policies
b) Principle
c) Standards
d) Procedures
Governance becomes more important in SOA than in general IT. In SOA, service
consumers and service providers run in different processes, are developed and
managed by different departments, and require a lot of coordination to work
together successfully. For SOA to succeed, multiple applications need to share
common services, which means they need to coordinate on making those
services common and reusable. These are governance issues, and they're much
more complex than in the days of monolithic applications or even in the days of
reusable code and components.
SOA governance doesn't design the services, but guides how the services will be
designed. It helps answer many thorny questions related to SOA: What services
are available? Who can use them? How reliable are they? How long will they be
supported? Can you depend on them to not change? What if you want them to
change, for example, to fix a bug? Or to add a new feature? What if two
consumers want the same service to work differently? Just because you decide
to expose a service, does that mean you're obligated to support it forever? If you
decide to consume a service, can you be confident that it won't be shut down
tomorrow?
• Service definition
o Services must be identified, their functionality described,
their behavior scoped, and their interfaces designed.
• Service deployment life cycle
o Planned
o Test
o Active - Maintenance
o Deprecated
o Sunsetted
• Service versioning
o No sooner than a service is made available, the users of
those services start needing changes. Bugs need to be fixed,
new functionality added, interfaces redesigned, and
unneeded functionality removed.
o Service versioning meets these contradictory goals. It
enables users satisfied with an existing service to continue
using it unchanged, yet allows the service to evolve to meet
the needs of users with new requirements.
• Service migration
o When a consumer starts using a service, it is creating a
dependency on that service, a dependency that has to be
managed. A management technique is for planned, periodic
migration to newer versions of the service.
• Service registries
o When a consumer starts using a service, a dependency on
that service is created. While each consumer clearly knows
which services it depends on, globally throughout an
enterprise these dependencies can be difficult to detect,
much less manage. Not only can a registry list services and
providers, but it can also track dependencies between
consumers and services. This tracking can help answer the
age-old question: Who's using this service? A registry aware
of dependencies can then notify consumers of changes in
providers, such as when a service becoming deprecated
• Service message model
• Service monitoring
• Service ownership
• Service testing
• Service security
• SOA Management
• SOA Orchestration
• SOA Choreography
Case Studies
Conclusion
References
SOA Governance
o http://www.ibm.com/developerworks/library/ar-servgov/