1 / 33

Lather, Rinse, Reuse: Rapid PeopleSoft Web Services Using a Configurable Data Services Framework

Lather, Rinse, Reuse: Rapid PeopleSoft Web Services Using a Configurable Data Services Framework. Session #29613 March 29, 2011. Presenters:. Jeremiah Adams Enterprise Architect for University Information Systems Formerly IT Architect for Boulder Campus Chris Rigsby

quade
Télécharger la présentation

Lather, Rinse, Reuse: Rapid PeopleSoft Web Services Using a Configurable Data Services Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lather, Rinse, Reuse: Rapid PeopleSoft Web Services Using a Configurable Data Services Framework Session #29613 March 29, 2011

  2. Presenters: • Jeremiah Adams • Enterprise Architect for University Information Systems • Formerly IT Architect for Boulder Campus • Chris Rigsby • Systems Engineer with Optimyzed Systems LLC • Working on the University of Colorado’s implementation project since April ‘08 • Former Systems Architect for University of Minnesota • HEUG Tech Advisory Group Member in ’06

  3. Overview • Deploy a service based framework for student data interfaces • Leverage new technology capabilities and the opportunity of a system deployment to shift integration paradigms • Exploit re-usability for efficient service production

  4. Agenda • Background • Architectural Considerations • Demo • Design • Lessons Learned

  5. University of Colorado • 3 Campus System • 56, 000 Students • 2.6 Billion Operating Budget • 5,400 Instructional Faculty

  6. CU& Oracle The University of Colorado operates PeopleSoft: • Financials • HR • Campus Solutions • Enterprise Portal • CRM Additionally we rely upon Oracle Fusion Middleware, Service Bus, Weblogic Server and RAC.

  7. Background • In the midst of deploying Campus Solutions • Transitioning from a Mainframe SIS • Many external systems bolstering functionality of mainframe • External system access to data via batch files, and ODBC to Data Warehouse

  8. Defining The Problem • Downstream system from legacy SIS required student data. • Hundreds of interfaces were in existence • Many of these systems and therefore interfaces needed to be re-produced

  9. Defining The Environment Central IT Campus IT Distributed IT

  10. Objectives • Balance Performance / Elegance / Simplicity • Capitalize on re-usability, and understandability • Develop a Canonical Model • Reduce local data storage • Eliminate use of ODBC • Simplify our integrations to follow 3 patterns: • Request Response • Event • Batch File

  11. Technology Context • Use the tools at hand: • Campus Solutions • Fusion Middleware • OSB • OWSM

  12. Data Governance • DAG • Registrars from all campuses • Procedures / approval for distributed access to and storage of data

  13. Demo: CU Boulder’s “Advisee” Web Service A quick LIVE demonstration using soapUI Input: • A student ID (EMPLID) value Output: • Person Data • Names • Addresses • Email Addresses • Phone Numbers • Student Data • Career, Program, Plan • Student Groups • Service Indicators • Advisor(s) • Academic Work • Transfer Credit • Courses Taken at CU

  14. Designing the Framework Goals • Build reusable Data Service objects that can be glued together in different ways to make Web Services • Make it easy to extract data as XML • Make the output configurable • Create friendlier table and field aliases for consumers • Control which tables/field are sent for a particular web service • Automate the creation of complex output XSD schema documents • Allow for non-disruptive extensibility • Add a new table to a data service without affecting existing consumers

  15. Designing the Framework After several trial iterations using PSUnit to drive testing of PeopleCode Application Classes…

  16. Designing the Framework

  17. Designing the Framework PeopleCode Class: CUDataEntity • 1 instance per table/record in each Data Service • Manages data for table and field aliases • Manages visibility (include or exclude this table or any fields in the output)

  18. Designing the Framework PeopleCode Class: CUAbstractDataService • Contains an array of PeopleCodeRowset objects • Rowsets can be hierarchical structured data containers • Parent/Children/Grandchildren • Allows multiple tree-like structures to be grouped

  19. Designing the Framework PeopleCode Class: CUAbstractDataService • Contains a swiss-army knife of utility methods that subclasses can use to: • Populate the entire Rowset tree with a single call • Filter the data to show only current effective-dated data • Output XML and XSD for a web service by crawling the Rowset structure

  20. Designing the Framework PeopleCode Class: CUAbstractWebServiceHandler This abstract class provides utilities that allow subclasses to easily coordinate the work of one or more Data Service objects.

  21. Designing the Framework PIA Component: Data Service Defaults • Establishes the linkage between a PeopleCodeDataService implementation and configuration data • Basic description of the Data Service • Record/Field aliases • Output control (checkboxes to include in output) These are default values for a DataService object. Each Web Service implementation can override!

  22. Designing the Framework PIA Component: Data Service Defaults

  23. Designing the Framework PIA Component: Data Service Defaults

  24. Designing the Framework PIA Component: Web Service Configuration • Linkage between configuration data and the PeopleCode • Handler class • Inherits config (aliases, include flags) from Data Services, allows overide for each Web Service Handler without affecting other services • Automagically generates XML Schema (XSD) for the output data structure based on include flags and aliases!

  25. PIA Component: Web Service Configuration Designing the Framework PIA Component: Web Service Configuration

  26. PIA Component: Web Service Configuration Designing the Framework

  27. PIA Component: Web Service Configuration Designing the Framework

  28. How It Flows

  29. Creating a New Web Service • Design & Build a new Data Service class (if needed, otherwise reuse an existing one) • Iteratively Code & Test the new Data Service class using PSUnit • Configure Data Service output defaults • Design & Build the Web Service Handler class • Iteratively Code & Test the new Web Service Handler class using PSUnit • Configure the Web Service Handler Outputs • Generate Output XML Schema • Build XML Input Schema • Build the IB Web Service • Create Request and Response Messages • Create the Service definition (container for one or more Service Operations) • Create the synchronous Service Operation • Assign to a Service • Assign the Request and Response Messages • Create “Any-to-Local” Routing • Assign PeopleCode Request Handler • Publish Service Operation as a Web Service (Generate WSDL)

  30. Lessons Learned & Next Steps • Less than 2 Hours to build a new Web Service! • The “Huge Results Set” Issue • Oracle Web Services Manager Slowing Us Down • Implement Async Request/Response? • Desire to move from UsernameToken to Certificate-based Authentication

  31. Questions? • What did we miss? • We will be contributing this package to “community source” for you to review and use!

  32. Contacts • Jeremiah Adams • Enterprise Architect • University Information Services • University of Colorado • E-mail: Jeremiah.Adams@cu.edu • Chris Rigsby • Systems Engineer (Consultant) • Optimyzed Systems LLC • http://optimyzed.com • E-mail: chris.rigsby@optimyzed.com

  33. This presentation and all Alliance 2011 presentations are available for download from the Conference site atwww. heug.orgwww.psugonline.orgwww.federalusersnetwork.com Presentations from previous meetings are also available

More Related