What is soa?


Published on

This is a brief taster presentation in to the Service Oriented Architecture which I prepared for my company as part of job handover. I used it sow seeds of SOA and hopefully people took away a sense of how can we be more SOA like, even if switching completely to SOA would be a step too far. Feel free to use.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Service-Oriented Architecture SOA is defined by IBM's SOA foundation as follows: "Service-Oriented Architecture (SOA) is an architectural style for creating an enterprise IT architecture that exploits the principles of service-orientation to achieve a tighter relationship between the business and the information systems that support the business." SOA has the following characteristics: It enhances the relationship between enterprise architecture and the business. It allows the building of composite applications as a set of integrated services. It provides flexible business processes. SOA is not simply a technology or a product: it's a style of design, with many aspects (such as architectural, methodological and organisational) unrelated to the actual technology.
  • Business alignment : Services are not based on IT capabilities, but on what the business needs. Services business alignment is supported by service analysis and design techniques. Specifications : Services are self-contained and described in terms of interfaces, operations, semantics, dynamic behaviors, policies, and qualities of service. Reusability : Services reusability is supported by services granularity design decisions. Agreements : Services agreements are between entities, namely services providers and consumers. These agreements are based on services specification and not implementation. Hosting and discoverability : As they go through their life cycle, services are hosted and discoverable, as supported by services metadata, registries and repositories. Aggregation : Loosely-coupled services are aggregated
  • SOA is about behavior, not something you build or buy. You have to change behavior to make it effective. Managing the portfolio of services: planning development of new services and updating current services Some key activities that are often mentioned as being part of SOA governance are: Managing the portfolio of services: planning development of new services and updating current services Managing the service lifecycle: meant to ensure that updates of services do not disturb current service consumers Using policies to restrict behavior: rules can be created that all services need to apply to, to ensure consistency of services Monitoring performance of services: because of service composition, the consequences of service downtime or underperformance can be severe. By monitoring service performance and availability, action can be taken instantly when a problem occurs.
  • Eclipse Swordfish
  • Conhesive pieces of functionality that are atonomas Artifact store – meta information on the services, documentation, EBS – something all services connect to allowing commiication Goverence – to control, monitor and maintance the set of services
  • Plenty of ebooks articles all over the web
  • What is soa?

    1. 1. What is SOA? Scott Bown
    2. 2. This presentation <ul><li>SOA Taster </li></ul><ul><li>Basic concepts allowing completion of your SOA personal objective </li></ul><ul><li>Time for discussion </li></ul><ul><li>Not a in-depth detailed explanation </li></ul><ul><li>Not how to deploy at this company </li></ul>
    3. 3. Summary <ul><li>What is SOA? </li></ul><ul><li>What is a Service? </li></ul><ul><li>Key Principles </li></ul><ul><li>Governance and ESB </li></ul><ul><li>XML </li></ul><ul><li>Web services </li></ul><ul><li>Where next? </li></ul>
    4. 4. Service-Oriented Architecture <ul><li>Not a technology or a product </li></ul><ul><li>There’s no install file </li></ul><ul><li>Not Java/C/RPG/Groovy etc </li></ul><ul><li>It’s a style of design: </li></ul><ul><ul><li>Architecture </li></ul></ul><ul><ul><li>Methodology </li></ul></ul><ul><ul><li>Organisation </li></ul></ul>
    5. 5. What’s a service? <ul><li>&quot;A service is a discoverable resource that executes a repeatable task, and is described by an externalized service specification.“ </li></ul><ul><li>Business alignment </li></ul><ul><li>Specifications </li></ul><ul><li>Reusability </li></ul><ul><li>Agreements </li></ul><ul><li>Hosting and discoverability </li></ul><ul><li>Aggregation </li></ul>
    6. 6. Key Principles of SOA <ul><li>Explicit Boundaries </li></ul><ul><li>Shared Contract and Schema </li></ul><ul><li>Interoperability </li></ul><ul><li>Loose coupling </li></ul><ul><li>Reuse </li></ul><ul><li>Language/Vendor agnostic </li></ul>
    7. 7. Governance <ul><li>Managing the portfolio of services </li></ul><ul><li>Managing the service lifecycle </li></ul><ul><li>Using policies to restrict behavior </li></ul><ul><li>Monitoring performance </li></ul>
    8. 8. Enterprise Service Bus (ESB)
    9. 9. Artifact Store <ul><li>Like the common libraries database but for services </li></ul><ul><li>Meta information about the services </li></ul><ul><ul><li>How to use them </li></ul></ul><ul><ul><li>What they do </li></ul></ul><ul><ul><li>Business contacts </li></ul></ul>
    10. 10. Technology: XML <ul><li>Open document based standard for standardised information interchange </li></ul><ul><li>Human readable </li></ul><ul><li>Example: </li></ul><ul><li><dept id=“IT”> </li></ul><ul><ul><li><employee id=“123”> </li></ul></ul><ul><ul><li><name>Scott</name> </li></ul></ul><ul><ul><li></employee> </li></ul></ul><ul><li></dept> </li></ul>
    11. 11. Technology: WebServices <ul><li>Fit some of the SOA ideals </li></ul><ul><ul><li>Programming language agnostic </li></ul></ul><ul><ul><li>Contracts between services </li></ul></ul><ul><ul><li>Discoverable services </li></ul></ul><ul><ul><li>Standardised specifications </li></ul></ul>
    12. 12. Is using web services using SOA? <ul><li>A: ?? </li></ul>
    13. 13. Are we currently using SOA principles? <ul><li>A. ?? </li></ul>
    14. 14. Key things to take away <ul><li>SOA is a way of architecture </li></ul><ul><li>Services - Cohesive pieces of functionality that are autonomous </li></ul><ul><li>Artifact store – stores service details so you can reuse </li></ul><ul><li>EBS – connects everything together </li></ul><ul><li>Governance – control and monitoring </li></ul>
    15. 15. What next? <ul><li>Learn and use XML </li></ul><ul><li>Learn and use Web services </li></ul><ul><li>Create services (programs) that are autonomous and loosely coupled </li></ul>
    16. 16. Resources <ul><li>www.ibm.com/software/solutions/soa </li></ul><ul><li>www.eclipse.org /swordfish </li></ul><ul><li>Google: SOA </li></ul><ul><li>[Don’t do an image search ‘soa’] </li></ul><ul><li>IBM DevWorks XML/WS tutorials and free ebooks </li></ul>