Phased SOA Integration of PeopleSoft and 3rd Party Applications Collaborate Conference April 18-22, 2010 Randy Groncki Senior PeopleSoft Developer Northrop Grumman Corporation
Aug 29, 2014
Phased SOA Integration of PeopleSoft and 3rd Party Applications
Collaborate ConferenceApril 18-22, 2010
Randy GronckiSenior PeopleSoft Developer
Northrop Grumman Corporation
Agenda• Driving Question• Integration Summary• Web Services Definition• Our Challenge• The phased approach
– Our ultimate destination: Phase 2– How are we going to get there: Phase 1
• The cutover• Questions and discussion
Driving Question
In a world where not all your applications are web serviced enabled, how do you NOT spend resources to develop an interface twice?
• Once now using older style batch processes• Again later when that other system becomes SOA
Enabled
Integration Summary: PeopleSoft HCM
• PeopleSoft 8.8 HCM Enterprise Learning module controls internal agency classroom training– Customer only– Course and Facilities scheduling– Instructor scheduling– Course rosters and status– Communications
Integration Summary: Plateau
• Plateau Learning LMS– Live and Recorded Web Seminars– CBT classes– Serves multiple outside clients– Web based application– Hosted by Customer
IntegrationSummary - Target
• PeopleSoft and Plateau will maintain course and enrollment information between the systems in near real time using Web Services
• PeopleSoft will update Plateau course catalog with Course, Session and Facility information
• Plateau will enroll students into PeopleSoft courses following PeopleSoft’s business rules
• Both PeopleSoft & Plateau will keep the other systems informed of changes to student enrollments
Integration Vision• Near Real Time Integration
• Changes to integration data are sent as individual transactions upon save
• Web Services communicate changes between systems
• Each system constantly “Listens” for updates from the other system
• Think “Mailbox”, not “Telephone Call”
Integration Problem• Plateau is Web Services capable, but…
• The Plateau support team does currently possess the skills and time to leverage the Plateau SOA Functionality
• Their plan is to train and implement Plateau web services during next upgrade
• Currently only capable of traditional interfaces
Web Services: Definition• Provider
– Creates functionality and makes it available to other applications and processes
– Defines the communication process– Data file composition and description– Communication methods and security– Constantly listens for requests
• Consumer– Consumes (uses) Web Services– Initiates Communication– Must adhere to Provider’s rules
• Near Real Time
Web Services PlanService Provider ConsumerPsoft 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
Integration Data Points• PeopleSoft to Plateau
– Course Information– Course Session Table– Facilities Table– Facilities' Rooms Table– Changes to Plateau enrollments of PeopleSoft courses
• Plateau to PeopleSoft– Enrollments into PeopleSoft Courses– Changes to enrollments in PeopleSoft Courses
Integration Plan• Phase 1
– Plateau & PeopleSoft communicate through shared database tables hosted on Plateau
– Changes to source data update the integration tables in real time
– Recurring batch processes read the integration tables and update the target systems
• Phase 2– PeopleSoft and Plateau communicate Phase 1 data
through Web Services– Data updates in Near Real Time
Phase 2 Integration ExamplePeopleSoft 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
Phase 2 Integration ExampleNew 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
Phase 1 Solution• Phase 1 focuses on integration processes and
business rules• Web Services solution is too aggressive for Phase 1
integration implementation• Applications communicate through DB Tables hosted
by Plateau• PeopleSoft portion is coded to easily convert to
Phase 2 Web Services solution• Create Surrogate Plateau Web Services to complete
communications loop
PeopleSoft Phase 1 Solution• Permanent solution coded as if full Web Services
implement and working in both systems• Changes to Integration tables, both course and
enrollments, publish through internal, PeopleSoft web services
• Enrollments updates from Plateau “listen” for enrollment Web Services messages to process
PeopleSoft Phase 1 Solution (Cont)
• Temporary (Surrogate) Web Services built in PeopleSoft acts as Plateau System• “Listener” captures Web Service messages published
by PeopleSoft and writes data to DB integration tables for Plateau to read
• Batch process reads enrollment DB Integration table and publishes Web Service messages for PeopleSoft enrollment listener to catch and process
• Status updates work in the same method as above
Plateau Surrogate
Phase 1 Integration ExamplePeopleSoft 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
Phase 2: Web Services• Minimal code change in PeopleSoft to convert to final
Web Service Integration solution with Plateau• Turn off Plateau Surrogate Web Services System
• Surrogate Listeners• Batch Process Publishers• DB Links for cross system update of integration
tables• Create new routing definitions to communicate with
Plateau• Implement Security
• SOAP wrappers for message security• Transport Security (SSL)
Conclusion
Demonstration
Conclusion
Questions?