Service Oriented Architecture
Jim Phelps, Senior I.T. ArchitectDivision of Information Technology, UW-Madison
EDUCAUSE SAC, August 2006
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
•Open discussion
Part 1: What is SOA and why should you care
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]
5
In Pictures...
Application
Data
Business Logic Code
User Interface
API
7http://en.wikipedia.org/wiki/Image:SOA_Elements.png
SOA as a Picture
8http://en.wikipedia.org/wiki/Image:SOA_Elements.png
SOA: Where the Application lives on the bus
Application
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.
• In this talk, that technology is Web Services
Why should you care?
11
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 IT budget is spent on interfaces and integration”[3]
Integration Complexity n(n-1)
12
13
A Simple Use CaseeReserves:
• Library has books on reserve for a course.• The Library checks those books out only to
students in the course.
14
Data vs. Service
SISCourse Roster
Library
Course Roster
Data
15
Data vs. Service
ServiceSIS
IsEnrolled Service
Library
Yes/No
StudentID, CourseID
SISCourse Roster
Library
Course Roster
Data
16
Reusability
ServiceSIS
IsEnrolled Service
LibraryYes/No
StudentID, CourseID
17
ServiceSIS
IsEnrolled Service
LibraryYes/No
StudentID, CourseID Point of Sales System
Reusability
18
ServiceSIS
IsEnrolled Service
LibraryYes/No
StudentID, CourseID Point of Sales System
PortalStudentID
CourseID
Reusability
19
ServiceReplication AnswersOpaque Process TransparentDisconnected ConnectedPoint-to-Point One-to-Many Reusable
Brittle RobustComposite Apps
Data
20
Data vs. Service
• Fundamental shift away from shipping data to providing services
21
Data vs. Service
• Move to SOA to:– Reduce cost and complexity– Increase security– Reduce data duplication– Gain transparency– Reusability– Enable cool new applications
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%
17%
Part 1: What is SOA and why should you carePart 2: Technology of SOA: Web Services
Admit New Student - an Example
• Imagine a future where a new student enrolls for the first time...
25
26
A New Student
EnrollmentApplication
Submit Application Create an SIS Identity
Will you need Financial Aid?Yes
Display Financial Aid OffersChoose 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 BillSubmit Payment
Route Payment to partners
27
A New Student
EnrollmentApplication
Submit Application Create an SIS Identity
Will you need Financial Aid?Yes
Display Financial Aid OffersChoose 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 OptionsYes
Choose One Display Housing Options
Get Deposit Requirements add to invoice
Get Account initial cost and add to invoice
Display BillSubmit Payment
Route Payment to partners
This is an example of an orchestrated composite
application that SOA enables
28
EnrollmentApplication
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 - NewLoanFA Institution - NewLoanFA Institution - NewLoanFA Institution - NewLoanFA Institution - NewLoan
CreditUnion - NewAccount
DormSystem - NewRenter
HouseToShareBB - NewRenter
AppartmentAgency - NewRenterAppartmentAgency - NewRenterAppartmentAgency - NewRenter
PaymentProcessor - PaymentService
Back-end Services
29
EnrollmentApplication
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 - NewLoanFA Institution - NewLoanFA Institution - NewLoanFA Institution - NewLoanFA Institution - NewLoan
CreditUnion - NewAccount
DormSystem - NewRenter
HouseToShareBB - NewRenter
AppartmentAgency - NewRenterAppartmentAgency - NewRenterAppartmentAgency - NewRenter
PaymentProcessor - PaymentService
Back-end Services
The Application lives above these
services
on the “Service Bus”
as an orchestrated set
of events
and it is Business Process Driven
Technology Stack of Web Services
30
Service
Application
Security
Policy
Management
Service
Application
Security
Policy
Technology Stack of Web Services
31
Service
Application
Security
Policy
Management
Service
Application
Security
Policy
WS-SecurityWS-Policy
Technology Stack of Web Services
32
Service
Application
Service
Application
Registry
RepositoryWSDL
Schema
SLA
Technology Stack of Web Services
33
Service
Application
Service
Application
Registry
Repository
UDDI -
WSDL
Schema
SLA
Technology Stack of Web Services
34
Service
Application
Security
Policy
Management
Service
Application
Security
Policy
Registry
Repository
Orchestration
Business Activity Monitoring
Business Intelligence
Application Interface
Technology Stack of Web Services
35
Service
Application
Security
Policy
Management
Service
Application
Security
Policy
Registry
Repository
Orchestration
Business Activity Monitoring
Business Intelligence
B.P.E.L.
BAM
BI
Application Interface
Technology Stack of Web Services
36
Service
Application
Security
Policy
Management
Service
Application
Security
Policy
Registry
Repository
Orchestration
Business Activity Monitoring
Business Intelligence
SecurityApplication Interface
Technology Stack of Web Services
37
Service
Application
Security
Policy
Management
Service
Application
Security
Policy
Registry
Repository
Orchestration
Business Activity Monitoring
Business Intelligence
Enterprise Service Bus (ESB)
Part 1: What is SOA and why should you carePart 2: Technology of SOA: Web Services
75%
8%
17%
Part 1: What is SOA and why should you carePart 2: Technology of SOA: Web ServicesPart 3: Migration Strategy - Organization Change
40
Migration Strategy - SOAProcess - business process analysisInformation - data definitions and standard
schemasInfrastructure - architecture and technical gapsVendors - helping handsOrganization - Change Management
41
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– Data needs (timeliness, availability, etc)
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• eduPerson, eduOrg
43
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– Technology Gaps
45
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)
•Service Library Manager (2)
46
People of the ICC
•Project Manager•Services Architect• Interface Designers•Registry / Library manager•Schema experts
47
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)
49
Organizational Change• New Skills and the ICC• Misalignments• Governance• Forces for Change
75%
8%
17%
50
Misalignment• How we fund projects
• How do we measure our employees
51
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”
53
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.
54
55
Identity Management framework
Identity ManagementLeadership Group
Registrar & H.R. co-chairMembers include:Business LeadersTechnical Leaders
AuthenticationAuthorizationCoordinating
Team
AccessTo
Data
ID CardEvaluation
Technical Assessment and
Policy Recommendations
56
SOA Governance framework
SOALeadership Group
IntegrationCompetency
CenterDRAFT
57
Who is the force for change?
ServiceSIS
IsEnrolled Service
Library
Yes/No
StudentID,CourseID
Point of Sales System
Portal
StudentID
CourseID1…
??
?
?
58
Force 1: Architectural Purity
ServiceSIS
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.
59
Force 2: Consumer
ServiceSIS
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
ServiceSIS
IsEnrolled Service
Library
Yes/No
StudentID,CourseID
Point of Sales System
Portal
StudentID
CourseID1…
Statement: It is the new “supported” wayModel: The Service Provider will set the standardShould work. Especially if the Service Provider can eliminate other feeds and if they impose costs on new feeds.
61
How would this workService 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.
Consumer can:
63
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.
Consumer can:
64
Force 3: Service Provider
ServiceSIS
IsEnrolled Service
Library
Yes/No
StudentID,CourseID
Point of Sales System
Portal
StudentID
CourseID1…
Agree Or Pay
$$$
65
Organizational Change
• New Skills and the ICC• Misalignments– Funding models– Employee Evaluation
• Governance• Forces for Change
66
One other sticky bit...
67
Phylogeny and Standards
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 carePart 2: Technology of SOA: Web ServicesPart 3: Migration Strategy - Organization Change
75%
8%
17%
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
71
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– OpenSource
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
Our Next Steps
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.
74
Conclusion• Move to SOA to:– Reduce cost and complexity– Increase security– Reduce data duplication– Gain transparency– Reusability– Enable cool new applications
75
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-MadisonEDUCAUSE SAC, Auguest [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.
77
References1. 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
7. VantagePoint 2005-2006 SOA Reality Check, Anne Thomas Manes, Burton Group