• Save
A Comprehensive Introduction to Everything SOA
Upcoming SlideShare
Loading in...5
×
 

A Comprehensive Introduction to Everything SOA

on

  • 4,876 views

A little bit of everything related to SOA including: Basic concepts, history, standards, business value, ESB, methodologies, maturity models & SOA governance.

A little bit of everything related to SOA including: Basic concepts, history, standards, business value, ESB, methodologies, maturity models & SOA governance.

Statistics

Views

Total Views
4,876
Views on SlideShare
2,828
Embed Views
2,048

Actions

Likes
9
Downloads
0
Comments
5

7 Embeds 2,048

http://soa-tr.com 1556
http://zettamachine.com 459
http://www.linkedin.com 16
http://localhost 8
http://www.docshut.com 5
http://translate.googleusercontent.com 3
https://www.linkedin.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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.

A Comprehensive Introduction to Everything SOA A Comprehensive Introduction to Everything SOA Presentation Transcript

  • SOA-trService OrientedArchitectureA COMPREHENSIVE INTRODUCTION TO EVERYTHINGSOA Mehmet Akyuz, Sr. SOA Consultant http://soa-tr.com mehmet.akyuz@soa-tr.com twitter.com/_makyuz linkedin.com/in/makyuz
  • SOA-trBefore we start… SOA knows what you did last summer, and is disappointed that it wasnt SOA.A Comprehensive Introduction to SOA | http://soa-tr.com | Page 2
  • SOA-trFacts Concerning MeOne person successfully described SOA completely, and immediately died.A Comprehensive Introduction to SOA | http://soa-tr.com | Page 3
  • SOA-trFacts Concerning You SOA is not complex. You are just dumb.A Comprehensive Introduction to SOA | http://soa-tr.com | Page 4
  • SOA-trAgenda› Getting Started› Why Love SOA?› History› Services – Principles, Classification, Delivery, Modeling, Development› Reference Architectures› Enterprise Service Bus› SOA Maturity Models› SOA Methodologies› SOA GovernanceA Comprehensive Introduction to SOA | http://soa-tr.com | Page 5
  • SOA-tr GETTING STARTEDA Comprehensive Introduction to SOA | http://soa-tr.com | Page 6
  • SOA-trGetting 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
  • SOA-trServices, Services & Services› SOA. Good Idea, Hard Task.Re-organize IT Like this To make theseHeterogeneous Business BusinessIT Environment Services AgilityA Comprehensive Introduction to SOA | http://soa-tr.com | Page 8
  • SOA-trExample Services UpdateCustomerAddress GetNextInvoiceDate ActivateSubscription Billing CRM OMA Comprehensive Introduction to SOA | http://soa-tr.com | Page 9
  • SOA-trExample Services InitiateOrder UpdateCustomerAddress Sales, Fınance, Logistics… Warehouse E-shopping Portal Customer Care Suppliers CRM EmailA Comprehensive Introduction to SOA | http://soa-tr.com | Page 10
  • Conceptual View Of The Service SOA-trArchitectureA Comprehensive Introduction to SOA | http://soa-tr.com | Page 11
  • SOA-tr What does SOA do for me? WHY LOVE SOA?A Comprehensive Introduction to SOA | http://soa-tr.com | Page 12
  • SOA-trWhat 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 OfficerA Comprehensive Introduction to SOA | http://soa-tr.com | Page 13
  • SOA-trWhat Does SOA Do For Me? Reduces time in satisfying the needs of the business. Reusability maximizes ROI of our applications and technologies Chief Information OfficerA Comprehensive Introduction to SOA | http://soa-tr.com | Page 14
  • SOA-trWhat Does SOA Do For Me? Offer services to customers, partners & others within the organization. Be more flexible, agile and faster in business. Business ExecutiveA Comprehensive Introduction to SOA | http://soa-tr.com | Page 15
  • SOA-trWhat 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 AnalystA Comprehensive Introduction to SOA | http://soa-tr.com | Page 16
  • SOA-trWhat Does SOA Do For Me? Visible IT landscape enables the development of dynamic, collaborative, configurable applications that are ready for change. Enterprise ArchitectA Comprehensive Introduction to SOA | http://soa-tr.com | Page 17
  • SOA-trWhat Does SOA Do For Me? SOA brings standards, architectural patterns, reusability and technology neutral approach to our integration efforts. IT/Software ArchitectA Comprehensive Introduction to SOA | http://soa-tr.com | Page 18
  • SOA-trWhat 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 DeveloperA Comprehensive Introduction to SOA | http://soa-tr.com | Page 19
  • SOA-trReading > Case Studies› SOA Consortium Case Studies http://goo.gl/rJzqH› The Open Group Case Studies http://goo.gl/hvk44A Comprehensive Introduction to SOA | http://soa-tr.com | Page 20
  • SOA-trReading > Example Use Case (1/3)Telecommunications Carrier in North AmericaBusiness 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 activitiesA Comprehensive Introduction to SOA | http://soa-tr.com | Page 21
  • SOA-trReading > Example Use Case(2/3)Telecommunications Carrier in North AmericaUse 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
  • SOA-trReading > Example Use Case (3/3)Telecommunications Carrier in North AmericaResults: 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 organizationA Comprehensive Introduction to SOA | http://soa-tr.com | Page 23
  • SOA-trReading > 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/z1M3WA Comprehensive Introduction to SOA | http://soa-tr.com | Page 24
  • SOA-tr A BRIEF HISTORYA Comprehensive Introduction to SOA | http://soa-tr.com | Page 25
  • SOA-tr How Did It Come To SOA? › Changes in IT approach Build Buy Compose Apps Apps Apps60s 70s 80s 90s 00s 10s A Comprehensive Introduction to SOA | http://soa-tr.com | Page 26
  • SOA-trHow 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
  • SOA-trHow 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
  • SOA-trHow 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
  • SOA-trEAI > 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 SystemA Comprehensive Introduction to SOA | http://soa-tr.com | Page 30
  • SOA-trMOM > 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#SprinkleA Comprehensive Introduction to SOA | http://soa-tr.com | Page 31
  • SOA-trDATA 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 ServicesA Comprehensive Introduction to SOA | http://soa-tr.com | Page 32
  • SOA-trDate Integration MiddlewareA Comprehensive Introduction to SOA | http://soa-tr.com | Page 33
  • SOA-trBible 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.comA Comprehensive Introduction to SOA | http://soa-tr.com | Page 34
  • SOA-trEnterprise Integration PatternsA Comprehensive Introduction to SOA | http://soa-tr.com | Page 35
  • SOA-trEnterprise 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
  • SOA-tr Service design principles, classification, delivery, modeling and development MORE ON SERVICESA Comprehensive Introduction to SOA | http://soa-tr.com | Page 37
  • SOA-tr SERVICE DESIGN PRINCIPLESA Comprehensive Introduction to SOA | http://soa-tr.com | Page 38
  • SOA-trWhat Makes A Good Service?› Good services adhere to SOA Design Principles and they are governed. ABSTRACTION LOOSELY COUPLED REUSABILITY AUTONOMY DISCOVERABILITYINTEROPERABILITY SERVICE CONTRACT STATELESSNESS COMPOSIBILITY-GRANULARITYA Comprehensive Introduction to SOA | http://soa-tr.com | Page 39
  • SOA-tr1- Service Contract› Services should adhere to a conract where the service and the terms of use is described CONSUMER SERVICEA Comprehensive Introduction to SOA | http://soa-tr.com | Page 40
  • SOA-tr2- Loosely Coupled› Hide service implementation from the consumer, minimize dependency SERVICE INTERFACE CONSUMER SERVICE CONSUMER SERVICEA Comprehensive Introduction to SOA | http://soa-tr.com | Page 41
  • SOA-tr3- Autonomy› Services should have control over the resources and business logic they encapsulate RESOURCES & LOGIC SERVICE RESOURCES & LOGIC SERVICEA Comprehensive Introduction to SOA | http://soa-tr.com | Page 42
  • SOA-tr4- Service Abstraction› Logic used by the service should be hidden from the consumers CONSUMER SERVICEA Comprehensive Introduction to SOA | http://soa-tr.com | Page 43
  • SOA-tr5- Reusability› The real benefit of the Services lies in their level of reusability. CONSUMER SERVICE CONSUMER CONSUMERA Comprehensive Introduction to SOA | http://soa-tr.com | Page 44
  • SOA-tr6- Statelessness› State management affects the availability of a service hence makes the service unsuitable for reuse.state Request Response time ServiceA Comprehensive Introduction to SOA | http://soa-tr.com | Page 45
  • SOA-tr7- Discoverability› Consumers should find services easily CONSUMER SERVICEA Comprehensive Introduction to SOA | http://soa-tr.com | Page 46
  • SOA-tr8- Composibility› Service design should allow composition of new services (Composite Services) from existing services to handle bigger problems. SERVICE BIG CONSUMER SERVICE SERVICE SERVICEA Comprehensive Introduction to SOA | http://soa-tr.com | Page 47
  • SOA-tr9- Interoperability› Services should have standards-based access to support diverse service consumers CONSUMER CONSUMER CONSUMER SERVICE CONSUMER CONSUMERA Comprehensive Introduction to SOA | http://soa-tr.com | Page 48
  • SOA-trReading > SOA Postulatesby 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 serviceA Comprehensive Introduction to SOA | http://soa-tr.com | Page 49
  • SOA-tr SERVICE CLASSIFICATIONA Comprehensive Introduction to SOA | http://soa-tr.com | Page 50
  • SOA-trService 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
  • SOA-trAtomic vs Composite Business Processes and Applications IT Systems and ApplicationsA Comprehensive Introduction to SOA | http://soa-tr.com | Page 52
  • SOA-trEntity, Utility & Task Business Processes and Applications task entityutility IT Systems and ApplicationsA Comprehensive Introduction to SOA | http://soa-tr.com | Page 53
  • SOA-trENTITY, 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 nServiceA Comprehensive Introduction to SOA | http://soa-tr.com | Page 54
  • SOA-tr Orchestration ChoreographyA Comprehensive Introduction to SOA | http://soa-tr.com | Page 55
  • SOA-trReading > 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 desiredA Comprehensive Introduction to SOA | http://soa-tr.com | Page 56
  • SOA-tr SERVICE DELIVERY APPROACHESA Comprehensive Introduction to SOA | http://soa-tr.com | Page 57
  • SOA-trTop-Down Service Delivery Business Processes and Applications IT Systems and ApplicationsA Comprehensive Introduction to SOA | http://soa-tr.com | Page 58
  • SOA-tr Bottom-Up Service Delivery Business Processes and Applications IT Systems and ApplicationsA Comprehensive Introduction to SOA | http://soa-tr.com | Page 59
  • SOA-trMeet-In-The-Middle Service Delivery Business Processes and Applications IT Systems and ApplicationsA Comprehensive Introduction to SOA | http://soa-tr.com | Page 60
  • SOA-tr SERVICE MODELINGA Comprehensive Introduction to SOA | http://soa-tr.com | Page 61
  • SOA-trWSDL Modeling w/ UMLA Comprehensive Introduction to SOA | http://soa-tr.com | Page 62
  • SOA-trSOAML› Developed by OMG http://www.omg.org/spec/SoaML/CurrentA Comprehensive Introduction to SOA | http://soa-tr.com | Page 63
  • SOA-trSOMF› 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 complicatedA Comprehensive Introduction to SOA | http://soa-tr.com | Page 64
  • SOA-trSOMF (Practices, Disciplines & Artifacts)A Comprehensive Introduction to SOA | http://soa-tr.com | Page 65
  • SOA-tr SERVICE DEVELOPMENTA Comprehensive Introduction to SOA | http://soa-tr.com | Page 66
  • SOA-trService 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
  • SOA-trSCA > 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 WIDA Comprehensive Introduction to SOA | http://soa-tr.com | Page 68
  • SOA-trSCA ExampleA Comprehensive Introduction to SOA | http://soa-tr.com | Page 69
  • SOA-tr SERVICE STANDARDSA Comprehensive Introduction to SOA | http://soa-tr.com | Page 70
  • SOA-trWell-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_specificationsA Comprehensive Introduction to SOA | http://soa-tr.com | Page 71
  • SOA-tr Where to go from here? SOA REFERENCE ARCHITECTURESA Comprehensive Introduction to SOA | http://soa-tr.com | Page 72
  • SOA-trReference 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 RoadmapA Comprehensive Introduction to SOA | http://soa-tr.com | Page 73
  • SOA-trArchitecture Continuum› Open Group’s SOA Reference Architecture Continuum.› From Conceptual to Solution ArchitectureA Comprehensive Introduction to SOA | http://soa-tr.com | Page 74
  • SOA-trOpen Group - SOA RA Logical ViewA Comprehensive Introduction to SOA | http://soa-tr.com | Page 75
  • SOA-trExample: Components On RAA Comprehensive Introduction to SOA | http://soa-tr.com | Page 76
  • SOA-trCBDI Reference FW Architecture* Framework architecture for developing architecturesA Comprehensive Introduction to SOA | http://soa-tr.com | Page 77
  • SOA-trExample > RA w/ Open SourceA Comprehensive Introduction to SOA | http://soa-tr.com | Page 78
  • SOA-trExample Service Architecture* SOA Practitioners’ Guide Part 2: SOA Reference ArchitectureA Comprehensive Introduction to SOA | http://soa-tr.com | Page 79
  • SOA-tr The SOA Backbone ENTERPRISE SERVICE BUSA Comprehensive Introduction to SOA | http://soa-tr.com | Page 80
  • SOA-trEnterprise 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 ReuseA Comprehensive Introduction to SOA | http://soa-tr.com | Page 81
  • SOA-trDemo > WSO2 ESB› WSO2 ESB is an open source ESB based on Apache SynapseA Comprehensive Introduction to SOA | http://soa-tr.com | Page 82
  • SOA-tr Where’s your SOA.. at? SOA MATURITY MODELSA Comprehensive Introduction to SOA | http://soa-tr.com | Page 83
  • SOA-trOpen Group Maturity ModelA Comprehensive Introduction to SOA | http://soa-tr.com | Page 84
  • SOA-tr You think you need help? SOA METHOLODOGIESA Comprehensive Introduction to SOA | http://soa-tr.com | Page 85
  • SOA-trReading > 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 perfectionhttp://www.soa-manifesto.org/A Comprehensive Introduction to SOA | http://soa-tr.com | Page 86
  • SOA-trReading > 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 in4. 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 robustness6. 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 manageable7. 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
  • SOA-trDelivering 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
  • SOA-trService Architecture & Engineering› Developed by Everware-CBDI (CBDI-SAETM)A Comprehensive Introduction to SOA | http://soa-tr.com | Page 89
  • SOA-trService Architecture & EngineeringA Comprehensive Introduction to SOA | http://soa-tr.com | Page 90
  • SOA-tr Or why do SOA projects fail? SOA GOVERNANCEA Comprehensive Introduction to SOA | http://soa-tr.com | Page 91
  • SOA-trExplaining 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/Bpj73A Comprehensive Introduction to SOA | http://soa-tr.com | Page 92
  • SOA-trKey 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 AnalysisA Comprehensive Introduction to SOA | http://soa-tr.com | Page 93
  • SOA-trWhy 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% Dont know 3% Nothing 5% 0% 10% 20% 30% 40% 50% 60%A Comprehensive Introduction to SOA | http://soa-tr.com | Page 94
  • SOA-trSOA 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 PoliciesA Comprehensive Introduction to SOA | http://soa-tr.com | Page 95
  • SOA-trTaxonomies 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, UNSPSCA Comprehensive Introduction to SOA | http://soa-tr.com | Page 96
  • SOA-trSOA 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
  • SOA-trSOA 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 PointA Comprehensive Introduction to SOA | http://soa-tr.com | Page 98
  • SOA-trExample > Design-time Policy Get Approval Certify Register Service Validate VerifyBest practice: Design-time / Change-time should be applicable notonly to services but to all other SOA artifactsA Comprehensive Introduction to SOA | http://soa-tr.com | Page 99
  • SOA-trTypical 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
  • SOA-trA Comprehensive Introduction to SOA | http://soa-tr.com | Page 101
  • SOA-tr http://soa-tr.com THANK YOU.A Comprehensive Introduction to SOA | http://soa-tr.com | Page 102