Jimwebber soa

416 views
350 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
416
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Jimwebber soa

  1. 1. Successful SOA with REST Jim Webber http://jim.webber.name Twitter: @jimwebber
  2. 2. Or: A Billion Transactions Per Month Using the Web for Enterprise Heavy Lifting Jim Webber http://jim.webber.name Twitter: @jimwebber
  3. 3. Today’s Enterprise Architecture Accounting Marketing Product Development Support
  4. 4. “SOA: Principles of Service Design underwent a thorough technical review involving over 60 reviewers from different vendors, organizations, and professions across North America, Europe, and Asia. The book has been formally endorsed by members of major SOA vendors, including IBM, Microsoft, Oracle, BEA, and Intel.” -- Thomas Erl
  5. 5. Tomorrow’s Enterprise Architecture BPM Services Business Business Business Service Service Service Data Data Data Data Data Service Service Service Service Service
  6. 6. Nirvana Enterprise Architecture, or… BPM Business Business Business Service Service Service Service ESB Basic Basic Basic Basic Basic Service Service Service Service Service
  7. 7. ESB - Erroneous Spaghetti Box? Enterprise Service Bus
  8. 8. But we still do it.
  9. 9. Why? Because it’s “less risky”
  10. 10. Why? Because that’s what the market does
  11. 11. Why? Because we need the -ilities
  12. 12. So let’s talk about those -ilities
  13. 13. Web Scale!
  14. 14. Traditional Enterprise Security
  15. 15. End to End Secure Messaging End to End Secure Conversations
  16. 16. Security Tokens and claims Federating access with tokens
  17. 17. …you wouldn’t use it at home!
  18. 18. Bottleneck No trust Crash Denial of recovery? Service
  19. 19. <?xml version="1.0" encoding="UTF-8"?> Hello World! <definitions name="HelloService" targetNamespace="http://www.ecerami.com/wsdl/HelloService.wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.ecerami.com/wsdl/HelloService.wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <message name="SayHelloRequest"> <part name="firstName" type="xsd:string"/> </message> <message name="SayHelloResponse"> <part name="greeting" type="xsd:string"/> </message> <portType name="Hello_PortType"> <operation name="sayHello"> <input message="tns:SayHelloRequest"/> <output message="tns:SayHelloResponse"/> </operation> </portType> <binding name="Hello_Binding" type="tns:Hello_PortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="sayHello"> <soap:operation soapAction="sayHello"/> <input> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:examples:helloservice" use="encoded"/> </input> <output> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:examples:helloservice" use="encoded"/> </output> </operation> </binding> <service name="Hello_Service"> <documentation>WSDL File for HelloService</documentation> <port binding="tns:Hello_Binding" name="Hello_Port"> <soap:address location="http://localhost:8080/soap/servlet/rpcrouter"/> </port> </service> </definitions>
  20. 20. The Web is a coordination platform Media Types
  21. 21. A Case Study Client • UK-based telecoms service provider • Global customers (no easy downtime) Problem • Scalability and system resilience issues • Huge growth curve to from a million to a billion messages per month • Costs
  22. 22. Platform Architecture Where’s my Bottleneck Nightmare! file gone? Carrier Carrier Integration Shared Carrier Gateway Carrier Database Filesystem Post Voice to Text Processing Algorithms Fix things up here Shoehorn it in that other program
  23. 23. The £10* Million Solution “Queue” Shared Gateway Database Filesystem Carrier Carrier Carrier Carrier Enterprise Service Bus Post Voice to Text Processing Algorithms * Solution does not include actual implementation
  24. 24. ThoughtWorks was given the output from a previous enterprise consultancy… …and told to “do that, but cheaper”
  25. 25. Think differently! (or even just stop and think)
  26. 26. Architecture is still important
  27. 27. Agile EA: Prioritise Service Delivery Start by fixing storage Carrier Carrier Integration Shared Carrier Gateway Carrier Database Filesystem Post Voice to Text Processing Algorithms
  28. 28. Storage Manager Project Delivery Small team Java solution 3 Week Inception Performance testing throughout 14 iterations – See Jones and Kua paper, Agile 2009 Continuously built and deployed for testing
  29. 29. Web-friendly Architecture (mostly wallet-friendly too!) Encapsulates storage detail! Fast! Free! Cacheable! Jboss/Tomcat Optimised disk Optimised access! Storage Manager server config GPFS SAN Spend £ on the right Infrastructure
  30. 30. What is going on with these peaks? here?
  31. 31. Hypothesis Directories are becoming full, slowing random access to files
  32. 32. Prediction A single directory will result in linearly degrading performance
  33. 33. Outcome Adapt the directory structure to take advantage of the underlying file system
  34. 34. Improving Enterprise Architecture Reduced Scalable! Load Carrier Carrier Integration Storage Carrier Gateway Carrier Database Manager Post Voice to Text Processing Algorithms “She’ll be right” Just shoehorn it in that other program
  35. 35. Storage Manager Benefits • Immediate reduced load on integration database • Enabled removal of code from systems • Delivered business value by keeping customers happy • “The best software we have ever deployed” – Operations director I’ll come back to this
  36. 36. What if… We took our inspiration from successful Web-scale companies?
  37. 37. What if… And took the time to understand our SLAs?
  38. 38. What if… And picked the right technology solution? Not just the one we’re being sold?
  39. 39. What if… We built a scalable compute platform?
  40. 40. Grid Project Delivery Larger team Java solution 3.5 Week Inception Performance testing throughout 18 iterations Continuously built and deployed for testing
  41. 41. Web-friendly Architecture (very wallet-friendly!) Fault Tolerant ASR ASR ASR ASR Fault Tolerant Grid Pipeline Embedded Jetty Just Embedded Jetty HTTP Embedded Jetty Embedded Jetty Just Embedded Jetty HTTP Grid Manager Grid Manager Grid Manager Grid Manager Sustainable Grid Manager container for business logic ASR ASR ASR ASR £0 Grid Pipeline Software Infrastructure
  42. 42. Improving Enterprise Architecture Scalable Processing Platform Massively Reduced Load Scalable! Carrier Carrier Integration Storage Carrier Gateway Carrier Database Manager Post Grid Processing “She’ll be Scalable, right” sustainable!
  43. 43. Grid Benefits • Scalable, resilient platform • Aligned with business goals • Further reduced load on integration database • Set architectural patterns • Deliver business value by processing more messages at lower cost than ever before • “The best software we have ever deployed” – Operations director Better every time!
  44. 44. £10,000,000 Up-Front Cost of Bus Architecture
  45. 45. £1,000,000 Actual Cost of Completed Project
  46. 46. £0 Cost of Middleware
  47. 47. The Web works And its economies of scale eclipse your vendors’

×