SlideShare une entreprise Scribd logo
1  sur  9
Phased SOA Integration of PeopleSoft and 3rd Party Applications
Randall Groncki
Northrop Grumman Corporation


Introduction
The technology of Service Oriented Architecture and Web Services is several years old. Tools based
upon open standards have been available in Oracle’s People Tools since version 8.48 and a proprietary
form earlier than this. However, these technologies are just now becoming main stream in established
ERP environments as developers and support become more familiar the implementation and customers
demand faster, tighter integration between systems.

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?

This paper describes one solution to this problem. The simple idea is to develop the final PeopleTools
integration solution using web services while allowing the other system to create their side of the interface
using the batch tools and resources they have available. Then, create a surrogate for the other system
inside PeopleSoft which will communicate using Web Services with the PeopleSoft application and
translate the data to the older batch style to the other system. At some point in the future when web
services are available to that other system, the PeopleTools solution will require minimum changes to turn
off the surrogate and have the two systems communicate directly.


Integration Goal
Our goal was to integrate PeopleSoft HCM Enterprise Learning module with the Plateau LMS application.
The PeopleSoft HCM implementation at the customer controls the agency’s in house, classroom training
while the Plateau application provides CBT and web seminars to the customer and outside clients.
Plateau students outside of the customer can see customer Course offerings and request enrollment into
these courses through the Plateau application. Plateau then keeps the students informed of their
enrollment status as that status proceeds through the course enrollment lifecycle.


The Integrating Systems
The PeopleSoft HCM 8.8 Enterprise Learning Module controls the internal agency classroom training:

    •   PeopleSoft HCM 8.8 using Tools 8.48

    •   HCM application with Enterprise Learning Module for customer only

            o   Course definitions

            o   Session Scheduling

            o   Facilities management and scheduling


                                                                                                              1
Collaborate 10 Copyright ©2010 Northrop Grumman
o   Instructor scheduling

          o   Course rosters and status

          o   Communications to all involved in the training




                                                               2
Collaborate 10 Copyright ©2010 Northrop Grumman
The Plateau LMS is a JAVA based application providing training to the customer and outside clients:

    •   Plateau LMS Version 5.8

    •   Live and recorded Seminars

    •   CBT Classes

    •   One application serves multiple Federal Agencies

    •   Web based application

    •   Hosted by the customer


Integration Vision
The vision of our completed system is one where the systems communicate in near real time using
asynchronous messages (think mailbox, not telephone call). A change to integrated data on one system
is sent as an individual transaction to the other system upon the user saving. The systems will
communicate using XML messages through Web Services. Each system is constantly “listening” for
updates from the other system and acts upon a message immediately upon receiving it.


Integration Challenge
The intended integration is a perfect textbook example of a good, web services application, but, we ran
into a problem: The Plateau team was not ready to use web services.

Both the PeopleSoft and Plateau application are able to communicate through web services as delivered
from the respective vendors. However, the PeopleSoft support team is larger and has both developers
and administrators with web services training and experience. While not junior, none of the Plateau
developers and system administrators has training or experience with web services. Currently, the
Plateau team is only capable of traditional style interfaces.


Web Services Definition
We are defining Web Services in the following way for this specific integration. A Web Services
Integration contains a service provider providing a service and a consumer using that service from the
provider. The provider and consumer communicate through XML messages sent asynchronously
creating “Near Real Time” integration. Since both systems can change enrollment status for a student,
both systems must “Provide” and “Consume” web services maintain data synchronization.

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



                                                                                                          3
Collaborate 10 Copyright ©2010 Northrop Grumman
•   Constantly listens for requests

Consumer

    •   Consumes (uses) Web Services

    •   Initiates Communication

    •   Must adhere to Provider’s rules

PeopleSoft Integration Points

PeopleSoft must keep Plateau up to date on changes and additions to courses as well as changes to
enrollments for those students who have enrolled through Plateau.

    •   Course Table

    •   Course Session Table

    •   Facilities Table

    •   Facilities Rooms Table

    •   Changes to Plateau enrollments in PeopleSoft courses

Conversely, Plateau must communicate new course enrolments to PeopleSoft and changes to those
enrollments through Plateau. Once a student has enrolled in a course, the student or the student’s
management may cancel that enrolment.

    •   Enrollments into PeopleSoft Courses

    •   Changes to PeopleSoft enrollments

           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


Additionally, each system must track which enrollments were sent through the integration and which were
not. Sending an update to an enrollment which did not come through the integration will generate an
error in the other system. Conversely, not sending information on an updated enrollment will cause the
systems to fall out of synchronization.




                                                                                                      4
Collaborate 10 Copyright ©2010 Northrop Grumman
Integration Plan
Given that the PeopleSoft group is web service capable now and the Plateau group will eventually
implement web services, we would implement in two phases. The goal of the phases is to implement the
integration now using available technology, and then migrate to web services later while rewriting as little
code as possible.



Phase 1 will create a traditional integration between PeopleSoft and Plateau.

    •   Phase 2 XML data structures were agreed upon, and then created as Oracle database tables
        within the Plateau environment. DBAs created DBLinks granting the PeopleSoft application full
        access to these tables.

    •   The PeopleSoft side is coded as a Web Services application. A surrogate Plateau service is
        created inside PeopleSoft until the real Plateau system is ready.

    •   Changes to source data update the database tables in real time.

    •   Recurring batch processes read the integration tables an update the target systems.

Phase 2 implements real web services between PeopleSoft and Plateau.

    •   Communicate phase one data through Web Services

    •   DBLinks are removed

    •   Data updates in near real time

It is easier to understand the Phase 2 integration plan before looking at the Phase 1 plan. The Phase 1
plan does not make sense until the final integration plan is understood.


Phase 2 Integration Example: PeopleSoft Adds Course Offering
In this example, PeopleSoft Enterprise Learning users add course to the course catalog. Upon save,
PeopleSoft will send the new course data to Plateau to be added to the available courses.

Plateau’s listener receives the message sending it to a handler which adds the course to the Plateau
course catalog. Plateau then generates a status message informing PeopleSoft that the course addition
was received and successfully processed.

PeopleSoft receives the status message, completing the transaction. If errors occurred, PeopleSoft users
will be able to see them on a status page and deal with them as appropriate.




                                                                                                           5
Collaborate 10 Copyright ©2010 Northrop Grumman
Phase 2 Integration Example: New Enrollment
This example shows a Plateau user enrolling into a PeopleSoft course. Upon submission, Plateau sends
the enrollment and student information to PeopleSoft.

PeopleSoft’s listener receives the message and hands the XML document to a PeopleCode Application
Package controlling enrolments. First, the system looks to see if the student is already in the PeopleSoft
database. If this is a new student, PeopleSoft creates a new employee ID as a “Student-Non Employee”
type using a Component Interface. Then, the Student Enrollment Component Interface is invoked to
enroll the student into the course in “Requested” status. The new enrollment generates an Enrollments
Status message which is sent back to Plateau.

Plateau receives the Enrollment Status message and updates the student rolls and notifies the student of
the enrollment.

Any subsequent change to the enrollment on either system will generate a new message to keep the
other system informed. An example of this is when the course manager changes the student’s enrollment
status from “Requested” to “Enrolled”. Plateau is instantly notified and the student is informed as per the
Plateau business rules.




                                                                                                             6
Collaborate 10 Copyright ©2010 Northrop Grumman
Phase 1 Implementation
A total Web Services solution was too aggressive for the Phase 1 implementation. The purpose of this
phase is to integrate the two systems today in such a way to minimize rewrites and changes during the
Phase 2 integration while focusing on integration processes and business rules. The PeopleSoft side of
the integration is written as a web services application while the Plateau side of the integration is written
as a traditional, batch style interface.

A Plateau surrogate system is built into the PeopleSoft side as a translator which will communicate with
PeopleSoft using web services while simultaneously communicating with Plateau as a batch process.
Plateau hosts Oracle database tables which the systems communicate through using DBLinks. A custom
Application Engine acts as the surrogate sending agent for Plateau. The scheduled process reads the
database tables for needed work publishing each required transaction as its own message.

When Plateau is ready for Phase 2, the routings on PeopleSoft’s Service Operations will change to point
to the real Plateau application instead of the surrogate. The integration will then continue with minimum
code change within the PeopleSoft application.


Phase 1 Integration Example: PeopleSoft Adds Course Offering
PeopleSoft users add a new course to the course catalog. The PeopleSoft Integration Broker publishes
the message to Plateau. The Plateau Surrogate catches the message invoking a PeopleCode
Application Package Handler which writes the transaction to the database tables on Plateau.

Plateau’s scheduled batch process picks up the new transaction and adds it to the Plateau course
offerings and then writes a successful status message to a database table


                                                                                                                7
Collaborate 10 Copyright ©2010 Northrop Grumman
A PeopleSoft App Engine reads the status table and publishes the status message to PeopleSoft
Listener. The Listener then evokes a handler updating the original system on the success or failure of
adding that course to Plateau.




                                                                                                         8
Collaborate 10 Copyright ©2010 Northrop Grumman
Phase 2 Implementation
Depending on the system, implementing phase 2 will be either easy or very involved.

Plateau must recode much of their integration for Phase 2. The existing batch processes will not ramp up
to individual, near real time messaging needed for web services. The level of effort is unknown at this
time.

PeopleSoft’s Phase 2 will be simple and strait forward. New routings on the Service Operations will point
the existing services to the new Plateau listeners. Additionally, developers and Administrators will create
SOAP wrappers and transport security for the messages. The existing Plateau Surrogate Listeners and
Application Engine will be removed.


Conclusion
When implemented properly and for the right applications, Web Services have many advantages over
traditional interfaces. Foremost of these in our user’s view is the “Near Real Time” integration that they
have come to expect from their applications through common sites such as Google, Yahoo and most
internet shopping sites.

The question becomes how to start implementing Web Services integrations now when many of the
interfacing systems are not Web Services enabled? Better said, how do we not pay for developing these
twice in PeopleSoft: the old way now and the better way later when that other system is ready?

One solution, as shown here, is to build surrogate, web service enabled systems into PeopleSoft allowing
us to code once now for the ultimate solution and turn off the surrogates when they are no longer needed.




                                                                                                             9
Collaborate 10 Copyright ©2010 Northrop Grumman

Contenu connexe

Similaire à Phased soa integration of people soft and 3rd party applications

Project Report of Faculty feedback system
Project Report of Faculty feedback systemProject Report of Faculty feedback system
Project Report of Faculty feedback systemBalajeeSofTech
 
OpenSource for Enterprise Business Presentation 010
OpenSource for Enterprise Business Presentation 010OpenSource for Enterprise Business Presentation 010
OpenSource for Enterprise Business Presentation 010Passapong Thaithatgoon
 
Converged open platform for enterprise
Converged open platform for enterpriseConverged open platform for enterprise
Converged open platform for enterpriseRoger Xia
 
SathishKumar Natarajan
SathishKumar NatarajanSathishKumar Natarajan
SathishKumar NatarajanSathish Kumar
 
Pre-Con Education: Introduction to Mainframe Academy With CA Technologies
Pre-Con Education: Introduction to Mainframe Academy With CA TechnologiesPre-Con Education: Introduction to Mainframe Academy With CA Technologies
Pre-Con Education: Introduction to Mainframe Academy With CA TechnologiesCA Technologies
 
408372362-Student-Result-management-System-project-report-docx.docx
408372362-Student-Result-management-System-project-report-docx.docx408372362-Student-Result-management-System-project-report-docx.docx
408372362-Student-Result-management-System-project-report-docx.docxsanthoshyadav23
 
Improvement from proof of concept into the production environment cater for...
Improvement from proof of concept into the production environment   cater for...Improvement from proof of concept into the production environment   cater for...
Improvement from proof of concept into the production environment cater for...Conference Papers
 
Lotus Notes to SharePoint Migration
Lotus Notes to SharePoint MigrationLotus Notes to SharePoint Migration
Lotus Notes to SharePoint MigrationOfficience
 
Lotus notes app migration process v1.2
Lotus notes app migration process   v1.2Lotus notes app migration process   v1.2
Lotus notes app migration process v1.2Officience
 
Share Point Integration for Lotus Notes
Share Point Integration for Lotus NotesShare Point Integration for Lotus Notes
Share Point Integration for Lotus Notesitsjapan
 
Enterprise Integration Patterns with ActiveMQ
Enterprise Integration Patterns with ActiveMQEnterprise Integration Patterns with ActiveMQ
Enterprise Integration Patterns with ActiveMQRob Davies
 
Ram Mohan_Resume1
Ram Mohan_Resume1Ram Mohan_Resume1
Ram Mohan_Resume1Ram Mohan
 
Advanced Workflows for Closed Captioning
Advanced Workflows for Closed CaptioningAdvanced Workflows for Closed Captioning
Advanced Workflows for Closed Captioning3Play Media
 
Mulesoft Training
Mulesoft TrainingMulesoft Training
Mulesoft Trainingsaichinnu11
 

Similaire à Phased soa integration of people soft and 3rd party applications (20)

Project Report of Faculty feedback system
Project Report of Faculty feedback systemProject Report of Faculty feedback system
Project Report of Faculty feedback system
 
Lakshmankumar_Resume
Lakshmankumar_ResumeLakshmankumar_Resume
Lakshmankumar_Resume
 
OpenSource for Enterprise Business Presentation 010
OpenSource for Enterprise Business Presentation 010OpenSource for Enterprise Business Presentation 010
OpenSource for Enterprise Business Presentation 010
 
Converged open platform for enterprise
Converged open platform for enterpriseConverged open platform for enterprise
Converged open platform for enterprise
 
SathishKumar Natarajan
SathishKumar NatarajanSathishKumar Natarajan
SathishKumar Natarajan
 
Pre-Con Education: Introduction to Mainframe Academy With CA Technologies
Pre-Con Education: Introduction to Mainframe Academy With CA TechnologiesPre-Con Education: Introduction to Mainframe Academy With CA Technologies
Pre-Con Education: Introduction to Mainframe Academy With CA Technologies
 
408372362-Student-Result-management-System-project-report-docx.docx
408372362-Student-Result-management-System-project-report-docx.docx408372362-Student-Result-management-System-project-report-docx.docx
408372362-Student-Result-management-System-project-report-docx.docx
 
Improvement from proof of concept into the production environment cater for...
Improvement from proof of concept into the production environment   cater for...Improvement from proof of concept into the production environment   cater for...
Improvement from proof of concept into the production environment cater for...
 
Venkat macha resume
Venkat macha resumeVenkat macha resume
Venkat macha resume
 
Lotus Notes to SharePoint Migration
Lotus Notes to SharePoint MigrationLotus Notes to SharePoint Migration
Lotus Notes to SharePoint Migration
 
Lotus notes app migration process v1.2
Lotus notes app migration process   v1.2Lotus notes app migration process   v1.2
Lotus notes app migration process v1.2
 
Share Point Integration for Lotus Notes
Share Point Integration for Lotus NotesShare Point Integration for Lotus Notes
Share Point Integration for Lotus Notes
 
Enterprise Integration Patterns with ActiveMQ
Enterprise Integration Patterns with ActiveMQEnterprise Integration Patterns with ActiveMQ
Enterprise Integration Patterns with ActiveMQ
 
Capstone- Milestone 3
Capstone- Milestone 3Capstone- Milestone 3
Capstone- Milestone 3
 
CP_FINAL_PPT.pptx
CP_FINAL_PPT.pptxCP_FINAL_PPT.pptx
CP_FINAL_PPT.pptx
 
Ram Mohan_Resume1
Ram Mohan_Resume1Ram Mohan_Resume1
Ram Mohan_Resume1
 
Resume (1)
Resume (1)Resume (1)
Resume (1)
 
Advanced Workflows for Closed Captioning
Advanced Workflows for Closed CaptioningAdvanced Workflows for Closed Captioning
Advanced Workflows for Closed Captioning
 
Nirmal kumar
Nirmal kumarNirmal kumar
Nirmal kumar
 
Mulesoft Training
Mulesoft TrainingMulesoft Training
Mulesoft Training
 

Dernier

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Dernier (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Phased soa integration of people soft and 3rd party applications

  • 1. Phased SOA Integration of PeopleSoft and 3rd Party Applications Randall Groncki Northrop Grumman Corporation Introduction The technology of Service Oriented Architecture and Web Services is several years old. Tools based upon open standards have been available in Oracle’s People Tools since version 8.48 and a proprietary form earlier than this. However, these technologies are just now becoming main stream in established ERP environments as developers and support become more familiar the implementation and customers demand faster, tighter integration between systems. 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? This paper describes one solution to this problem. The simple idea is to develop the final PeopleTools integration solution using web services while allowing the other system to create their side of the interface using the batch tools and resources they have available. Then, create a surrogate for the other system inside PeopleSoft which will communicate using Web Services with the PeopleSoft application and translate the data to the older batch style to the other system. At some point in the future when web services are available to that other system, the PeopleTools solution will require minimum changes to turn off the surrogate and have the two systems communicate directly. Integration Goal Our goal was to integrate PeopleSoft HCM Enterprise Learning module with the Plateau LMS application. The PeopleSoft HCM implementation at the customer controls the agency’s in house, classroom training while the Plateau application provides CBT and web seminars to the customer and outside clients. Plateau students outside of the customer can see customer Course offerings and request enrollment into these courses through the Plateau application. Plateau then keeps the students informed of their enrollment status as that status proceeds through the course enrollment lifecycle. The Integrating Systems The PeopleSoft HCM 8.8 Enterprise Learning Module controls the internal agency classroom training: • PeopleSoft HCM 8.8 using Tools 8.48 • HCM application with Enterprise Learning Module for customer only o Course definitions o Session Scheduling o Facilities management and scheduling 1 Collaborate 10 Copyright ©2010 Northrop Grumman
  • 2. o Instructor scheduling o Course rosters and status o Communications to all involved in the training 2 Collaborate 10 Copyright ©2010 Northrop Grumman
  • 3. The Plateau LMS is a JAVA based application providing training to the customer and outside clients: • Plateau LMS Version 5.8 • Live and recorded Seminars • CBT Classes • One application serves multiple Federal Agencies • Web based application • Hosted by the customer Integration Vision The vision of our completed system is one where the systems communicate in near real time using asynchronous messages (think mailbox, not telephone call). A change to integrated data on one system is sent as an individual transaction to the other system upon the user saving. The systems will communicate using XML messages through Web Services. Each system is constantly “listening” for updates from the other system and acts upon a message immediately upon receiving it. Integration Challenge The intended integration is a perfect textbook example of a good, web services application, but, we ran into a problem: The Plateau team was not ready to use web services. Both the PeopleSoft and Plateau application are able to communicate through web services as delivered from the respective vendors. However, the PeopleSoft support team is larger and has both developers and administrators with web services training and experience. While not junior, none of the Plateau developers and system administrators has training or experience with web services. Currently, the Plateau team is only capable of traditional style interfaces. Web Services Definition We are defining Web Services in the following way for this specific integration. A Web Services Integration contains a service provider providing a service and a consumer using that service from the provider. The provider and consumer communicate through XML messages sent asynchronously creating “Near Real Time” integration. Since both systems can change enrollment status for a student, both systems must “Provide” and “Consume” web services maintain data synchronization. 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 3 Collaborate 10 Copyright ©2010 Northrop Grumman
  • 4. Constantly listens for requests Consumer • Consumes (uses) Web Services • Initiates Communication • Must adhere to Provider’s rules PeopleSoft Integration Points PeopleSoft must keep Plateau up to date on changes and additions to courses as well as changes to enrollments for those students who have enrolled through Plateau. • Course Table • Course Session Table • Facilities Table • Facilities Rooms Table • Changes to Plateau enrollments in PeopleSoft courses Conversely, Plateau must communicate new course enrolments to PeopleSoft and changes to those enrollments through Plateau. Once a student has enrolled in a course, the student or the student’s management may cancel that enrolment. • Enrollments into PeopleSoft Courses • Changes to PeopleSoft enrollments 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 Additionally, each system must track which enrollments were sent through the integration and which were not. Sending an update to an enrollment which did not come through the integration will generate an error in the other system. Conversely, not sending information on an updated enrollment will cause the systems to fall out of synchronization. 4 Collaborate 10 Copyright ©2010 Northrop Grumman
  • 5. Integration Plan Given that the PeopleSoft group is web service capable now and the Plateau group will eventually implement web services, we would implement in two phases. The goal of the phases is to implement the integration now using available technology, and then migrate to web services later while rewriting as little code as possible. Phase 1 will create a traditional integration between PeopleSoft and Plateau. • Phase 2 XML data structures were agreed upon, and then created as Oracle database tables within the Plateau environment. DBAs created DBLinks granting the PeopleSoft application full access to these tables. • The PeopleSoft side is coded as a Web Services application. A surrogate Plateau service is created inside PeopleSoft until the real Plateau system is ready. • Changes to source data update the database tables in real time. • Recurring batch processes read the integration tables an update the target systems. Phase 2 implements real web services between PeopleSoft and Plateau. • Communicate phase one data through Web Services • DBLinks are removed • Data updates in near real time It is easier to understand the Phase 2 integration plan before looking at the Phase 1 plan. The Phase 1 plan does not make sense until the final integration plan is understood. Phase 2 Integration Example: PeopleSoft Adds Course Offering In this example, PeopleSoft Enterprise Learning users add course to the course catalog. Upon save, PeopleSoft will send the new course data to Plateau to be added to the available courses. Plateau’s listener receives the message sending it to a handler which adds the course to the Plateau course catalog. Plateau then generates a status message informing PeopleSoft that the course addition was received and successfully processed. PeopleSoft receives the status message, completing the transaction. If errors occurred, PeopleSoft users will be able to see them on a status page and deal with them as appropriate. 5 Collaborate 10 Copyright ©2010 Northrop Grumman
  • 6. Phase 2 Integration Example: New Enrollment This example shows a Plateau user enrolling into a PeopleSoft course. Upon submission, Plateau sends the enrollment and student information to PeopleSoft. PeopleSoft’s listener receives the message and hands the XML document to a PeopleCode Application Package controlling enrolments. First, the system looks to see if the student is already in the PeopleSoft database. If this is a new student, PeopleSoft creates a new employee ID as a “Student-Non Employee” type using a Component Interface. Then, the Student Enrollment Component Interface is invoked to enroll the student into the course in “Requested” status. The new enrollment generates an Enrollments Status message which is sent back to Plateau. Plateau receives the Enrollment Status message and updates the student rolls and notifies the student of the enrollment. Any subsequent change to the enrollment on either system will generate a new message to keep the other system informed. An example of this is when the course manager changes the student’s enrollment status from “Requested” to “Enrolled”. Plateau is instantly notified and the student is informed as per the Plateau business rules. 6 Collaborate 10 Copyright ©2010 Northrop Grumman
  • 7. Phase 1 Implementation A total Web Services solution was too aggressive for the Phase 1 implementation. The purpose of this phase is to integrate the two systems today in such a way to minimize rewrites and changes during the Phase 2 integration while focusing on integration processes and business rules. The PeopleSoft side of the integration is written as a web services application while the Plateau side of the integration is written as a traditional, batch style interface. A Plateau surrogate system is built into the PeopleSoft side as a translator which will communicate with PeopleSoft using web services while simultaneously communicating with Plateau as a batch process. Plateau hosts Oracle database tables which the systems communicate through using DBLinks. A custom Application Engine acts as the surrogate sending agent for Plateau. The scheduled process reads the database tables for needed work publishing each required transaction as its own message. When Plateau is ready for Phase 2, the routings on PeopleSoft’s Service Operations will change to point to the real Plateau application instead of the surrogate. The integration will then continue with minimum code change within the PeopleSoft application. Phase 1 Integration Example: PeopleSoft Adds Course Offering PeopleSoft users add a new course to the course catalog. The PeopleSoft Integration Broker publishes the message to Plateau. The Plateau Surrogate catches the message invoking a PeopleCode Application Package Handler which writes the transaction to the database tables on Plateau. Plateau’s scheduled batch process picks up the new transaction and adds it to the Plateau course offerings and then writes a successful status message to a database table 7 Collaborate 10 Copyright ©2010 Northrop Grumman
  • 8. A PeopleSoft App Engine reads the status table and publishes the status message to PeopleSoft Listener. The Listener then evokes a handler updating the original system on the success or failure of adding that course to Plateau. 8 Collaborate 10 Copyright ©2010 Northrop Grumman
  • 9. Phase 2 Implementation Depending on the system, implementing phase 2 will be either easy or very involved. Plateau must recode much of their integration for Phase 2. The existing batch processes will not ramp up to individual, near real time messaging needed for web services. The level of effort is unknown at this time. PeopleSoft’s Phase 2 will be simple and strait forward. New routings on the Service Operations will point the existing services to the new Plateau listeners. Additionally, developers and Administrators will create SOAP wrappers and transport security for the messages. The existing Plateau Surrogate Listeners and Application Engine will be removed. Conclusion When implemented properly and for the right applications, Web Services have many advantages over traditional interfaces. Foremost of these in our user’s view is the “Near Real Time” integration that they have come to expect from their applications through common sites such as Google, Yahoo and most internet shopping sites. The question becomes how to start implementing Web Services integrations now when many of the interfacing systems are not Web Services enabled? Better said, how do we not pay for developing these twice in PeopleSoft: the old way now and the better way later when that other system is ready? One solution, as shown here, is to build surrogate, web service enabled systems into PeopleSoft allowing us to code once now for the ultimate solution and turn off the surrogates when they are no longer needed. 9 Collaborate 10 Copyright ©2010 Northrop Grumman