Service Oriented Architecture
Jim Phelps, Senior I.T. Architect
Division of Information Technology, UW-Madison
Agenda: 90 minutes
75% 8% 17% Present Discuss 75% 8% 17% 75% 8% 17% 75% 8% 17% 75% 8% 17% 75% 8% 17%Agenda:
•What is SOA and why should you care?
•Technology of SOA - Web Services and an Example App
•Migration Strategy - Organizational Change
•Technology in 1 year, Migration in 10
•What’s next for UW-Madison
Define SOA
• Gartner says, "a style of multi-tier computing that helps organizations share logic and data among multiple applications and usage modes." [1]
• IBM says, “an application architecture within which all functions are defined as independent services with well-defined invokable interfaces which can be called in defined sequences to form business processes" [2]
In Pictures...
Application
Data
Business Logic Code User Interface
8
http://en.wikipedia.org/wiki/Image:SOA_Elements.png
SOA: Where the Application lives on the bus
SOA - My Definition
• SOA is the exposure of business functions as services for integration and orchestration into new and
interesting applications.
• SOA is built on reusable, shared, networked services where each service is a well defined business
function.
• SOA is NOT a technology though we implement it through technology.
Integration is..
• Complex:
When systems change, interfaces need to be rebuilt
• Brittle:
When interfaces fail, people are unhappy (and often blame the wrong people). Monitoring via Help Desk.
• Expensive:
Gartner - “up to 50% of large enterprise’s ITIntegration Complexity n(n-1)
A Simple Use Case
eReserves:
• Library has books on reserve for a course.
• The Library checks those books out only to
14
Data vs. Service
SIS
Course Roster Library Course RosterData
Data vs. Service
Service
SIS
IsEnrolled Library StudentID, CourseIDSIS
Course Roster Library Course RosterData
16
Reusability
Service
SIS
IsEnrolled Service Library Yes/No StudentID, CourseIDService
SIS
IsEnrolled Service Library Yes/NoStudentID, CourseID Point
of Sales System
Reusability
18
Service
SIS
IsEnrolled Service Library Yes/NoStudentID, CourseID Point
of Sales System Portal StudentID CourseID
Reusability
Service
Replication
Answers
Opaque Process
Transparent
Disconnected
Connected
Point-to-Point
One-to-Many Reusable
Brittle
Robust
Composite Apps
20
Data vs. Service
• Fundamental shift away from shipping data to
providing services
Data vs. Service
• Move to SOA to:
– Reduce cost and complexity
– Increase security
– Reduce data duplication
– Gain transparency
– Reusability
SOA - My Definition
• SOA is the exposure of business functions as services for integration and orchestration into new and interesting applications.
• SOA is built on reusable, shared, networked services where each service is a well defined business function.
Part 1: What is SOA and why should you care
75%
8%
Part 1: What is SOA and why should you care
Part 2: Technology of SOA: Web Services
Admit New Student - an Example
• Imagine a future where a new student
enrolls for the first time...
26
A New Student
Enrollment Application
Submit Application Create an SIS Identity Will you need Financial Aid? Yes
Display Financial Aid Offers Choose One or more
Submit Application to F.A. Fill out Application
Want a Credit Union Account? Yes
Fill out Application Submit Application to CU
Need Housing? Yes
Choose One Display Housing Options
Get Deposit Requirements add to invoice
Get Account Info and add cost to invoice
Display Bill Submit Payment
A New Student
Enrollment Application
Submit Application Create an SIS Identity Will you need Financial Aid? Yes
Display Financial Aid Offers Choose One
Submit Application to F.A. Fill out Application
Want a Credit Union Account? Yes
Fill out Application Submit Application to CU
Need Housing? Display Options Yes
Choose One Display Housing Options
Get Deposit Requirements add to invoice
Get Account initial cost and add to invoice
This is an example of an
orchestrated composite
application that SOA
enables
28 Enrollment
Application
Create an SIS Identity Will you need Financial Aid? Display Financial Aid Offers Submit Application to F.A. Want a Credit Union Account? Submit Application to CU
Need Housing? Display Options Display Housing Options
Get Deposit Requirements add to invoice
Get Account Info and add cost to invoice
Display Bill
Route Payment to partners
SIS - NewStudent FA Institution - NewLoan FA Institution - NewLoan FA Institution - NewLoan FA Institution - NewLoan FA Institution - NewLoan CreditUnion - NewAccount DormSystem - NewRenter HouseToShareBB - NewRenter AppartmentAgency - NewRenter AppartmentAgency - NewRenter AppartmentAgency - NewRenter PaymentProcessor - PaymentService Back-end Services
Enrollment Application
Create an SIS Identity Will you need Financial Aid? Display Financial Aid Offers Submit Application to F.A. Want a Credit Union Account? Submit Application to CU
Need Housing? Display Options Display Housing Options
Get Deposit Requirements add to invoice
Get Account Info and add cost to invoice SIS - NewStudent FA Institution - NewLoan FA Institution - NewLoan FA Institution - NewLoan FA Institution - NewLoan FA Institution - NewLoan CreditUnion - NewAccount DormSystem - NewRenter HouseToShareBB - NewRenter AppartmentAgency - NewRenter AppartmentAgency - NewRenter AppartmentAgency - NewRenter Back-end Services The Application lives above these
services on the “Service Bus” as an orchestrated set of events and it is Business
Technology Stack of Web Services
30 Service Application Security Policy Management Service Application Security PolicyTechnology Stack of Web Services
Service Security Policy Management Service Security Policy WS-Security WS-PolicyTechnology Stack of Web Services
32 Service Application Service Application Registry Repository WSDL Schema SLATechnology Stack of Web Services
Service Service Registry Repository UDDI -WSDL Schema SLATechnology Stack of Web Services
34 Service Application Security Policy Management Service Application Security Policy Registry Repository OrchestrationBusiness Activity Monitoring Business Intelligence
Technology Stack of Web Services
Service Security Policy Management Service Security Policy Registry Repository OrchestrationBusiness Activity Monitoring Business Intelligence
B.P.E.L.
BAM BI
Technology Stack of Web Services
36 Service Application Security Policy Management Service Application Security Policy Registry Repository OrchestrationBusiness Activity Monitoring Business Intelligence
Security
Technology Stack of Web Services
Service Security Policy Management Service Security Policy Registry Repository OrchestrationBusiness Activity Monitoring Business Intelligence
Part 1: What is SOA and why should you care
Part 2: Technology of SOA: Web Services
75%
8%
Part 1: What is SOA and why should you care
Part 2: Technology of SOA: Web Services
40
Migration Strategy - SOA
Process
- business process analysis
Information
- data definitions and standard
schemas
Infrastructure
- architecture and technical gaps
Vendors
- helping hands
Migration Strategy - SOA
•
Process - Business Process Analysis
– Prioritization - Most Pain, Most Gain
– Define/Document Business Process
–
Look for optimization opportunities
–
Use disruption to your advantage
42
Migration Strategy - SOA
•
Information - Enterprise Data Definitions
– Let the Business Process Analysis drive the data
definition process
– Don’t build a complete dictionary
–
Start with the most needed definitions
–
Build on existing standards
• HR-XML.ORG• IMS
Migration Strategy - SOA
•
Infrastructure - Architecture and Technology
– Gap analysis - what pieces are missing
– Do we have the right architecture in place?
–
Business Process Analysis and Data needs drive
the effort.
44
Migration Strategy - SOA
•
Vendor - Evaluation to fill the gaps
– Business Process Analysis
– Enterprise Data Identification
– Data Definitions / Standards Development
– Service Design
Migration Strategy - SOA
•
Organization - Change Management
– Culture shift from data to services
– Staff training and support
–
Integration Competency Centers
(3)–
New Expertise
•
Service Interface Designer
(2)46
People of the ICC
• Project Manager
• Services Architect
• Interface Designers
• Registry / Library manager
• Schema experts
48
Building the ICC
• Critical Success Factor
• Centrally funded not a charge-back center
• Unifying practices
• Easier to enact and deploy standards
• Manage the interface library (WS Registry a.k.a.
UDDI Registry)
Organizational Change
•
New Skills and the ICC
• Misalignments
• Governance
• Forces for Change
75%
8%
50
Misalignment
• How we fund projects
Misalignment
• How we fund projects
– DATA - “please build an app for me”
– SERVICE - “we need these reusable services”
– Who should pay for the infrastructure?
– Who should pay to build the service?
– Who should pay to support the service?
–
Looks a lot like “Overhead”
52
Misalignment
• How do we measure our employees
– DATA - “I built these apps for these customers”
– SERVICE - “I made these reusable services”
–
Hard to measure “value”
Governance - Complex and Difficult Mix
When you hear the words: Funding,
Policy, and Security in the same talk, you
know that Governance can’t be far
behind.
Identity Management framework
Identity ManagementLeadership Group
Registrar & H.R. co-chair Members include: Business Leaders Technical Leaders Authentication Authorization Coordinating Team Access To Data ID Card Evaluation Technical Assessment and Policy Recommendations
56
SOA Governance framework
SOALeadership Group
Integration Competency
Who is the force for change?
Service
SIS
IsEnrolled Service Library Yes/No StudentID,CourseID Point of Sales System Portal StudentID CourseID1 …?
?
?
?
58
Force 1: Architectural Purity
Service SIS IsEnrolled Service Library Yes/No StudentID,CourseID Point of Sales System Portal StudentID CourseID1 …
Statement: It is good for the Enterprise.
Model: We will all cooperate for the good of the whole.
Never works. People don’t act for the good of all when their project / budget / timeline / comfort is at risk.
Force 2: Consumer
Service SIS IsEnrolled Service Library Yes/No StudentID,CourseID Point of Sales System Portal StudentID CourseID1 …Statement: We want a Web service for …..
Model: The first Consumer will drive the change.
Rarely works. Need an alignment of good will between the Consumer(s) and Service Provider.
60
Force 3: Service Provider
Service SIS IsEnrolled Service Library Yes/No StudentID,CourseID Point of Sales System Portal StudentID CourseID1 …
Statement: It is the new “supported” way
Model: The Service Provider will set the standard
Should work. Especially if the Service Provider can eliminate other feeds and if they impose costs on new feeds.
How would this work
Service Provider eliminates multiple flat-file
feeds - replaces with single Web Service.
62
How would this work
• Use Web Service
– Agree to SLA
– ICC establish
Security and Policy
– Register use in the
WS Registry
Service Provider eliminates multiple flat-file
feeds - replaces with single Web Service.
How would this work
• Use Web Service
– Agree to SLA– ICC would establish Security and Policy – Register use in the
WS Registry
• Request a Flat File
– Go through review
– Pay to build & maintain feed forever
– Pay for whole cost of feed – Agree to policy re:use,
security, privacy etc.
Service Provider eliminates multiple flat-file
feeds - replaces with single Web Service.
64
Force 3: Service Provider
Service
SIS
IsEnrolled Service Library Yes/No StudentID,CourseID Point of Sales System Portal StudentID CourseID1 … Agree Or Pay$$$
Organizational Change
• New Skills and the ICC
• Misalignments
– Funding models
– Employee Evaluation
• Governance
66
68
Phylogeny and Standards
http://genetics.nbii.gov/systematics.html
WSDL SOAP XML
WS-Security WS-Policy
Part 1: What is SOA and why should you care
Part 2: Technology of SOA: Web Services
Part 3: Migration Strategy -
Organization Change
75%
8%
70
Campus Highway
Roadmap to SOA - 1000’ view
• Building/Funding an ICC
• Establishment of Governance
• Analysis of Business Processes and BPI
• Reduction of Interfaces
• Migration to Services
• Core WS Technology
Our Next Steps
• Developing Roadmap for an ICC
• Developing a Roadmap for Governance
• Funding model
• Hosting model
• Proof Of Concepts with vendor solutions
– Oracle’s Fusion MWare stack
– Sun
72
• Model for campus involvement
• Working with UW-System on their role and
plans
• Working with DOA @ State level
• I.T. Portfolio Management project
– dovetails with the SOA project and
with Business Process Improvement
SOA - My Definition
• SOA is the exposure of business functions as services for integration and orchestration into new and
interesting applications.
• SOA is built on reusable, shared, networked services where each service is a well defined business
74
Conclusion
• Move to SOA to:
– Reduce cost and complexity
– Increase security
– Reduce data duplication
– Gain transparency
– Reusability
Conclusion
• ICC is critical.
• Must be seen as helping hands not an extra cost
and burden to projects.
• Service providers could be our force for change
• Governance, Policy and Security are sticky issues
• The door has opened for SOA.
76
Thank you.
Questions?
Service Oriented Architecture
Jim Phelps, Sr. I.T. Architect, DoIT, UW-Madison EDUCAUSE SAC, Auguest 2006
[email protected] http://arch.doit.wisc.edu/jim
Copyright Jim Phelps, 2006. This work is the intellectual property of the author. Permission is granted for this material to be shared for non-commercial, educational purposes, provided that this copyright statement appears on the reproduced materials and notice is given that the copying is by permission of the author. To disseminate otherwise or to republish requires written permission from the author.
References
1.Service Oriented Architecture, Roy W. Schulte and Yefim V. Natis, Gartner, 12 April 1996
2.Migrating to a service-oriented architecture, Part 1, Channabasavaiah et al, IBM, 16 dec 2003 3.Enterprise Application Integration, Revere Group Presentation - June 26, 2003
4.Service-Oriented Architecture, A Field Guide to Integrating XML and Web Services, Thomas Erl - Prentice Hall 5.Introduction to Integration Compentency Centers, Darwinmag.com - http://www.darwinmag.com/read/070104/
integration.html
6.Enterprise Service Bus, David A. Chappell - O’Reilly