Upload
christiana-reed
View
219
Download
0
Tags:
Embed Size (px)
Citation preview
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
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
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.
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
introduction distinctions and terms process considerations getting started 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
introduction distinctions and terms process considerations getting started questions
Reasons Companies Look at SOA
There are at least seven key patterns leading companies toward adopting SOA1. Desire for more agility from IT2. Elimination of redundancy / increase reuse of assets3. Process reengineering4. Legacy modernization5. Partner enablement6. ERP migration7. Componentization of a software product line
introduction distinctions and terms process considerations getting started 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
introduction distinctions and terms process considerations getting started questions
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 banker has capabilitiesbanker has capabilities
loan applicant has needsloan applicant has needs
introduction distinctions and terms process considerations getting started questions
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”
Bank Loan System
Applicant Payment
Regulatory Investment
Collections Interest
Underwriting
CorrespondenceLoan
Applicant Portal
submit application???
assess risk???
establish auto-payment???
introduction distinctions and terms process considerations getting started questions
Underneath Technical Services
Application or System
“Harvested”Functionality
Consumer
Registry
executioncontext
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.
The promises of SOA are hidden, however, in the phenomenon of matching business capabilities with the needs of our consumers.
introduction distinctions and terms process considerations getting started 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 similarBank Loan System
Applicant Payment
Regulatory Investment
Collections Interest
Underwriting
Correspondence
Credit Card System
Applicant Payment
Regulatory Investment
Collections Interest
Underwriting
Correspondence
Certificate of Deposit System
Applicant Payment
Regulatory Investment Interest
Correspondence
introduction distinctions and terms process considerations getting started questions
Service Classifications
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
CompositeBusinessService
(Atomic)BusinessService
Composite(Technical)
Service
(Atomic)(Technical)
Service
composed of
implemented through
composed of
coarse-grained
fine-grained
introduction distinctions and terms process considerations getting started 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 distinctions and terms process considerations getting started 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 distinctions and terms process considerations getting started 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 distinctions and terms process considerations getting started 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 distinctions and terms process considerations getting started questions
Capabilities are Constitutive of Business
introduction distinctions and terms process considerations getting started 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 distinctions and terms process considerations getting started 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 distinctions and terms process considerations getting started 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 distinctions and terms process considerations getting started questions
ENROLLMENT PROCESS (NEW BUSINESS)
Submit application Underwrite Process paymentEnroll/send welcome kit
ORCHESTRATED ENROLLMENT PROCESS (NEW BUSINESS)
Submit application Underwrite Process paymentEnroll/send welcome kit
Enrollment Underwriting Rating Pricing Correspondence
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 distinctions and terms process considerations getting started 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
SOME REALLY IMPORTANT BUSINESS PROCESS
Do something Something elseFetch claims
historyComplete the
process
WebSphere Business Services Fabric (Runtime)
Claims
Claims(Georgia)
Claims(California)
POLICY:For regulatory reasons, fetch claims history only from the system related to the state of residence
introduction distinctions and terms process considerations getting started 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 distinctions and terms process considerations getting started 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 distinctions and terms process considerations getting started 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 distinctions and terms process considerations getting started questions
So What to Do With All This Info?
1. 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
2. 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
Most likely, you are now in one of four positions:
3. You have no questions, need no help, and are master of the SOA domain– I love to learn– Please share your insights
with me
4. 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 distinctions and terms process considerations getting started questions
Next Steps
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
introduction distinctions and terms process considerations getting started questions
Questions?
Contact informationMatthew CastleBusiness Development ExecutivePerficient, [email protected]
Ken FawDirector, Integration StrategiesPerficient, [email protected]
introduction distinctions and terms process considerations getting started questions