Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Phased soa integration of people soft and 3rd party applications


Published on

Companion Slides for White Paper written for Northrop Grumman Presentation at Collaborate 10:
A challenge arises when creating a new integration between systems when one system is not able to communicate through Web Services due to technology and/or training and resources. Is the solution to create old style integrations using batch processes and flat files until both systems are able to implement Web Services? Worse yet, do we spend more money to redevelop the existing interface once we have the ability to do it better?

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Phased soa integration of people soft and 3rd party applications

  1. 1. Phased SOA Integration of PeopleSoft and 3rd Party Applications Collaborate Conference April 18-22, 2010 Randy Groncki Senior PeopleSoft Developer Northrop Grumman Corporation
  2. 2. Agenda <ul><li>Driving Question </li></ul><ul><li>Integration Summary </li></ul><ul><li>Web Services Definition </li></ul><ul><li>Our Challenge </li></ul><ul><li>The phased approach </li></ul><ul><ul><li>Our ultimate destination: Phase 2 </li></ul></ul><ul><ul><li>How are we going to get there: Phase 1 </li></ul></ul><ul><li>The cutover </li></ul><ul><li>Questions and discussion </li></ul>
  3. 3. Driving Question <ul><li>In a world where not all your applications are web serviced enabled, how do you NOT spend resources to develop an interface twice? </li></ul><ul><li>Once now using older style batch processes </li></ul><ul><li>Again later when that other system becomes SOA Enabled </li></ul>
  4. 4. Integration Summary: PeopleSoft HCM <ul><li>PeopleSoft 8.8 HCM Enterprise Learning module controls internal agency classroom training </li></ul><ul><ul><li>Customer only </li></ul></ul><ul><ul><li>Course and Facilities scheduling </li></ul></ul><ul><ul><li>Instructor scheduling </li></ul></ul><ul><ul><li>Course rosters and status </li></ul></ul><ul><ul><li>Communications </li></ul></ul>
  5. 5. Integration Summary: Plateau <ul><li>Plateau Learning LMS </li></ul><ul><ul><li>Live and Recorded Web Seminars </li></ul></ul><ul><ul><li>CBT classes </li></ul></ul><ul><ul><li>Serves multiple outside clients </li></ul></ul><ul><ul><li>Web based application </li></ul></ul><ul><ul><li>Hosted by Customer </li></ul></ul>
  6. 6. Integration Summary - Target <ul><li>PeopleSoft and Plateau will maintain course and enrollment information between the systems in near real time using Web Services </li></ul><ul><li>PeopleSoft will update Plateau course catalog with Course, Session and Facility information </li></ul><ul><li>Plateau will enroll students into PeopleSoft courses following PeopleSoft’s business rules </li></ul><ul><li>Both PeopleSoft & Plateau will keep the other systems informed of changes to student enrollments </li></ul>
  7. 7. Integration Vision <ul><li>Near Real Time Integration </li></ul><ul><ul><li>Changes to integration data are sent as individual transactions upon save </li></ul></ul><ul><ul><li>Web Services communicate changes between systems </li></ul></ul><ul><ul><li>Each system constantly “Listens” for updates from the other system </li></ul></ul><ul><ul><li>Think “Mailbox”, not “Telephone Call” </li></ul></ul>
  8. 8. Integration Problem <ul><li>Plateau is Web Services capable, but… </li></ul><ul><ul><li>The Plateau support team does currently possess the skills and time to leverage the Plateau SOA Functionality </li></ul></ul><ul><ul><li>Their plan is to train and implement Plateau web services during next upgrade </li></ul></ul><ul><ul><li>Currently only capable of traditional interfaces </li></ul></ul>
  9. 9. Web Services: Definition <ul><li>Provider </li></ul><ul><ul><li>Creates functionality and makes it available to other applications and processes </li></ul></ul><ul><ul><li>Defines the communication process </li></ul></ul><ul><ul><li>Data file composition and description </li></ul></ul><ul><ul><li>Communication methods and security </li></ul></ul><ul><ul><li>Constantly listens for requests </li></ul></ul><ul><li>Consumer </li></ul><ul><ul><li>Consumes (uses) Web Services </li></ul></ul><ul><ul><li>Initiates Communication </li></ul></ul><ul><ul><li>Must adhere to Provider’s rules </li></ul></ul><ul><li>Near Real Time </li></ul>
  10. 10. Web Services Plan Service Provider Consumer Psoft Course Update Plateau PeopleSoft Psoft Session Update Plateau PeopleSoft Psoft Facility Update Plateau PeopleSoft Psoft Room Update Plateau PeopleSoft Course Update Status PeopleSoft Plateau Enroll/Change in Psoft course PeopleSoft Plateau Enroll Status Plateau PeopleSoft Enroll/Change in Psoft course Plateau PeopleSoft Enroll Status PeopleSoft Plateau
  11. 11. Integration Data Points <ul><li>PeopleSoft to Plateau </li></ul><ul><ul><li>Course Information </li></ul></ul><ul><ul><li>Course Session Table </li></ul></ul><ul><ul><li>Facilities Table </li></ul></ul><ul><ul><li>Facilities' Rooms Table </li></ul></ul><ul><ul><li>Changes to Plateau enrollments of PeopleSoft courses </li></ul></ul><ul><li>Plateau to PeopleSoft </li></ul><ul><ul><li>Enrollments into PeopleSoft Courses </li></ul></ul><ul><ul><li>Changes to enrollments in PeopleSoft Courses </li></ul></ul>
  12. 12. Integration Plan <ul><li>Phase 1 </li></ul><ul><ul><li>Plateau & PeopleSoft communicate through shared database tables hosted on Plateau </li></ul></ul><ul><ul><li>Changes to source data update the integration tables in real time </li></ul></ul><ul><ul><li>Recurring batch processes read the integration tables and update the target systems </li></ul></ul><ul><li>Phase 2 </li></ul><ul><ul><li>PeopleSoft and Plateau communicate Phase 1 data through Web Services </li></ul></ul><ul><ul><li>Data updates in Near Real Time </li></ul></ul>
  13. 13. Phase 2 Integration Example PeopleSoft adds a course offering Psoft Course Table Psoft Integration Broker * Plateau Application Server * Plateau Course Offerings XML Document * 1. Course added through PSoft 6. Psoft receives status of course add in Plateau * 5. Plateau sends XML Document to Psoft with Status * 4. Plateau creates status of the update: Success or Fail 3. Plateau App Server receives XML Doc with new course data and update Plateau course offerings * 2. Psoft Integration Broker publishes XML Messages to Plateau * * Web Service
  14. 14. Phase 2 Integration Example New Course Enrollment Find/Set student in PeopleSoft (C.I.) 1. Student enrolls in Psoft Course through Plateau Enroll student in course (C.I.) Enrollment Handler (App Package) Psoft Integration Broker * Plateau Application Server * Plateau XML Document * * Web Service 2. Plateau sends message with new enrolment to Psoft Enrollment Web Service * 3. Psoft IB Listener (Web Service) receives message and hands data to handler * 6. Psoft sends status of enrollment to Plateau * 7. Plateau receives enrollment status message and processes * 5. Attempt to enroll student in course 4. Find or create student in PSoft
  15. 15. Phase 1 Solution <ul><li>Phase 1 focuses on integration processes and business rules </li></ul><ul><li>Web Services solution is too aggressive for Phase 1 integration implementation </li></ul><ul><ul><li>Applications communicate through DB Tables hosted by Plateau </li></ul></ul><ul><li>PeopleSoft portion is coded to easily convert to Phase 2 Web Services solution </li></ul><ul><ul><li>Create Surrogate Plateau Web Services to complete communications loop </li></ul></ul>
  16. 16. PeopleSoft Phase 1 Solution <ul><li>Permanent solution coded as if full Web Services implement and working in both systems </li></ul><ul><ul><li>Changes to Integration tables, both course and enrollments, publish through internal, PeopleSoft web services </li></ul></ul><ul><ul><li>Enrollments updates from Plateau “listen” for enrollment Web Services messages to process </li></ul></ul>
  17. 17. PeopleSoft Phase 1 Solution (Cont) <ul><li>Temporary (Surrogate) Web Services built in PeopleSoft acts as Plateau System </li></ul><ul><ul><li>“ Listener” captures Web Service messages published by PeopleSoft and writes data to DB integration tables for Plateau to read </li></ul></ul><ul><ul><li>Batch process reads enrollment DB Integration table and publishes Web Service messages for PeopleSoft enrollment listener to catch and process </li></ul></ul><ul><ul><li>Status updates work in the same method as above </li></ul></ul>
  18. 18. Plateau Surrogate Phase 1 Integration Example PeopleSoft adds course offering PeopleSoft Course Table Psoft Integration Broker * Psoft App Engine reads status for update Plateau XML Document * * Web Service 1. Course added though Psoft Psoft Integration Broker * Shared Course Int. Status Table Shared Course Integration Table 4. Plateau reads course updates in batch and applies changes to Plateau course offerings 6. App Engine publishes Plateau course update status * 3. Psoft IB Receives Web Service Message with new course data and updates common integration table * 2. Psoft Integration Broker publishes Web Service messages to Plateau * 7. Psoft receives status of course added in Plateau * 5. Plateau creates the status of the update: Success or Failure
  19. 19. Phase 2: Web Services <ul><li>Minimal code change in PeopleSoft to convert to final Web Service Integration solution with Plateau </li></ul><ul><ul><li>Turn off Plateau Surrogate Web Services System </li></ul></ul><ul><ul><ul><li>Surrogate Listeners </li></ul></ul></ul><ul><ul><ul><li>Batch Process Publishers </li></ul></ul></ul><ul><ul><ul><li>DB Links for cross system update of integration tables </li></ul></ul></ul><ul><ul><li>Create new routing definitions to communicate with Plateau </li></ul></ul><ul><ul><li>Implement Security </li></ul></ul><ul><ul><ul><li>SOAP wrappers for message security </li></ul></ul></ul><ul><ul><ul><li>Transport Security (SSL) </li></ul></ul></ul>
  20. 20. Conclusion Demonstration
  21. 21. Conclusion Questions?