A little bit of everything related to SOA including: Basic concepts, history, standards, business value, ESB, methodologies, maturity models & SOA governance.
2. SOA-tr
Before we start…
SOA knows what you did last summer,
and is disappointed that it wasn't SOA.
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 2
3. SOA-tr
Facts Concerning Me
One person successfully described SOA
completely, and immediately died.
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 3
4. SOA-tr
Facts Concerning You
SOA is not complex. You are just dumb.
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 4
5. SOA-tr
Agenda
› Getting Started
› Why Love SOA?
› History
› Services
– Principles, Classification, Delivery, Modeling, Development
› Reference Architectures
› Enterprise Service Bus
› SOA Maturity Models
› SOA Methodologies
› SOA Governance
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 5
6. SOA-tr
GETTING STARTED
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 6
7. SOA-tr
Getting Started
› A nice idea (i.e. architectural style)
developed for better business and IT with
the use of services.
A Service = A Business or an
IT capability (exposed by its
provider)
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 7
8. SOA-tr
Services, Services & Services
› SOA. Good Idea, Hard Task.
Re-organize IT Like this To make these
Heterogeneous Business Business
IT Environment Services Agility
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 8
9. SOA-tr
Example Services
UpdateCustomerAddress
GetNextInvoiceDate ActivateSubscription
Billing CRM OM
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 9
10. SOA-tr
Example Services
InitiateOrder
UpdateCustomerAddress
Sales, Fınance,
Logistics…
Warehouse E-shopping
Portal
Customer
Care
Suppliers CRM
Email
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 10
11. Conceptual View Of The Service SOA-tr
Architecture
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 11
12. SOA-tr
What does SOA do
for me?
WHY LOVE SOA?
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 12
13. SOA-tr
What Does SOA Do For Me?
SOA takes out the complexity of IT;
Technology is no more a burden, but an
enabler for better business and innovation.
Chief Executive
Officer
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 13
14. SOA-tr
What Does SOA Do For Me?
Reduces time in satisfying the needs of the
business. Reusability maximizes ROI of our
applications and technologies
Chief Information
Officer
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 14
15. SOA-tr
What Does SOA Do For Me?
Offer services to customers, partners & others
within the organization. Be more flexible, agile
and faster in business.
Business Executive
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 15
16. SOA-tr
What Does SOA Do For Me?
With SOA enablement and adoption, there will
be no more locked in business value and
processes within the heteregenous IT
ecosystem
Business Analyst
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 16
17. SOA-tr
What Does SOA Do For Me?
Visible IT landscape enables the development
of dynamic, collaborative, configurable
applications that are ready for change.
Enterprise Architect
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 17
18. SOA-tr
What Does SOA Do For Me?
SOA brings standards, architectural patterns,
reusability and technology neutral approach to
our integration efforts.
IT/Software Architect
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 18
19. SOA-tr
What Does SOA Do For Me?
SOA assures an architectural effort is taken
before going into development. Reusabilty,
discoverability and granularity of the services
makes it easier to develop apps.
And it looks
good on CV...
SW Developer
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 19
20. SOA-tr
Reading > Case Studies
› SOA Consortium Case Studies
http://goo.gl/rJzqH
› The Open Group Case Studies
http://goo.gl/hvk44
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 20
21. SOA-tr
Reading > Example Use Case (1/3)
Telecommunications Carrier in North
America
Business Need:
– Present a unified look and feel to telecommunication carrier’s
internal and external customers, despite the multitude of
acquisitions
– Dramatically reduce the cost of operations and eliminate duplication
of effort enterprise-wide by focusing on the core 400 activities used
to run the business
– Leverage reusable services with backend systems, based on
business rules around the 400 activities
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 21
22. SOA-tr
Reading > Example Use Case(2/3)
Telecommunications Carrier in North
America
Use Case:
– Mega project to develop “One” architecture, integrating all backend
legacy systems from acquisitions, then abstracting the data using
AquaLogic Data Services Platform
– 450 applications built on common Infrastructure, used across billing,
organization, provisioning and customer care
– SOA portal enabling developers to review top services consumed,
review library of services, and review tips and tools
– Establish Multiple Centers of Excellence, roadmap efforts, training,
etc.
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 22
23. SOA-tr
Reading > Example Use Case (3/3)
Telecommunications Carrier in North
America
Results: SOA Value Delivered
– Reduced network outages to zero
– Stronger focus on strategic initiatives, with only 30% of IT spend on
operations (vs. 85% - 95%)
– More transparency by masking systems complexity from users
– $80 million in value over two years, from improved efficiency,
responsiveness, and adaptability of the organization
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 23
24. SOA-tr
Reading > SOA Readiness/Assessment
› JBOSS SOA Assessment Tool: http://goo.gl/ng9wh
› IBM SOA Self-Assessment: http://goo.gl/koxUa
› Software AG SOA Value Assesment: http://goo.gl/iF3OG
› TIBCO ROI Calculator: http://goo.gl/qstl8
› Macehiter Ward Dutton: http://goo.gl/e0qFh
› Sun SOA Readiness Whitepaper: http://goo.gl/Gbuly
› David Conway, Independent Cons. : http://goo.gl/0saeC
› Jeremy Westerman, Business Value of SOA:
http://goo.gl/kLtQK
› Logic Library, ROI of SOA: http://goo.gl/lIX5C
› SAP SOA Value Assessment: http://goo.gl/z1M3W
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 24
25. SOA-tr
A BRIEF HISTORY
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 25
26. SOA-tr
How Did It Come To SOA?
› Changes in IT approach
Build Buy Compose
Apps Apps Apps
60s 70s 80s 90s 00s 10s
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 26
27. SOA-tr
How Did It Come To SOA?
› Changes in architectures
Monolithic 2-Tier N-Tier SOA
Advances in networking (More distributed computing)
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 27
28. SOA-tr
How Did It Come To SOA?
› Changes in architectures
Advances in networking (More distributed computing)
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 28
29. SOA-tr
How Did It Come To SOA?
› Integration is not a new issue
› Socket Programming
–Low level programming
› RPC (Remote Procedure Call)
–Defined by IETF in RFC 1831.
–Function-oriented, Not suitable for n-tier apps
› DOC (Distributed Object Computing)
–CORBA, DCOM/COM+, RMI
–Based on Objects and Object Managers (Object Request
Brokers/Registry Service)
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 29
30. SOA-tr
EAI > Enterprise Application Integration
› An integration framework composed of a collection of
capabilities and technologies that form a middleware to
enable integration of systems and applications accross the
enterprise.
App App App
App Programming Interface
Middleware
System System System System
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 30
31. SOA-tr
MOM > Message Oriented Middleware
› Message Oriented Middleware (MOM)
– Exchanging messages across distributed systems (routing &
transformation)
– Many depend on Message Queue systems
– Standards: JMS, MSMQ, AMQP, STOMP
– Hardware Middleware: http://goo.gl/cKt4P
› Commercial Examples
– IBM WebSphereMQ, TIBCO EMS, Progress SonicMQ, MS Biztalk,
webMethods IS, Oracle AQ
› Open Source Examples
– Apache ActiveMQ, Apache Qpid, Fuse Message Broker/Mediation Router,
OpenSAF (GoAhead & MontaVista), Glassfish MQ, Spring RabbitMQ,
– More: http://www.ow2.org/view/Activities/ProjectsByFunction#MW
– Evaluation:
http://wiki.secondlife.com/wiki/Message_Queue_Evaluation_Notes#Sprinkle
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 31
32. SOA-tr
DATA INTEGRATION MIDDLEWARE
› Data Integration
– Has many different flavors (ETL “Extract, Transform, Load”, Data
Mapping, MDM, Information Integration, Semantic Integration)
› Commercial Examples
– Oracle ODI, webMethods OneData, AbInitio, Progress DataXtend
SI, IBM InfoSphere, SAS EDIS
› Open Source Examples
– Pentaho, Talend Open Studio, Apatar, Clover ETL, Virtuoso,
JitterBit, XAware, WSO2 Data Services
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 32
34. SOA-tr
Bible Of Enterprise Integration
› Enterprise Integration
Patterns
– Patterns and best practices
for enterprise integration
– Consistent vocabulary and
visual notation
– Core language of EAI
– Gregor Hohpe & Bobby Woolf
http://www.eaipatterns.com
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 34
36. SOA-tr
Enterprise Integration Patterns
“..A composite message is splitted into parts and based on the
type of the sub-message, they are send to different inventories.
After that sub-messages are aggregated back to a new
message”
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 36
37. SOA-tr
Service design principles,
classification, delivery,
modeling and development
MORE ON SERVICES
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 37
38. SOA-tr
SERVICE DESIGN
PRINCIPLES
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 38
39. SOA-tr
What Makes A Good Service?
› Good services adhere to SOA Design Principles and they
are governed.
ABSTRACTION
LOOSELY COUPLED
REUSABILITY
AUTONOMY
DISCOVERABILITY
INTEROPERABILITY
SERVICE CONTRACT
STATELESSNESS
COMPOSIBILITY-GRANULARITY
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 39
40. SOA-tr
1- Service Contract
› Services should adhere to a conract where the service and
the terms of use is described
CONSUMER SERVICE
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 40
41. SOA-tr
2- Loosely Coupled
› Hide service implementation from the consumer, minimize
dependency
SERVICE INTERFACE
CONSUMER SERVICE CONSUMER SERVICE
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 41
42. SOA-tr
3- Autonomy
› Services should have control over the resources and
business logic they encapsulate
RESOURCES
& LOGIC
SERVICE
RESOURCES
& LOGIC SERVICE
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 42
43. SOA-tr
4- Service Abstraction
› Logic used by the service should be hidden from the
consumers
CONSUMER
SERVICE
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 43
44. SOA-tr
5- Reusability
› The real benefit of the Services lies in their level of
reusability.
CONSUMER
SERVICE
CONSUMER
CONSUMER
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 44
45. SOA-tr
6- Statelessness
› State management affects the availability of a service
hence makes the service unsuitable for reuse.
state
Request Response
time
Service
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 45
46. SOA-tr
7- Discoverability
› Consumers should find services easily
CONSUMER SERVICE
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 46
47. SOA-tr
8- Composibility
› Service design should allow composition of new services
(Composite Services) from existing services to handle
bigger problems.
SERVICE
BIG
CONSUMER SERVICE
SERVICE
SERVICE
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 47
48. SOA-tr
9- Interoperability
› Services should have standards-based access to support
diverse service consumers
CONSUMER
CONSUMER
CONSUMER SERVICE
CONSUMER
CONSUMER
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 48
49. SOA-tr
Reading > SOA Postulates
by Yogish Pai (http://entarch.blogspot.com/ )
› A service is an indivisible unit › There can be one or more
of work service consumers for a given
› A service is independent of the service
protocol or implementation › A line between the services is
› There will be one and only one the agreement between the
service producer producer and the consumer
› There can be multiple › A service can invoke other
instances of the same service services, thereby, creating a
› hierarchy of services
An entity that utilized the
service is called the service › A service not consumed by any
consumer producer is an orphan service
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 49
50. SOA-tr
SERVICE
CLASSIFICATION
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 50
51. SOA-tr
Service Classification
› Services can be classified in many ways
–Type of logic (Entity, Utility, Task)
–Granularity (Atomic, Composite)
–Provider (Business Domains, 3rd Parties)
–Consumer (Internal, External)
– ...
–Taxonomy (That’s another story)
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 51
52. SOA-tr
Atomic vs Composite
Business Processes and Applications
IT Systems and Applications
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 52
53. SOA-tr
Entity, Utility & Task
Business Processes and Applications
task
entity
utility
IT Systems and Applications
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 53
54. SOA-tr
ENTITY, UTILITY & TASK
› Task Service
– A business service associated
with a business task or process.
– E.g. ActivateSubscription
› Entity Service
– Services related to business
entities
– E.g. EmployeeService,
CustomerService
› UtilityService
– Non-business functional services › SOA Principles of Service
– E.g. Design
NotificationService,TaxCalculatio – Thomas Erl
nService
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 54
55. SOA-tr
Orchestration Choreography
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 55
56. SOA-tr
Reading > Orchestration vs Choreography
› BPEL (Business Process › WS-CDL (WS Choreography
Execution Language) Description Language)
› OASIS Standard › W3C Standard
› Orchestration or Choreography › A Critical Overview of the WS-
http://goo.gl/T3g5I CDL http://goo.gl/4UZXs
– When off the shelf products are – Where processes may scale to a
required (since this is the very high number of component
approach implemented by most steps
current products) – Where opacity of process details
– For composed services is desired among process
– Where transaction semantics can partners (such as B2B)
be handled by compensation – Where different process partners
alone may require their own process
– For relatively static process customizations
definitions – Where processes are highly
– Where a graphical process dynamic or goal-seeking
definition is desired
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 56
57. SOA-tr
SERVICE DELIVERY
APPROACHES
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 57
58. SOA-tr
Top-Down Service Delivery
Business Processes and Applications
IT Systems and Applications
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 58
59. SOA-tr
Bottom-Up Service Delivery
Business Processes and Applications
IT Systems and Applications
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 59
60. SOA-tr
Meet-In-The-Middle Service Delivery
Business Processes and Applications
IT Systems and Applications
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 60
61. SOA-tr
SERVICE MODELING
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 61
62. SOA-tr
WSDL Modeling w/ UML
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 62
63. SOA-tr
SOAML
› Developed by OMG http://www.omg.org/spec/SoaML/Current
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 63
64. SOA-tr
SOMF
› A modeling platform for Enterprise Architecture, Business
Architecture, Application Architecture, SOA and cloud
computing.
– http://www.modelingconcepts.com/
› Completely implemented in Sparx Enterprise Architect
› Proprietary UML stereotypes
› Looks complicated
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 64
66. SOA-tr
SERVICE
DEVELOPMENT
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 66
67. SOA-tr
Service Development
› SOA does not impose a service development technology
– i.e. Web Services ≠ SOA Services
– Real life examples:
› Spring EJBs
› CORBA Components
› SCA Components
› XML/HTTP
› Apache Thrift (Facebook)
› Well-known Service Frameworks
– SCA(*), Apache Axis2, Apache CXF, MS WCF, Hessian, WSO2
WSF, NuSOAP, Zolera, FuseSource Services Framework (CXF)
› SOAP WebService vs RESTful Web Service
– We’ll come to this later.
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 67
68. SOA-tr
SCA > Service Component Architecture
› Initiated by Open SOA (OSOA), now owned by OASIS
› Components might be built with different technologies
› The SCA specifications define how to create components and how to combine those
components into complete applications.
› Introduction to SCA: http://goo.gl/46APa
› Implementations and Tools
› Apache Tuscany
› Fabric3
› FraSCAti
› ServiceConduit
› TIBCO ServiceGrid
› IBM WID
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 68
70. SOA-tr
SERVICE STANDARDS
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 70
71. SOA-tr
Well-Known Service Standards
› XML XML, XSLT, XSL, Xquery, Xpath
› Message SOAP, JSON, XML
› Service Registry UDDI, ebXML
› WS-*
– WS-I Web service interoperability
– WS-Policy Defining web service policies
– WS-Security Using security token for integrity and confidentiality
– WS-ReliableMessaging Reliable delivery of messages
– WS-Discovery Discovery protocol to locate services
– Ws-Notification Event driven web services
– More http://en.wikipedia.org/wiki/List_of_web_service_specifications
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 71
72. SOA-tr
Where to go from here?
SOA REFERENCE
ARCHITECTURES
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 72
73. SOA-tr
Reference Architecture
› Visualizes the target architecture
› Creates an abstraction with a technology-neutral approach
› Helps to define and execute a roadmap
› Defines a common vocabulary for the architecture
› Helps to measure the progess made in building the target
architecture
Initiate Set Build Execute
SOA Principles an RA Roadmap
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 73
74. SOA-tr
Architecture Continuum
› Open Group’s SOA Reference Architecture Continuum.
› From Conceptual to Solution Architecture
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 74
75. SOA-tr
Open Group - SOA RA Logical View
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 75
77. SOA-tr
CBDI Reference FW Architecture
* Framework architecture for developing architectures
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 77
78. SOA-tr
Example > RA w/ Open Source
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 78
79. SOA-tr
Example Service Architecture
* SOA Practitioners’ Guide Part 2: SOA Reference Architecture
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 79
80. SOA-tr
The SOA Backbone
ENTERPRISE SERVICE BUS
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 80
81. SOA-tr
Enterprise Service Bus
› ESB provides high level services, service orchestration, service abstraction,
basic transformation and intelligent routing.
› Mediates communication between the service consumers and the providers.
› Provides security,management, monitoring, sync/async communications,
service versioning, QoS, framework for Service Reuse
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 81
82. SOA-tr
Demo > WSO2 ESB
› WSO2 ESB is an open source ESB based on Apache
Synapse
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 82
83. SOA-tr
Where’s your SOA.. at?
SOA MATURITY
MODELS
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 83
85. SOA-tr
You think you need help?
SOA
METHOLODOGIES
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 85
86. SOA-tr
Reading > SOA Manifesto
› Business value over technical strategy
› Strategic goals over project-specific benefits
› Intrinsic interoperability over custom integration
› Shared services over specific-purpose implementations
› Flexibility over optimization
› Evolutionary refinement over pursuit of initial perfection
http://www.soa-manifesto.org/
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 86
87. SOA-tr
Reading > SOA Manifesto (Cont’d)
1. Respect the social and power structure of the 8. Identify services through collaboration with
organization. business and technology stakeholders.
2. Recognize that SOA ultimately demands 9. Maximize service usage by considering the
change on many levels. current and future scope of utilization.
3. The scope of SOA adoption can vary. Keep 10. Verify that services satisfy business
efforts manageable and within meaningful requirements and goals.
boundaries.
11. Evolve services and their organization in
4. Products and standards alone will neither give response to real use.
you SOA nor apply the service orientation
paradigm for you.
12. Separate the different aspects of a system
that change at different rates.
5. SOA can be realized through a variety of
technologies and standards.
13. Reduce implicit dependencies and publish all
external dependencies to increase robustness
6. Establish a uniform set of enterprise and reduce the impact of change.
standards and policies based on industry, de
facto, and community standards.
14. At every level of abstraction, organize each
service around a cohesive and manageable
7. Pursue uniformity on the outside while unit of functionality.
allowing diversity on the inside.
http://www.soa-manifesto.org/
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 87
88. SOA-tr
Delivering SOA w/ TOGAF
› SOA TOGAF Practical Guide:
http://www.opengroup.org/projects/soa-togaf/
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 88
89. SOA-tr
Service Architecture & Engineering
› Developed by Everware-CBDI (CBDI-SAETM)
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 89
91. SOA-tr
Or why do SOA projects fail?
SOA GOVERNANCE
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 91
92. SOA-tr
Explaining SOA Failure To Your Boss
› “...I have failed to associate our SOA initiatives with our
business needs, therefore I cannot show any value for the
hundreds of services we have created.”
› “...I have failed to properly create and support an SOA
Center of Excellence, Steering Committee or Competency
Center.”
› “...I firmly believe that SOA is nothing more than fancy
CORBA or COM. ”
http://goo.gl/Bpj73
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 92
93. SOA-tr
Key For SOA Success
› “…In fact, Gartner forecasts that through 2010, the lack of
working SOA governance arrangements will be the most
common reason for SOA failures.”
– Gartner Press Release, 2009, “Gartner Says SOA Is Evolving
Beyond Its Traditional Roots” (http://www.gartner.com/it/page.jsp?
id=927612)
› “…Left ungoverned, SOA could allow anyone anywhere to
deploy a new service any time they wish, and anyone
anywhere to invoke and orchestrate that service.”
– James Kobielus, Principal Analyst at Current Analysis
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 93
94. SOA-tr
Why SOA Fails? – when it fails..
› What, if anything, has or will inhibit SOA adoption at your
company? (InfoWorld)
Lack of SOA governance 50%
Difficulty building an SOA roadmap 40%
Performance and reliability 39%
Incomplete/immature standards 39%
Unresolved security issues 33%
Lack of service infrastructure technology 33%
No reference architecture 27%
Difficulty determining where/how to start 24%
Identifying the new application or service to build 21%
Funding/budget issue 3%
Other 8%
Don't know 3%
Nothing 5%
0% 10% 20% 30% 40% 50% 60%
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 94
95. SOA-tr
SOA in Action Reveals Questions
› Service Discovery
– What are my services?
– Do I already have a similar service?
– Who provides this service?
– What are my other SOA artifacts?
– ...
Name Description
Owner
Version
Discover DeployedPlatform
SOA Artifacts
Taxonomy
Date
Policies
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 95
96. SOA-tr
Taxonomies Are Important
› A well-defined classification scheme
› Can be a proprietary (Internal) or an industry standard
(External)
› Example:
Internal Taxonomies BusinessDomain,
OperatingSystem, Vendor,
DevelopementFramework
SOA ARTIFACT
External Taxonomies TM Forum TAM, eTOM,
NAICS Industry Classification, ISO 3166
Geographic Code System, UNSPSC
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 96
97. SOA-tr
SOA in Action Reveals Questions
› Impact Analysis
– Who uses my services?
– What if analysis?
– What will happen if do a maintenance shutdown on my systems?
– ...
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 97
98. SOA-tr
SOA in Action Reveals Questions
› Design Time Governance › Run Time Governance
– Do I really execute my service – Right people accessing to right
development methodology? services?
– Do I handle change management – Are my services up and running
accurately? – Do I provide the agreed QoS?
Service Lifecycle
Design Time
Policies Management
Policies
Policy Execution
Run Time
Policies Point
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 98
99. SOA-tr
Example > Design-time Policy
Get Approval
Certify
Register Service Validate Verify
Best practice: Design-time / Change-time should be applicable not
only to services but to all other SOA artifacts
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 99
100. SOA-tr
Typical SOA Governance Offering
PEP
Repository Registry •Execute Policies
•SOA Documents •Web Service Descriptions
•WSDL, XML, XSL •Other SOA Artifacts
•BPEL, XPDL •Design-time Policies
•Development Related Docs •Run-time Policies
Monitoring
•Monitor Services
•Monitor KPIs
SOA Governance is not a product. It is People,
Processes and Technology.
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 100
102. SOA-tr
http://soa-tr.com
THANK YOU.
A Comprehensive Introduction to SOA | http://soa-tr.com | Page 102
Hinweis der Redaktion
A Comprehensive Introduction to SOA 2011-06-06
A Comprehensive Introduction to SOA 2011-06-06
A Comprehensive Introduction to SOA 2011-06-06
A Comprehensive Introduction to SOA 2011-06-06
A Comprehensive Introduction to SOA 2011-06-06
A Comprehensive Introduction to SOA 2011-06-06 Monolithic: All the processing is done on one server machine where number of clients are attched to this machine 2-tier: Clients (the first-tier) do the processing themselves and go to database server (the second-tier) for data ( Smart client code contacts the server for data then formats and displays it to the user. Input at the client is committed back to the server when it represents a permanent change. ) N-tier: Clients do some of the processing and the rest of the processing is done in the middle-tier(s) ( Three tier systems move the client intelligence to a middle tier so that stateless clients can be used. This simplifies application deployment .)
A Comprehensive Introduction to SOA 2011-06-06 Monolithic: All the processing is done on one server machine where number of clients are attched to this machine 2-tier: Clients (the first-tier) do the processing themselves and go to database server (the second-tier) for data ( Smart client code contacts the server for data then formats and displays it to the user. Input at the client is committed back to the server when it represents a permanent change. ) N-tier: Clients do some of the processing and the rest of the processing is done in the middle-tier(s) ( Three tier systems move the client intelligence to a middle tier so that stateless clients can be used. This simplifies application deployment .)
A Comprehensive Introduction to SOA 2011-06-06 Enterprise application integration (EAI) is the process of linking such applications within a single organization together in order to simplify and automate business processes to the greatest extent possible, while at the same time avoiding having to make sweeping changes to the existing applications or data structures. In the words of the Gartner Group, EAI is the “unrestricted sharing of data and business processes among any connected application or data sources in the enterprise.”
A Comprehensive Introduction to SOA 2011-06-06
A Comprehensive Introduction to SOA 2011-06-06
A Comprehensive Introduction to SOA 2011-06-06 Loose Coupling Hiding service implementation from the consumer with a service interface Consumer is not/less affected from the changes in the implementation What if we need to change the service interface? Change-time Governance Service Versioning Same service can be used with different policies
A Comprehensive Introduction to SOA 2011-06-06 Autonomy enables service reuse. The more services are independent from one another — having their own resources (database, legacies, etc.) — the more reuse and composition will be possible with those services. Co mplete autonomy for each service may not make sense in some contexts. For instance, services that access legacies will share resources with existing legacy clients. Autonomy can be achieved, on the functional level, for all services belonging to the same functional building block. Those services can and should be completely autonomous relative to other services belonging to other functional building blocks.
A Comprehensive Introduction to SOA 2011-06-06 A reusable service should be stateless. The retention of state-related data must not extend beyond a request/response on a service. Long running processes will have a state and can be invoked as services, but they should be considered as special cases, and should be referred to as composite applications rather than reusable services. Long running processes should relate to business processes, and they need to quickly adapt to business changes. State management consumes a lot of resources, and this can affect the scalability and availability that are required for a reusable service.
A Comprehensive Introduction to SOA 2011-06-06 While service prescription is important as a means of mandating design time service reuse, runtime service discovery is equally important. An enterprise repository can play an essential role in prescriptive reuse, while a service registry with UDDI capabilities can substantially improve service discoverability during runtime.
A Comprehensive Introduction to SOA 2011-06-06 Composition is the process by which services are combined to produce composite applications or composite services. A composite service consists of an aggregation of services that produces another reusable service. It's just like combining electronic components to create a computer motherboard, and then using that motherboard in a computer. Think of the motherboard as a reusable composite service that is a component of the computer, and of the computer as the composite application.
A Comprehensive Introduction to SOA 2011-06-06 REST asks developers to use HTTP methods explicitly and in a way that's consistent with the protocol definition. This basic REST design principle establishes a one-to-one mapping between create, read, update, and delete (CRUD) operations and HTTP methods. According to this mapping: To create a resource on the server, use POST. To retrieve a resource, use GET. To change the state of a resource or to update it, use PUT. To remove or delete a resource, use DELETE.
A Comprehensive Introduction to SOA 2011-06-06 Operational Systems Layer: Existing application assets and other programs. Service Components Layer: Software components that help to perform services and may leverage existing assets. Services Layer: The services that are in the service portfolio, and hence available for use in solutions, including through discovery and composition. Business Processes Layer: Business processes, and service compositions that they use, including orchestrations and choreographies. Consumers Layer: The people and external systems that participate in the business processes, and their interfaces to the services. Integration Layer: Integration of other building blocks. Quality of Service Layer: Quality aspects of system operation. Information Layer: Building blocks whose functions are concerned with the transformation and management of data. Governance Layer: Building blocks such as governance rules and procedures, and services and programs that support the application of the rules and the operation of the procedures.
A Comprehensive Introduction to SOA 2011-06-06 http://enterprisearchitecture.nih.gov/ArchLib/AT/TA/EnterpriseServiceBusPattern.htm An Enterprise Service Bus (ESB) is a streamlined, distributed integration middleware infrastructure that combines Extensible Markup Language (XML) and Web services support, basic transformation, and intelligent routing. It either includes message-oriented middleware (MOM) or wraps other MOM transport mechanisms. It also serves as a lightweight integration broker suite (IBS) . ESB provides the key higher level services that are required in order to effectively implement Service-Oriented Architecture (SOA) including management and monitoring, security, service orchestration, support for both asynchronous messaging and request-reply, and adapters for a variety of packaged applications and technology platforms. The ESB should be used whenever feasible to mediate communications between service providers and service consumers. The ESB provides a number of higher level services that facilitate service reuse and event-driven architecture: Both message-based and request-reply communications Rule-based routing of messages Security Management and monitoring Process orchestration Message transformation Benefits Enables a more manageable hub and spoke topology for services allowing for consistent approaches to security, centralized configuration management, and management of quality of service. Accelerates implementation of services by providing interface mapping, adapters to existing systems, and the ability to compose existing services into more complex new services. Provides the framework for service reuse.
A Comprehensive Introduction to SOA 2011-06-06 OSIMM – Open Group Service Integration Maturity Model The Open Group SOA Integration Maturity Model (OSIMM) provides consultants and IT practitioners with a means to assess an organization?s Service Oriented Architecture (SOA) maturity level. It defines a process to create a roadmap for incremental adoption which maximizes business benefits at each stage along the way. The model consists of seven levels of maturity and seven dimensions of consideration that represent significant views of business and IT capabilities where the application of SOA principles is essential for the deployment of services. The OSIMM acts as a quantitative model to aid in assessment of current state and desired future state of SOA maturity.
A Comprehensive Introduction to SOA 2011-06-06 Organization Describes the roles and responsibilities, project profiles, and funding models recommended in order to successfully support the service lifecycle Process Describes the structure of business processes or activities that a service provisioning organization should follow in order to sucessfully analyze, plan, design, provision Architecture Provides the detailed description of the various views, models and other elements used and created during the execution of the method and how they relate to one another.