290 likes | 469 Views
Introduction to Service Oriented Architecture. LIVE WebSphere Lunch & Learn Teleconference Series with Q&A. Agenda. Service distinctions and terms Business and technical services Service classifications Qualities of services Process Considerations
E N D
Introduction to Service Oriented Architecture LIVE WebSphere Lunch & Learn Teleconference Series with Q&A
Agenda • Service distinctions and terms • Business and technical services • Service classifications • Qualities of services • Process Considerations • Discovery (business and technical), harvesting, exposing • Orchestration and Virtualization • Governance • Getting Started • Interpretation and effectiveness • Health checks & readiness assessments • Questions
Perficient Today Perficient is a leading information technology consulting firm serving clients throughout the United States. We help clients implement business-driven technology solutions that integrate business processes, improve worker productivity, increase customer loyalty and create a more agile enterprise to better respond to new business opportunities. 16 City Network in US and Canada: Atlanta, Austin, Chicago, Cincinnati, Columbus, Dallas, Detroit, Fairfax, Houston, Indianapolis, Minneapolis, New Orleans, Philadelphia, San Francisco, St. Louis, Toronto Total headcount of ~1,100
Fast Facts • Founded in 1997 • Public, NASDAQ: PRFT • ~$500+ million market cap and $220 million in annualized revenues • 20+% organic growth rate • One acquisition in 2007 • Four acquisitions since beginning of 2006 with expressed intent to acquire additional complementary businesses • 1100+ consultants • Dedicated solution practices • Served 400+ clients in past 12 months • Alliance partnerships with major technology vendors • Multiple vendor/industry technology and growth awards
Introduction to SOA • This is a broad topic, with many angles we could take • And many side roads to wander down • There are many resources describing the technology underneath services and SOA • In one hour, we will cover the breadth of the SOA space • Today we will talk less about how services work and more about what they can do for us • We will introduce technology and terms, and a few key distinctions • We will discuss getting started in a practical way, or benchmarking our progress against best practices introductionl distinctions and terms l process considerations l getting started l questions
Promises of SOA • Adoption SOA is not generally an end of its own, but is supported by business drivers that align with several of the core promises of SOA: • Increased IT responsiveness • Improved flexibility and adaptiveness to business changes • Better IT alignment with business goals and drivers • Enhanced monitoring of enterprise systems • Simplification of infrastructure components • Creation of business-level events • Facilitation of workflow and process automation • Maintenance and support cost reductions introductionl distinctions and terms l process considerationsl getting started l questions
Reasons Companies Look at SOA • There are at least seven key patterns leading companies toward adopting SOA • Desire for more agility from IT • Elimination of redundancy / increase reuse of assets • Process reengineering • Legacy modernization • Partner enablement • ERP migration • Componentization of a software product line introductionl distinctions and terms l process considerations l getting started l questions
Components of a SOA Vision • When developing a vision for SOA in your company, start with the previous slides and consider some of the following: • Increasing IT capacity to deliver value to the business • Reduction in complexity for integrating new acquisitions as well as legacy systems • Capabilities to increase automation and self-service to business users • Improved operational support practices and triage capabilities • Reduction in integration-oriented defects • Placing more control of business process in the hands of Business Owners introductionl distinctions and terms l process considerations l getting started l questions
loan applicant has needs banker has capabilities Services in Simple Terms • OASIS distinction: A service is the means by which the needs of a consumer are brought together with the capabilities of a provider • This is useful, in that it aligns withour common intuition about servicesin the marketplace • At its most basic level, allorganizations provide “businessservices” • An organization has manycapabilities it provides themarketplace • These are often consistent over time introduction ldistinctions and termsl process considerations l getting started l questions
submit application??? assess risk??? establish auto-payment??? Technical Services • In a similar way, the systems and applications in IT provide capabilities, and our end users have needs • Technical services are a means for bringing those capabilities to our end users • Often only a subset of all the capabilities of a system are needed for a given business process • Note that the business service in the previous slide (loan application) still exists, in a different “execution context” introduction ldistinctions and termsl process considerations l getting started l questions
Underneath Technical Services We spend much of our time worrying about the “execution context”… this is really about how invocation flows end-to-end… SOAP, HTTP/XML, XML/JMS, TEXT/HTTP, etc. Registry Consumer execution context The promises of SOA are hidden, however, in the phenomenon of matching business capabilities with the needs of our consumers. Application or System “Harvested”Functionality introduction ldistinctions and termsl process considerations l getting started l questions
ü ü ü System vs. SOA Perspective • There is an important difference between a system perspective and a “service-oriented” perspective • In SOA, we are concerned about exposing capabilities, which OASIS defines as a “real-world effect” • A single system or application can provide many capabilities to its constituents • Alternately, a single capability could be provided by more than one application or system in an enterprise • We are left to determine if they are semantically similar introduction ldistinctions and termsl process considerations l getting started l questions
There are many ways to classify services “Business” or “Technical” “Atomic” or “Composite” “Fine-grained” or “Coarse-grained” The diagram at the right puts these classifications in perspective We will come back to this later Composite Business Service composed of (Atomic) Business Service implemented through Composite (Technical) Service composed of (Atomic) (Technical) Service Service Classifications coarse-grained fine-grained introduction ldistinctions and termsl process considerations l getting started l questions
Qualities of a Service • Reusable in multiple contexts • Fully encapsulated implementation, providing isolation and loose coupling to its consumers • Composable with other services • Accessible to its consumers, sometimes via a directory • Available to provide its capabilities, based on a “service contract” • There are many interpretations of service contracts • Certainly it includes the signature of the service operations • Also, “Service Level Agreements” can define other characteristics • Performance, security, transactions, priorities, etc. • There are other qualities if you want an exhaustive list introduction ldistinctions and termsl process considerations l getting started l questions
Considerations and Challenges • IT develops services in technology to support business services as described earlier • Technical services must expose “capabilities” to consumers who have needs • The challenges for IT therefore include: • Identifying capabilities that are needed (service discovery) • Determining where those capabilities exist (harvesting) • Providing a means for locating and invoking the services (exposing) • Sequencing services into business processes (orchestration) • Making decisions regarding change (governance) introduction l distinctions and terms lprocess considerations l getting started l questions
Service Discovery • The single-most often asked question is “What makes a good service?” • It is not enough to use the OASIS distinction, to just list the features of an application or to look at each task that comprises a process • A related question is “What is reusable?” • How do we know until we actually reuse it? • We have two recent IT industry precedents to draw out the importance of these questions • Uncontrolled proliferation of stored procedures • Frameworks of which only a small portion were reused introduction l distinctions and terms lprocess considerationsl getting started l questions
Capabilities Define Business Services • Companies are interested in SOA to support flexible and adaptive business needs • Interestingly, some fail because they drive their service architecture from shifting foundations • Core business processes change (at least, we want to support them changing in the future) • Organizational structure certainly changes • Enterprise applications also change • By looking at business capabilities to define services, we can be more resilient to change • Business process is an orchestration of services • Organizational structure supports governance processes • Enterprise applications drive the capabilities of services introduction l distinctions and terms lprocess considerationsl getting started l questions
Capabilities are Constitutive of Business introduction l distinctions and terms lprocess considerationsl getting started l questions
Discovering Technical Services • Service discovery requires a convergence of business services (top-down) and technical services (bottom-up) • Business capabilities drive business services • Several alternatives drive technical services • These map to some of the IBM SOA Entry Points (People, Process, Information, Connectivity and Reuse) • Consumer-centric discovery • Portals • Multi-channel access • Web 2.0 • Process-centric discovery • Business process tasks • Process automation • Data-centric discovery • MDM, information as a service • Integration-centric discovery • Process automation • Sunset strategies • Event-driven architecture • Command and control • You have developed a lot of services, and need to coordinate new development, versioning and life cycle introduction l distinctions and terms lprocess considerationsl getting started l questions
Harvesting • Harvesting may be the most overlooked concern in SOA • Systems have capabilities and consumers have needs • How do I “harvest” the capabilities from existing systems? • Identifying that a portal needs to look up claims is one thing • Writing the code that exposes claim information from three different data sources is another • Often just identifying which systems “own” which data is a problem • …and after identifying the source system(s), finding a path from provider to consumer can also be a challenge introduction l distinctions and terms lprocess considerationsl getting started l questions
Exposing • Services can be exposed and consumed using a variety of protocols • Many of you are probably familiar with SOAP as a standardized XML RPC format over HTTP • However, a series of request/response messages over WebSphere MQ can be analogous to a service invocation • An “endpoint” is the ultimate target of a service request • Often the same service endpoint can be exposed for SOAP consumers and MQ (or JMS) consumers • Sometimes, it is most convenient to integrate TEXT files sent over FTP as “messages” or “service invocations” • A registry may be use to lookup and locate desired endpoints introduction l distinctions and terms lprocess considerationsl getting started l questions
Orchestration • Combining services together to implement a business process is called orchestration • Ostensibly, a company that has no services is not usually concerned about orchestration when starting with SOA • However, companies who choose a “process” entry point may drive toward services that can be orchestrated earlier introduction l distinctions and terms lprocess considerationsl getting started l questions
Moving Beyond Orchestration • Orchestration is an important interim step for realizing the benefits of SOA • Orchestration enables effective use of “virtualization” • Virtualization provides to SOA what polymorphism provides to object oriented programming introduction l distinctions and terms lprocess considerationsl getting started l questions
Virtualization Summary • The WebSphere Business Service Fabric is a unique offer for service virtualization • Consumers invoke services • The fabric makes decisions at runtime about which endpoints actually get invoked, possibly based on • The role of the consumer • The kind of information being processed • …nearly any policy imaginable (context, content, or contract) • The implications are significant… • Several claims systems can look like one service • Preferred customers can receive different treatment • Business processes are streamlined • Avoid or deter massive consolidation efforts • More options for sunset strategies or enterprise rollouts introduction l distinctions and terms lprocess considerationsl getting started l questions
Governance • There are two components to governance • Decision-making • How to deal with service interface changes over time, especially after services are consumed by many parties • What constitutes a service we think we can reuse • What standards promote adaptiveness, like wire-data formats? • Oversight • Are we following approved standards • What to do about retiring old versions of services • How are we doing with service level agreements • There are many governance structures • What works best for your current and planned capabilities? • Always starts with and involves people, talking to people introduction l distinctions and terms lprocess considerationsl getting started l questions
Interpretation and Effectiveness • Innovation on anyscale requires newinterpretations • History is a storyof continuousreinterpretation • Your interpretation of yoursituation determines youreffectiveness with adoptingSOA • When starting out, we trust theinterpretations of others • This helps us get into the game introduction l distinctions and terms l process considerations lgetting startedl questions
You are wondering where to get started with SOA You may not have existing messaging or integration There are way too many options to know what will work best for you You have already made progress with SOA or EAI Benchmarking against best practices and lessons learned might be useful You really want to address your gaps to move ahead So What to Do With All This Info? • Most likely, you are now in one of four positions: • You have no questions, need no help, and are master of the SOA domain • I love to learn • Please share your insights with me • I did not anticipate what state you would be in • Isn’t it great to know we are all human? • I am very interested to hear your thoughts from this presentation introduction l distinctions and terms l process considerations lgetting startedl questions
For those just gettingstarted Perficient offers a SOA Readiness Assessment We help you identify your starting point We help you determine candidate projects We work with people and process, not just technology We believe in incremental acquisition of technology “Service-ification” is not just about service consumers We help you harvest assets We help build your SOA business architecture For those already on the SOA path Perficient offers a SOA Health Check We benchmark people, process and technology We have a library of six years of best practices We quickly identify gaps and guidance A Roadmap can take you beyond your “entry point” Blueprints produce the strategic vision in terms of business services Drives virtualization and process orchestration Next Steps introduction l distinctions and terms l process considerations lgetting startedl questions
Questions? Contact information Matthew Castle Business Development Executive Perficient, Inc. matthew.castle@perficient.com 630-235-2740 Ken Faw Director, Integration Strategies Perficient, Inc. ken.faw@perficient.com 248-872-2338 introduction l distinctions and terms l process considerations l getting started lquestions