Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Soa To The Rescue


Published on

Published in: Business, Technology
  • Be the first to comment

  • Be the first to like this

Soa To The Rescue

  1. 1. David S. Linthicum [email_address] US Government…SOA To the Rescue?
  2. 2. References <ul><li>Blogs: </li></ul><ul><ul><li> “Linthicum Channel” </li></ul></ul><ul><ul><li>InfoWorld “Real World SOA” </li></ul></ul><ul><li>Weekly Podcast </li></ul><ul><ul><li>InfoWorld SOA Report </li></ul></ul><ul><li>Columns </li></ul><ul><ul><li>Web Services Journal </li></ul></ul><ul><ul><li>Business Integration Journal </li></ul></ul><ul><li>You can download this presentation, and the 12 Steps to SOA at </li></ul>
  3. 3. Integration of Internal Systems Integration with External Systems Pervasive Integration SOA SaaS/Web Services Web 2.0 1995 2000 2006
  4. 4. Current State of Things <ul><li>The survey was of 196 Information Technology (IT) decision makers in the Federal government. </li></ul><ul><li>&quot;Indicators point to the fact that Federal IT professionals overwhelmingly support the SOA concept with 56 percent reporting they believe their agency would benefit from a SOA . Among those who have experienced a SOA implementation, 73 percent would recommend other agencies follow suit and adopt a SOA approach. “ </li></ul>
  5. 5. Current State of Things…Real World <ul><li>Hype is huge, and management by magazine is the way of the world these days. </li></ul><ul><ul><li>“ I got to git me one of them SOAs” </li></ul></ul><ul><ul><li>“ A SOA will fix that.” </li></ul></ul><ul><ul><li>“ SOA 2.0” </li></ul></ul><ul><li>Bad practices: </li></ul><ul><ul><li>Selecting technology before understanding your requirements and needs. </li></ul></ul><ul><ul><li>Not creating a business case. </li></ul></ul><ul><ul><li>Using the wrong people. </li></ul></ul><ul><ul><li>Lacking funding and empowerment. </li></ul></ul>
  6. 6. Why SOA Fails <ul><li>The enterprise/agency considers SOA a project versus what it is; a more holistic notion. </li></ul><ul><li>They use 2nd tier talent. </li></ul><ul><li>They are under-resourced. </li></ul><ul><li>They allow the vendors to define their solution. </li></ul><ul><li>Requirements are not fully gathered. </li></ul>
  7. 7. Understanding the Pain Points <ul><li>“ A recent survey by the Business Performance Management Institute found that: </li></ul><ul><li>Only 11 percent of executives say they're able to keep up with business demand to change technology-enabled processes. </li></ul><ul><li>40 percent of which, according to the survey, are currently in need of IT attention. </li></ul><ul><li>Worse, 36 percent report that their company's IT departments are having either &quot;significant difficulties&quot; (27 percent) or &quot;can't keep up at all&quot; (9 percent).” </li></ul><ul><ul><li>CIO Magazine </li></ul></ul>
  8. 8. Challenges of Government IT <ul><li>Layers of technology are causing significant integration issues. </li></ul><ul><li>Mandates for resource utilization. </li></ul><ul><li>Unique business models limits “of-the-shelf” business processes. </li></ul><ul><li>Procurement processes lag best practices. </li></ul><ul><li>Talent is there…just need know how to leverage it. </li></ul><ul><li>Funding not realistic in many instances. </li></ul>
  9. 9. SOA to the Rescue? Goals and Characteristics of a SOA <ul><li>Improved Adaptability and Agility </li></ul><ul><ul><li>Respond to business needs in near real-time </li></ul></ul><ul><li>Functional Reusability </li></ul><ul><ul><li>Eliminate the need for large scale rip and replace </li></ul></ul><ul><li>Independent Change Management </li></ul><ul><ul><li>Focus on configuration rather than programming </li></ul></ul><ul><li>Interoperability instead of point-to-point integration </li></ul><ul><ul><li>Loosely-coupled framework, services in network </li></ul></ul><ul><li>Orchestrate rather than integrate </li></ul><ul><ul><li>Configuration rather than development to deliver business needs </li></ul></ul>
  10. 10. SOA Meta Model Data Abstraction Data Data Data Services/Messaging Legacy Legacy Services Process/Orchestration Monitoring/Event Management Governance Rep Security Internet-Based Services New Services
  11. 11. Pick a Standard…(WS-*) <ul><li>XACML v2.0* </li></ul><ul><li>BPEL v1.1, Business Process Execution Language </li></ul><ul><li>WSDM, Web Services Distributed Management </li></ul><ul><ul><li>MUWS: Management Using Web Services </li></ul></ul><ul><ul><li>MOWS: Management of Web Services </li></ul></ul><ul><li>SOAP v1.2, Simple Object Access Protocol </li></ul><ul><li>WSDL v 2.0, Web Services Description Language </li></ul><ul><li>WSRP, Web Services for Remote Portlets </li></ul><ul><li>ID-WSF 1.0, Identity Web Services Framework </li></ul><ul><li>SPML v1.0, Service Provisioning Markup Language </li></ul><ul><li>XCBF v1.1, XML Common Biometric Format </li></ul><ul><li>XPath v2.0, XML Path Language </li></ul><ul><li>WS-Manageability -Concepts, -Representation </li></ul><ul><li>WS-BrokeredNotification </li></ul><ul><li>WS-BaseNotification </li></ul><ul><li>WS-Federation Language –Active –Passive Requestor Profile </li></ul><ul><li>WS-Addressing </li></ul><ul><li>WS-Naming </li></ul><ul><li>WS-Attachments </li></ul><ul><li>WS-Inspection </li></ul><ul><li>WS-Policy </li></ul><ul><li>WS-Policy Framework </li></ul><ul><ul><li>WS-PolicyAssertions </li></ul></ul><ul><ul><li>WS-PolicyAttachments </li></ul></ul><ul><li>WS-Provisioning </li></ul><ul><li>WS-Privacy </li></ul><ul><li>WS-MetadataExchange </li></ul><ul><li>WS-Topics </li></ul><ul><li>WS-SecurityPolicy </li></ul><ul><li>WS-Trust </li></ul><ul><li>WS-SecureConversation </li></ul><ul><li>WS-Federation </li></ul><ul><li>WS-Transaction </li></ul><ul><ul><li>WS-Coordination </li></ul></ul><ul><ul><li>WS-AtomicTransactions </li></ul></ul><ul><ul><li>WS-BusinessActivity </li></ul></ul><ul><li>WS-Composite Application Framework </li></ul><ul><ul><li>WS-Context </li></ul></ul><ul><ul><li>WS-Service Coordination Framework </li></ul></ul><ul><ul><li>WS-Transaction Management </li></ul></ul><ul><li>WS-Choreography </li></ul><ul><li>WS-Eventing </li></ul><ul><li>WS-Reliability </li></ul><ul><li>WS-ReliableMessaging </li></ul><ul><li>iECM Interoperable Content Management </li></ul>
  12. 12. 5 Ways to Make Your SOA a Success <ul><li>Understand the pain. </li></ul><ul><li>Define the value. </li></ul><ul><li>Focus on understanding (Steps to SOA). </li></ul><ul><li>Remember the people. </li></ul><ul><li>Focus longer term. </li></ul>
  13. 13. Understand your business objectives and define success. <ul><li>The technology you layer into that business should add value by supporting that business’ objectives and facilitating efficiencies. </li></ul><ul><ul><li>The technology should help improve the bottom line. </li></ul></ul><ul><ul><li>Thus, it’s very important to define these objectives up front, including the goals for business success. </li></ul></ul>
  14. 14. The Value Proposition of a SOA <ul><li>We implement SOA for two major reasons. First is the ability to save development dollars through reuse of services. Second is the ability to change the IT infrastructure faster to adapt to changing needs of the business, or agility . </li></ul>
  15. 15. Reuse <ul><li>Under the concept of service reuse, we have a few things we need to determine to better define the value. These include: </li></ul><ul><ul><li>The number of services that are reusable. Complexity of the services. The degree of reuse from system to system. </li></ul></ul><ul><ul><ul><li>The number of reusable services is the actual number of new services created, or, existing services abstracted, that are potentially reusable from system to system. </li></ul></ul></ul><ul><ul><ul><li>The complexity of the services is the number of functions or object points that make up the service. </li></ul></ul></ul><ul><ul><ul><li>Finally, the degree of reuse from system to system is the number of times you actually reuse the services. We look at this number as a percentage. </li></ul></ul></ul>
  16. 16. So, What do you Do? <ul><li>In order to determine their value we must first determine the Number of Services that are available for Reuse (NSR), the Degree of Reuse (DR) from system to system, as well as the Complexity (C)of each service, as described above. </li></ul><ul><li>The formula to determine value looks much like this: </li></ul><ul><li>Value = (NSR*DR) * C </li></ul><ul><li>Thus, if you have 100 services available for reuse (NSR=100), and the degree of reuse at 50 percent (DR=.50), and complexity of each service is, on average, at 300 function points, the value would look like this: </li></ul><ul><li>Value = (100*.5) * 300 Or Value = 15,000, in terms of reuse. </li></ul><ul><li>Moreover, the amount of money saved depends upon your development costs, which vary greatly from company to company. Typically, you should know what you’re paying for functions or object points, and thus it’s just a matter of multiplication to determine the amount of money we are saving by implementing a particular SOA. </li></ul>
  17. 17. Agility <ul><li>Agility is a strategic advantage that is difficult to measure in hard dollars, but not impossible. We first need to determine a few things about the business, including: </li></ul><ul><li>The degree of change over time is really the number of times over a particular period that the business reinvents itself to adapt to a market. Thus, why a paper production company may only have a degree of change of 5 percent over a 5 year period, a high technology company may have an 80 percent change over the same period. </li></ul><ul><li>The ability to adapt to change is a number that states the company’s ability to react to the need for change over time. The notion being that the use of an SOA provides a better ability to change IT to adjust to needed changes in the business. </li></ul><ul><li>Finally, the relative value of change is the amount of money made as a direct result of changing the business. For instance, a retail organization’s ability to establish a frequent buyer program to react to changing market expectations, and the resulting increases in revenue from making that change. </li></ul>
  18. 18. Understand your business objectives and define success. ROI Define ROI Create Business Case Business Case
  19. 19. Define your problem domain. <ul><li>You can’t boil the ocean, thus you must define the scope of your SOA, within an enterprise. </li></ul><ul><li>Most SOAs are best implemented in small steps, such as moving a single division, or portion of a division, to SOA, if needed, instead of an entire enterprise all at once. </li></ul><ul><li>You need to establish the demarcation lines at the beginning of the project to provide better focus and understanding. </li></ul><ul><li>Remember, a POC will have a POC domain. </li></ul>
  20. 20. Define your problem domain System Descriptions System Complexity Analysis SOA POC POC Results Domain Descriptions Vendors
  21. 21. Understand all application semantics in your domain. <ul><li>You can’t deal with information you don’t understand, including information bound to behavior (services). </li></ul><ul><li>It is extremely important for you to identify all application semantics—metadata, if you will--that exist in your domain, thus allowing you to properly deal with that data. </li></ul>
  22. 22. Understand all application semantics in your domain. SOA Metadata Meta data analysis Data abstraction layer definition Data Abstraction Layer Data services definition Data Services Legacy Metadata External Metadata (B2B)
  23. 23. Understand all services available in your domain. <ul><li>Service interfaces are quirky. They differ greatly from application to application, custom or proprietary. </li></ul><ul><li>What’s more, many interfaces, despite what the application vendors or developers may claim, are not really service interfaces at all, and you need to know the difference. </li></ul><ul><li>Services provide behavior as well as information, thus they are service-oriented. </li></ul><ul><li>There are some services that just produce information; those are information-oriented and should not be included in this step. </li></ul><ul><li>It is important to devote time to validating assumptions about services, including: </li></ul><ul><ul><li>Where they exist. </li></ul></ul><ul><ul><li>The purpose of the service. </li></ul></ul><ul><ul><li>Information bound to the service. </li></ul></ul><ul><ul><li>Dependencies (e.g., if it’s a composite service). </li></ul></ul><ul><ul><li>Security issues. </li></ul></ul>
  24. 24. Understand all services in your domain. Candidate Services Service analysis Metadata and services analysis Services And Information Performance analysis Services And Performance Legacy Services External Services (B2B) SOA Metadata
  25. 25. Understand all processes in your domain. <ul><li>You need to define and list all business processes that exist within your domain, either automated or not. </li></ul><ul><li>This is important because, now that we know which services and information sources and sinks are available, we must define higher level mechanisms for interaction, including all high-level, mid-level, and low level processes. </li></ul><ul><li>In many instance, these processes have yet to become automated or are only partially automated. </li></ul>
  26. 26. Understand all processes in your domain. Candidate Processes Process analysis. Define metadata, services, and processes Processes, Services, And Information Process integration analysis. Process Integration Diagrams Candidate Services External Processes (B2B) SOA Metadata
  27. 27. Define new services and information bound to those services. <ul><li>You must define all new services that are to make up your SOA, these will fall into one of three categories. </li></ul><ul><ul><li>First are services exposed out of existing systems, or, legacy services , such as ERP, CRM, legacy, etc.. </li></ul></ul><ul><ul><li>The second type of services are composite services , which are services unto themselves that are made up of many different services. </li></ul></ul><ul><ul><li>Finally, scratch built services are services that are built from the ground up to be a true service. </li></ul></ul>
  28. 28. Define new services. Candidate Processes Service definition. Service design. Processes, Services, And Information Service implementation. Process Integration Diagrams SOA Metadata Candidate Services Service Definition Service Design Service Implementation
  29. 29. Define new processes, as well as services and information bound to those processes. <ul><li>At this point we should understand most of what is needed to define new processes, as well as bind them to existing processes, and automate processes previously not automated. </li></ul><ul><li>New processes should be defined that automate the interactions of services as well as information flows to automate a particular business event or sets of events. </li></ul><ul><li>While you can define some very complex logic within new processes using today’s tools, the theme here is to orchestrate existing services and information flows rather than create new functionality. </li></ul><ul><li>In essence, it’s a meta-application that sits on top of many smaller applications, defining interactions from lower to higher levels. </li></ul>
  30. 30. Define new processes. Candidate Processes Process definition. Process design. Processes, Services, And Information Process implementation. Process Integration Diagrams Metadata Candidate Services Process Definition Process Design Process Implementation
  31. 31. System System
  32. 32. Select your technology set. <ul><li>Many technologies are available, including application servers, distributed objects, and integration servers. </li></ul><ul><li>The choice of technology will likely be a mix of products and vendors that, together, meet the needs of your SOA. </li></ul><ul><ul><li>It is very rare for a single vendor to be able to solve all problems--not that that reality has ever kept vendors from making the claim that they can. </li></ul></ul><ul><ul><li>Technology selection is a difficult process which requires a great deal of time and effort. </li></ul></ul><ul><ul><li>Creating the criteria for technology and products, understanding available solutions, and then matching the criteria to those products is hardly a piece of cake. </li></ul></ul>
  33. 33. Select your technology set. Technology Requirements Define requirements. Technology analysis. Technology solution Vendors Define candidate technology. Technology selection. Technology validation.
  34. 34. Deploy SOA technology. <ul><li>This is the “just do it” step, meaning that you’ve understood everything that needs to be understood, defined new services and processes, selected the proper technology set, and now it’s time to build the thing. </li></ul>
  35. 35. Test and evaluate. <ul><li>To insure proper testing, a test plan will have to be put in place. </li></ul><ul><li>It is really just a step-by-step procedure detailing how the SOA will be tested when completed. </li></ul><ul><li>A test plan is particularly important because of the challenges in testing an SOA solution. Most source and target systems are business-critical and therefore cannot be taken offline. </li></ul>
  36. 36. Final Words <ul><li>Pay me now, or pay me later. Make sure you do it right the first time…get the help you need. </li></ul><ul><li>Don’t be afraid to experiment, and admit you’re wrong…backup and try again. </li></ul><ul><li>Keep your vendors working with you. </li></ul><ul><li>Empower those working, so they can work to get things done. Avoid politics, if possible. </li></ul><ul><li>Learn all you can, but don’t get caught up in the hype. </li></ul><ul><li>Put standards in their proper place. </li></ul><ul><li>Small battles win the war…Keep that in mind. </li></ul><ul><li>Give yourself plenty of time, never skimp on any of the steps. </li></ul>
  37. 37. Thanks! <ul><li>Blogs: </li></ul><ul><ul><li> “Linthicum Channel” </li></ul></ul><ul><ul><li>InfoWorld “Real World SOA” </li></ul></ul><ul><li>Weekly Podcast </li></ul><ul><ul><li>InfoWorld SOA Report </li></ul></ul><ul><li>Columns </li></ul><ul><ul><li>Web Services Journal </li></ul></ul><ul><ul><li>Business Integration Journal </li></ul></ul>