Khanderao on Emerging And Integration Technologies

Monday, March 26, 2007

Exposing Peoplesoft's Component Interface(CI) as Webservice

PeopleSoft’s Component Interface (CI) is a common way to abstract Peoplesoft’s Component by encapsulating data and implementation. Typically a CI exposes component properties and provides system defined and user defined methods. Peopletools IDE provides a nice framework to develop CIs. CIs can be used in App Message, any Peoplecode and App Engines. CIs are heavy weight objects carrying artifacts like validations. Though a more lightweight object model called Application Message (popularly called as AppMessage) is now-a-days more popular among Peoplecode developers, many of the legacy applications are still exposed as CIs. Moreover, it is easier to expose a Component as a CI.

Thus, exposing CIs as WebServices provides a quick way to expose existing PeopleCode based applications to SOA world. Though versions earlier to Peopletools 8.48 supported a basic mechanism to do the same, Peopletools 8.48 provides much easier and richer framework. In Pre-8.48 world, CI to WebService was via SOAPTOCI and exposed one method as a webservice.




Service Designer in Peopletools 8.48 is a web-based designer to discover, create, publish/consume, and monitor services. One can use the designer to expose CI as a webservice with select a CI by navigating to Integration Broker->Web Services ->CI-Based Service. Providing a webservice to an existing CI is as simple as selecting operations to be exposed and generating a service.

However, a WSDL for such service would have system generated names. These system-generated names may not be very intuitive. To overcome this issue, the designer provides a provision to give alias name for the service and operation names. These aliases are used in the generated WSDL as Service Name and Operation names. Similarly, one can use a message editor or routing parameters to provide some meaningful name like “CURRENCY_RECORD” instead of system generated names, which are typically like M7869912.V1. If you want to expose a different message shape then one can define a transformation in routing metadata for the operations.



If you consider CI as a proprietary Service Interface, then, Providing CI as a webservice is a classic example of Web Service to proprietary Service. It provides a nice abstraction.

Labels: , ,

Add to Technorati Favorites

Save This Page on del.icio.us

7 Comments:

  • Good info, but i want to know how to use message manager(PS8.1) which is been replaced with Integration Broker(PS8.4. If you can provide some info on how to integrate/work with message manager(Peoplesoft8.1)with ESB for in/outbound message.

    By Blogger BhuviJay, at 5:36 AM  

  • This comment has been removed by the author.

    By Blogger Sesha, at 2:36 PM  

  • The nice thing with SOAPTOCI is you can easily leverage the existing code but one thing to remember is this supports only synchronous calls so using this will need a lot of resources from the web server and appserver as the processes are waiting for response and so this might not be scalable .
    When possible I would recommend using asynchronous implementations as these are more scalable and make optimal use of resources. Also in case you have existing CI's these can also be leveraged by invoking them from the subscription people code.
    Till 8.1x PeopleTools called the xml based messaging as Application Messaging which supports only asynchronous messaging but from 8.4x PeopleTools renamed this product to Integration Broker which supports both asynchronous as well as synchronous messaging.
    I did not here about Message manager some thing close to this name is Message Agent which was only available in 8.1x release now deprecated in 8.1x and is replaced in 8.4x by more flexible CI which can be invoked via PeopleCode, Java, C/C++ , COM , SOAP .

    Note: The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

    By Blogger Sesha, at 2:44 PM  

  • This comment has been removed by the author.

    By Blogger Sesha, at 2:44 PM  

  • The nice thing with SOAPTOCI is you can easily leverage the existing code but one thing to remember is this supports only synchronous calls so using this will need a lot of resources from the web server and appserver as the processes are waiting for response and so this might not be scalable .
    When possible I would recommend using asynchronous implementations as these are more scalable and make optimal use of resources. Also in case you have existing CI's these can also be leveraged by invoking them from the subscription people code.
    Till 8.1x PeopleTools called the xml based messaging as Application Messaging which supports only asynchronous messaging but from 8.4x PeopleTools renamed this product to Integration Broker which supports both asynchronous as well as synchronous messaging.
    I did not here about Message manager some thing close to this name is Message Agent which was only available in 8.1x release now deprecated in 8.1x and is replaced in 8.4x by more flexible CI which can be invoked via PeopleCode, Java, C/C++ , COM , SOAP .

    Note: The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

    By Blogger Sesha, at 2:45 PM  

  • Hi, We have PeopleTools 8.2 and I'm struggling to find out whether we have Web Services as an option for sending data to the CI?

    Thanks
    Gary

    By Blogger Gary, at 9:50 AM  

  • Webservices are integral part of Peoplesoft now. Most importantly CI is the critical part which can be converted in webservice and then can be imtegrated with Fusion middleware. Full steps are given in http://www.itwisesolutions.com/PsftFusion.html

    Very nicely explained site.

    - Larry

    By Blogger Larry, at 8:12 PM  

Post a Comment

<< Home