Planning & Delivering Service Oriented Architecture (SOA) University of California, San Diego May 24, 2006 © Copyright UC Regents, 2006
Implementation Challenges Topics
UCSD Examples Experiences and Case Studies
23,500 Employees (Including Medical Center) $1.9 Billion Annual Budget $728 Million Annual Research Funding _______________________________________________________________________________________ About UCSD
IBM Mainframe and Sun Solaris Servers
UC San Diego and the University of Minnesota cited as best practices in December 2005 cover story about administrative cost savings in universities
External Recognition “ Using a combination of technological and organizational resources, UCSD fosters a continuous improvement cycle that constantly strives to enhance university business operations.”
Nov. 2005 Study by the Educause Center for Applied Research
The New Business Architecture
About UCSD UCSD Goals:
Interoperability and Open Architecture
About UCSD: Business Portal
About UCSD: MyDashboard – Leave Activity Report
About UCSD: MyDashboard – Financial Information
SOA Alphabet Soup
Life-cycles continue to shrink Systems constantly changing for business needs Regardless of platform, DB, technology – all systems need to: IT Challenges
Leverage departmental IT staff in enterprise development
Architecture Needs Loosely-coupled with reusable components Promote productivity - reduce the time-to-market To drive business processes closer to end users Leverage and integrate existing applications Provide standard connections between systems
Abstract the complexity for the developers
What is Service-Oriented Architecture?
What is SOA? SOA (service-oriented architecture) is a broad framework within which enterprises build, deploy, and manage services; these services are application components that can be called upon by other applications using standard protocols . The primary objective is a more agile application infrastructure that responds swiftly to shifting business demands.
What is a Service? Services are application components that are available to other applications using standard protocols (typically XML) Create a PO inside a mainframe application Retrieving & updating student info
Reviewing & changing HR benefits
What is a Service
Analogy to A/V Components Years ago electronic systems were self-contained monolithic systems Today’s electronics are pluggable and independent What is SOA?
Benefits of SOA
Key Components of a SOA A service oriented architecture is a software architecture that is based on the following key concepts:
A service consists of a contract, one or more interfaces and an implementation
Using a Service
Development time discovery imposes a fairly simple model. The developer is responsible for locating all required information from the service repository in order to create a client that interacts correctly with the service instance.
A Service Example
Planning for SOA @ UCSD Think strategically and plan tactically Evolutionary not revolutionary Focus on approach, not technology “ Leave & layer vs. rip & replace” Gartner Group Make it easy for developers to adopt Natural progression of original OO Architecture and Approach
Not going to happen overnight- It takes time: “the true adoption is about two years behind the hype”. Gartner Group
Planning for SOA @ UCSD Experiment with Web Services Small project high degree of success Adapt some existing systems to use Services Remove Intersystem dependencies Establish an Internal SOA
Expand Internal SOA to include external services.
Single Sign-On Uses Shibboleth for Authentication http://shibboleth.internet2.edu/ Supported on different platforms (based on SAML) Uses UCSD Roles & Affiliates as the data repository for authentication and authorization
Part of the UC-Trust Collaboration project for cross-campus identity management.
Case Study - MyRecords Portlets Student portlets are provided through the MyRecords tab. Each portlet is populated from a web service. Information comes from either the mainframe or data warehouse.
Portlet content is cached and managed through event driven messages which implement the cache policy.
ElementK Integration UCSD supplies the Portal top banner navigation, page footer and right sidebar Single Sign-On provides user pass through from UCSD portal to KnowledgeHub. UCSD Portal KnowledgeHub Integration
Web Services create user account at the time of login.
Implementation Challenges Creating object-like services using: Legacy Procedural Mainframe (CICS) Applications
Legacy Web-Applications (Perl/CGI)
Implementation Challenges Technical Challenges (cont) Security challenges - loosely coupled environment Performance - XML brings robustness not speed
Organizing the services – Registry & Repository
UCSD Server Environment
Implementation Challenges Organizational and Cultural Challenges Paradigm shift for developers Paradigm shift for IT Managers
More organizational discipline
Implementing SOA @ UCSD Web Application Developers Enterprise Architecture & Integration Team Portal Services - Web Content Analysts & Writers Legacy Mainframe Application Programmers DBA & Data Warehouse Team
System & Tech Support (Unix & Mainframe)
Keeping staff motivated and excited
Implementing SOA @ UCSD
UCSD Application Infrastructure We had an application infrastructure which supported the concept of services. It could be extended and runs in a J2EE container We already had support for and interoperability with open source technology Vignette Portal & Content Management WebSphere Z/OS (hopefully, waiting for funding)
We currently have over 400+ services developed for our applications. There has been a high percentage of reuse over the last year. These will be the building blocks of our campus wide services planned for the next 12 months.
UCSD Timeline UCSD History & Milestones
Marty Backer [email_address] Christopher De Rosa [email_address] Elazar Harel [email_address] Thank You