Service Orientated Architecture Matthew Cunliffe © 2011 Europoint Communications Ltd www.euro-point.co.uk Who Am I? • IT Consultant and Contractor for over 12 years • Test Manager and Technical Test Analyst • Have worked on multiple Blue Chip contracts including: – New Electricity Trading Arrangements (NETA) – London Congestion Charging Scheme – Education Maintenance Allowance programmes Where Do We Go From Here? • Why and how do we build software? • What is Service Orientated Architecture? • Implementing SOA • What are the Do’s and Don’ts of SOA? Why Do We Build Software? • To refresh technology • To introduce new functionality to existing software • To save money in the long term • To improve competitiveness … Because there is a business need The Benefits of SOA • The ability to carry on using existing applications • Reuse of service removes duplication • Built on open standards • Improves Quality of Service • Allows the ability to react quickly What is Service Orientated Architecture? • What it is! – A business approach – A collection of services – Middleware – Reusable – Loosely coupled What is Service Orientated Architecture? • What it isn’t! – An off-the-shelf (COTS) product – Existing technologies bundled together – A replacement for your existing software – Any use where your systems don’t need changing and don’t use common functionality or need to talk to each other. What is Service Orientated Architecture? Sales System Customer Data Invoicing System Enquiry System Address Validation What is Service Orientated Architecture? Sales System Invoicing System Enquiry System Adapter SOA Enterprise Service Bus Customer Data Address Validation Implementing SOA • What do we mean by a service? – A service is a well-defined, self-contained function that is independent of other services or functions. Implementing SOA • Web Services – XML (eXtensible Markup Language) – WSDL 2.0 (Web Services Description Language) – SOAP (Simple Object Access Protocol) – MTOM (Message Transmission Optimisation Mechanism) Implementing SOA • Processing the Data – Adapters – SOA Registry and Repository – Business Process Orchestration Manager – BPM (Business Process Management) – BPEL (Business Process Execution Language) – Service Broker – SOA Service Manager – ESB (Enterprise Service Bus) Implementing SOA • The Enterprise Service Bus – Is invoked by a call to a web service – Authenticates that the call is legitimate – Routes the data received to the right place – Mediates the data if necessary – Orchestrates the calling of other services if necessary – Manages the process Implementing SOA • The Enterprise Service Bus – Is system agnostic – Tends to use XML for transmitting data – Supports web service standards – Supports different ways of sending information – Queues messages and processes them according to priority – Provides Business Activity Monitoring Implementing SOA Create / Find Customer Search SOA Enterprise Service Bus Create Customer No Does Customer Exist? Yes Query Customer Retrieve Customer Validate Address Customer Data Do’s and Don’ts • Do – Collaborate with the business – Use business process – Use SOA appropriately, creating bigger, reusable services – Use a blueprint – Implement a Test Case Do’s and Don’ts • Don’t – Build a proprietary interface – Build a service that is too generic – Use SOA for everything – Start from scratch – Build it “because you can” Useful Links • SOA Suppliers – – – – – • Web References: – – – – – • IBM SOA Foundation: http://www-01.ibm.com/software/solutions/soa/offerings.html Progress Sonic: http://web.progress.com/en-gb/soa-middleware.html Oracle SOA Suite: http://www.oracle.com/us/technologies/soa/index.html SAP NetWeaver: http://www.sap.com/platform/soa/index.epx SOA Software: http://www.soa.com Halifax IF Case Study: http://www.pptsearch.net/download.php?fid=412151 SOA Institute White Papers: http://www.soainstitute.org/white-papers.html W3C Web Services: http://www.w3.org/2007/Talks/0116-plh-hartford/#(1) W3C Web Open Standards and SOA: http://www.w3.org/2008/11/dd-soa.html#(1) Wikipedia SOA: http://en.wikipedia.org/wiki/Service-oriented_architecture Books – – – – 100 SOA Questions (Prentice Hall): http://www.pearsoned.co.uk/bookshop/detail.asp?item=100000000387102 Enterprise for SOA (O’Reilly): http://oreilly.com/catalog/9780596102388 SOA For Dummies (Wiley): http://eu.dummies.com/DummiesTitle/productCd-0470376848.html SOA In Practice (O’Reilly): http://oreilly.com/catalog/9780596529550