The PeopleSoft Enterprise Data Connector (EDC) provides a wizard interface that lets you build a PeopleSoft-specific Data source object (DSO). You can then bind any SilverStream object to it using the standard SilverStream data access API. The DSO handles the underlying data access and manipulation seamlessly.
This chapter provides information about the following:
SilverStream accesses PeopleSoft data using its DSO technology. DSOs are triggered business objects that let you access relational and non-relational data sources.
For more information about SilverStream's DSO technology, see the chapter on data source business objects in the Programmer's Guide.
The SilverStream Application Server acts as the client to the PeopleSoft Server. The following diagram illustrates this relationship.
At runtime, SilverStream tries to access the PeopleSoft Message Agents via the Java Message Agent API (JMAC) subsystem.
If SilverStream is not able to locate the JMAC subsystem, SilverStream attempts to access the the Message Agents via the C-based Message Agent API (PSMSG). SilverStream automatically translates the method calls as necessary.
During the SilverStream installation, you can configure the SilverStream Server to connect to one or more PeopleSoft servers using the PeopleSoft connection pool. A connection pool is a collection of PeopleSoft JMAC connections that are configured to connect to a specific PeopleSoft server as a specific user.
The connection pool properties are stored in the registry. The pools are used by the PeopleSoft DSOs at runtime to communicate with the PeopleSoft Server. SilverStream supplies the objPSParams class which has methods that allow you to dynamically modify the user identity and connection pool specification during invocations of the PeopleSoft DSO.
SilverStream can support an unlimited number of PeopleSoft connection pools; however, using a very large number of connection pools would likely degrade performance, and is generally not recommended.
Connection pools are only available in installations where JMAC is available. If SilverStream is not able to locate the JMAC subsystem, SilverStream attempts to access the Message Agents via the native PSMSG API described earlier.
You use the SilverStream PeopleSoft DSO wizard (available from the Business Object Designer) to create the server-side objects that convert PeopleSoft JMAC data to a SilverStream DSO. Each time you run the wizard, SilverStream creates a single DSO object to which you can bind any SilverStream object. The DSO includes code in the General section and the invokeQuery() event.
CAUTION! Do not modify the wizard-generated code or the DSO will not behave as expected
Before you begin, all of the necessary software must be installed and configured on both client and server machines, and that these machines can successfully communicate.
SilverStream displays the New Objects menu shown here:
SilverStream launches the PeopleSoft DataSource Wizard shown here:
NOTE Using a named pool has implications at deployment. If you use a named pool during development and publish the DSO to another server, that server must have a pool of the same name or your DSO will not function properly. If you build the DSO using the default pool, you will not encounter this error because the DSO will just use the default pool for the current server. You can control the pool against which the DSO is running by using the objPSParams described in the About the PeopleSoft API.
When done, SilverStream updates the Main Designer to display the name of the PeopleSoft DSO that you just created.
You bind to and invoke the PeopleSoft DSO in the same way that you invoke all other types of SilverStream DSOs. You can:
SilverStream generates the DSO invocation automatically. Using the Form or Page Wizard is probably the easiest way to bind to the DSO, because SilverStream generates the method calls that invoke the DSO and retrieve the data. It calls the methods in the FormActivate events for forms, and the PageLoaded event for pages.
See the following section for information about modifying the default invocation to allow parameter passing or other customizations.
Binding programmatically is more work, but provides much more flexibility. See the following section for the details.
To bind to and invoke the DSO programmatically, you must:
In the simplest case, you would have a DSO that did not require any parameters because the Message Agent does not require them. You could simply call invokeQuery() passing null on the DSO as shown here:
PSDSO.invokeQuery(null);
If the Message Agent does require information, you pass it using the ObjPSParams.setField() method. The following example shows how to pass an EMPLID parameter with a value of 8887 to the DSO.
objPSParams opp = new objPSParams(); opp.setField("EMPLID", "8887"); PsParamData.invokeQuery(opp);
Adding the PeopleSoftServ.JAR
Any PeopleSoft DSO that you create using this wizard requires access to some additional classes which SilverStream supplies. The JAR is called PeopleSoftServ.JAR. You can find this JAR in the SilverMaster database.
You need to add this JAR file to the calling form, page, or business object. You use the File>JAR Files... menu option in the appropriate designer environment.
CAUTION! Do not change or modify the files in this JAR
The PeopleSoft API includes the following classes:
The following table describes how you can use the objPSParams class:
The following table describes how you can use the objJmacMgr class:
String getDefaultPool() | |
int getPoolCount() | |
Obtain a list of Strings representing the names of available pools | Enumeration getPoolNames() |
boolean poolIsPresent(String name) |
Considerations for publishing
When you publish the DSO, the original objects will reference the PeopleSoftServ.JAR that exists in the SilverMaster Database. If SilverMaster is named differently on the source and target server, then each of the PeopleSoft DSOs must be modified, otherwise they will not be able to compile.
Note also that use of named JMAC connection pools are also considerations during Publishing. They are described in the section Creating a PeopleSoft DSO.
SilverJRunner, Web pages, and applets require no software installation.