Search This Blog

Showing posts with label web services. Show all posts
Showing posts with label web services. Show all posts

Component Interface based Web Services

PeopleSoft can provide web services based on component interfaces (CIs) and the latest versions of PeopleTools even provide wizards for creating a component interface based web service.

This wiki article goes through an example of providing such a web service for the message catalog component MESSAGE_CATALOG1.

Creating the component interface

The first step is to create the component interface for the MESSAGE_CATALOG1 component. You should check if one already exists by opening your component and performing a find definition references in application designer.

 

Permission list security for the component interface

The next step is to provide security to the component interface through a relevant permission list that you have. This means editing the permission list and assiging component interface security to your component interface.

Make sure that you:

·         Add the component interface to the component interface tab

·         Press edit and give full access to the component interface methods

·         Save the changes!

CI-Based Services

The CI-Based Services component is located in:


PeopleTools > Integration Broker > Web Services > CI-Based Services

Select your component interface

First, find your component interface and select it. If you get an error stating "No component interfaces found with current search criteria." it means you have not set up security for your component interface or you don't have the access to the permission list that you set up the security for. Go back and check this.

Select your component interface and press the Review CI Status button.

Review Status

Now you need to select the component interface methods that you want service operations created for. These are essentially going to be the methods that can be accessed through the web service. In this case, the get, create and update methods have been selected.

Press the Dispay Selected Actions button to see the service and service operations to be created.

Confirm Actions

The service created will be your component interface name prefixed with CI_. Service operations will be created using the service name and suffix relating to the method and version of the service operation.

 

Finally press the Perform Selected Actions button to create the service and service operations.

Providing the Web Service

After creating the CI based service and service operations for each of the methods, you need to use the Provide Web Service wizard to generate the web service in PeopleSoft. This wizard:

·         Creates the relevant request, response, and fault messages for your (synchronous) service operations

·         Creates the WSDL (web service description language) for your service.

·         Publishes your WSDL to the PeopleSoft WSDL repository (and optionally to a UDDI server)

Select the service

First search for the service you created through CI-based services.

Select the service operations

Your service will have service operations which correspond to the relevant component interface methods you selected in CI based services. Select the relevant service operations you want to expose. Note that each will have request, response and fault messages automatically generated.

View WSDL

A WSDL file will be created for your service. You can view it during this step

Publishing options

The final step is the wizard publishes the WSDL for your web service to teh PeopleSoft WSDL repository. Optionally you can publish to a UDDI (universal description, discovery and integration) server.

 

Confirm Results

The final page confirms the results of creating and publishing the WSDL for your web service. Most importantly it tells you how to acces your WSDL.

Generally your WSDL will be published to the target location in your IB service configuration combined with the name of your WSDL. For example:

·         Target location = http://<machine>:<port>/PSIGW/PeopleSoftServiceListeningConnector

·         WSDL = CI_SERVICE.1.wsdl

Note that there is an exeption to this rule. If your default IB node points to a different gateway server than the local machine you need to include the default node at the end of the target location.

So if your default node was called PSFT_HR your target location would be:
http://<machine>:<port>/PSIGW/PeopleSoftServiceListeningConnector/PSFT_HR.

Basically if you get an error using the default target location, try including the default node in your URL.

Testing your web service (WSDL)

To confirm your web service is ready, navigate to the URL of your WSDL. If contents of your WSDL file is returned then everything is working.

 

 

Integration Technologies

• Component Interfaces

 

Object-oriented, request/reply, component architecture that allows third-party

applications to synchronously invoke PeopleSoft business logic.

 

• Integration Broker

 

Introduced with PeopleTools 8.4, an XML-based integration hub for message

routing, transformation and connectors.

 

• Application Messaging

• Table Based

• Inbound/Outbound

• Synch/Asynch

• PeopleCode Publish

• Subscription

PeopleCode

• Logic must be

Created

 

Messaging architecture for both synchronous and asynchronous

integration into and out of the PeopleSoft via Integration Broker

 

•Application Engine

Robust file processing capabilities easily enable file-based integration, which

is still a common method for addressing integration requirements.

PeopleSoft Web Services - Consume Web Service

Web services is a collection of programming techniques including SOAP, WSDL and XML. They are platform independant. Web services in PeopleSoft gives you the ability to expose PeopleSoft functions and methods to the outside world over HTTP. It also allows PeopleSoft to use Web services made available by different systems. These are easily accessible via standard HTTP and HTTPS protocols.

How to setup Web Services in PeopleSoft With the basic understanding of Integration Broker, it’s very easy to setup Web Services in PeopleSoft. Following will cover the following topics related to PeopleSoft Web Services: 1. Provide Web Service 2. Consume Web Service 3. CI-Based Web Service
 
Consume Web Service
PeopleSoft provides a Wizard to consume Web services. It’s an easy-to-use eight step process. Use the following steps:
  1. Go to PeopleTools , Integration Broker , Web Services , Consume a Web Service.
  2. You’ll see five options: UDDI, WSDL URL, WSIL URL, File, Legacy WSDL (Prior to 8.48).
  3. We are going to use WSDL URL assuming that you have the URL of the Web service that you are trying to use.
  4. Check WSDL URL radio button and enter Web Service URL. Click ‘Next’ button.
  5. This next screen will show you the name of WSDL service. Select the serviceby checking the box. If you would like to see the service WSDL, click View WSDL hyperlink.
  6. Hit the ‘Next’ button which will take you to step 3. In this screen you may see more than one port of the Web service. You just need to select one port. After selecting the port, hit ‘Next’ button.
  7. It takes you step number four. In this step, you will be able to select all functions/methods that are provided by Web service. This screen gives a lot of details about the methods such as method type, port type, etc. Chose all methods that you need for PeopleSoft and hit Next button.
  8. If the method that you selected above is a Synchronous Operation that it will take you directly to Step 6. If the method is Asynchronous then it will take you to Step 5 where you will be able to convert two Asynchronous messages to one Synchronous message. Hit the ‘Next’ button after you are done with step 5.
  9. Now you are in Step 6 which allows you to convert Web service methods to PeopleSoft Service Operations messages. When you go to step 6, PeopleSoft automically assigns messsage names but you can change them to more meaningful names.
  10. From step 6 you can be directed to either step 7 or step 8. If your web service has an asynchronous message then it takes you to Step 7. In this step you assign a Queue to your Service Operation. You can create a new queue or assign an existing one.
  11. Step 8 allows you to assign an existing or a new node to your Service Operation. Click the Finish button to proceed to the next step in the Wizard.
  12. The final page is the Consume Web Service Confirm page. There you see WSDL Import log which provides the summary. You can also view the consumed web service.
View Web service components in Integration Broker

Now you are done with ‘Consume a Web Service’. In order to view the components of the consumed web service you can go to Integration Setup under PeopleTools. If you are not familiar with Integration Setup, follow the steps below to find how to view Service Operation that you just created.
  1. Go to PeopleTools ,Integration Setup ,Services
  2. Type in the service name that you had created in Step 6.
  3. It will open the Service details. You can also view the Service Operation associated with it. There is ‘View WSDL’ hyperlink that you can use to view the consumed WSDL document.
 

Business Process Execution Language (BPEL) And Oracle BPEL Process Manager

I confronted BPEL oracle technology while trying to learn webservices provided by peoplesoft. I went for a search for the same and found the details below from the oracle site.

1. What is BPEL?  How does it relate to Web services and service-oriented architecture (SOA)? 
There is a constant pressure for businesses to interconnect their applications. This is what is driving the adoption of web services and SOA as an enterprise blue print for reducing the cost and complexity of integration initiatives. Making web services work is a two-step process: first you publish and then you orchestrate. Publish means taking a part of a existing system and exposing it as a service. Orchestrate means composing multiple discrete services into an end-to-end process flow. BPEL is the industry standard for orchestration. 

2. What is/was the motivation behind BPEL?  How does it differ from other/past attempts/technologies aimed at the integration/business process problem?  Can you talk briefly about the evolution of BPEL? 
Orchestrating a set of services into an end-to-end process flow entails a new set of technical requirements (binding to heterogeneous system, synchronous and asynchronous message exchange patterns, data manipulation, flow coordination, exception management, undeterministic events, compensating transactions, side-by-side versioning, in-flight instance management and auditing). The goal of BPEL is provide a richer and yet simpler abstraction/standard for addressing those requirements. Although it is a fairly new standard, it leverages from 10+ years of research and development Microsoft and IBM invested in XLANG and WSFL.

3. What is orchestration?  What does it mean to build composite applications?  Why would anyone want to? 
Existing systems are not going away. Yet enterprises need to build new applications that can leverage the functionality encapsulated in those existing systems. The notion of a composite application is based around the idea of building new applications by wiring together existing building blocks. Orchestration plays an important role in this picture because it is the glue that coordinates the execution of each discrete service. A good orchestration server needs to be reliable, scalable and render the BPEL process logic with very high fidelity.

4. What exactly is Oracle BPEL Process Manager?  What is it composed of?  How does it relate to the rest of the stack?
The Oracle BPEL Process Manager is a new addition to the Oracle product portfolio. It enables enterprises to model, deploy and manage BPEL processes. It comprises an easy-to-use BPEL modeler, a scalable BPEL engine, an extensible WSDL binding framework, a monitoring console and a set of built-in integration services (transformation, user task, java embedding). It makes BPEL/Web service orchestration a first class citizen of the Java platform.

5. What differentiates BPEL Process Manager from other process integration offerings?
Four things:
Native and comprehensive BPEL support
Extensible binding framework (which means that you can orchestrate not only Web services but also JCA, JMS, etc)
Ease-of-use (you can get up and running in less than 15 minutes)
Cross-platform support (Oracle Application Server but also WebLogic, WebSphere, etc.) 

6. Why does/should openness matter to customers?  Portability?  Interoperability? 
Interoperability is important because the core of the value proposition is to take parts of existing systems and compose them into higher level business flows. Portability is important because business processes are key IP assets of an enterprises and customer do not want to be locked into a specific solution.Openness is important because large enterprises have WebLogic, WebSphere, and Oracle Application Server and we offer them a solution that works equally well no matter what there existing app server investment is.

7. Why is native BPEL important?  What is the disadvantage of products that only import/export BPEL?
Historically every time a standard has been adopted (SQL, J2EE, LDAP, SMTP/POP/IMAP, HTML, etc.), native solutions have won. It is because native solutions are less complex, faster and offer richer functionality. It is also because re-architecting an engine around a new abstraction is very difficult, especially if you have an existing install base that you need to maintain and evolve in parallel.

8. How will Oracle Business Integration take advantage of BPEL and BPEL Process Manager going forward? 
SOA, BPEL, and composite applications bring us one step closer to "real-time enterprise." We believe that rich business activity monitoring is the next step as it provides details visibility into the execution of cross-functional processes and a platform of business process optimization. You should expect to see a lot more from Oracle on that aspect of the solution going forward.

9. How has/is Oracle been involved with the evolution and standardization of the BPEL spec?  How does this relate to Oracle's other integration and Web service-related standards efforts? 
Oracle is a very active member of the OASIS BPEL committee. With more than 6,500 developers using the BPEL Process Manager, we are at the forefront of the adoption of BPEL and can circle back the feedback we are collecting to the committee. Oracle is also actively involved of peripheral specifications: WS-reliability, WS-messagedelivery, WS-context, WS-security, JSR-208/Java business integration. All these standards are coming together to transform the internet into a messaging/integration backbone. They will therefore play a very important role in the adoption of BPEL.

10. BPEL Process Manager (as well as JDev, ADF, TopLink, etc.) run on any J2EE servers.  Why is Oracle so committed to open standards and open interfaces? 
Because they are good for Oracle in that they allow us to leverage the hundreds of man-years invested in building a scalable and reliable container. And they are good for our customers in that they prevent them from being locked in.

11. What version of the BPEL standard is supported by Oracle BPEL Process Manager? 
BPEL PM 10.1.2 and 10.1.3 supports BPEL4WS 1.1. However, some features from WSBPEL 2.0 working draft have already been implemented in the BPEL PM 10.1.2 and 10.1.3 releases. We plan for full support for BPEL 2.0 shortly after it is released and expect a smooth migration path. More information about Oracle's position on BPEL 2.0 can be found here.

12. How important is .NET compatability?  To what extent does BPEL Process Manager support it? 
.NET is probably fourth or fifth on the list of systems customers want to integrate with, so it is fairly important. The BPEL Process Manager ships with examples showcasing how a BPEL process can invoke a .NET service as well as how a .NET client can initiate a BPEL process. We are looking at extending those samples to demonstrate security and reliable messaging.

13. BPEL is cross-platform, but is there any advantage to building the underlying services on a J2EE platform?  If so, What are they? 
The J2EE platform is maturing towards better support for clustering, virtualization and monitoring. By architecting the BPEL Process Manager as a set of J2EE components, we will transparently leverage those capabilities. Virtualization, automatic deployment, on-demand scalability, and self-healing are notions that marry very well with business processes so it will be very interesting to see those developments come together.