Escolar Documentos
Profissional Documentos
Cultura Documentos
1
September 2009
Copyright 2009, Oracle and/or its affiliates. All rights reserved. License Restrictions Warranty/Consequential Damages Disclaimer This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. Warranty Disclaimer The information contained herein is subject to change without notice and is not warranted to be errorfree. If you find any errors, please report them to us in writing. Restricted Rights Notice If this software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are commercial computer software or commercial technical data pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065. Hazardous Applications Notice This software is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications which may create a risk of personal injury. If you use this software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe use of this software. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software in dangerous applications. Third Party Content, Products, and Services Disclaimer This software and documentation may provide access to or information on content, products and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third party content, products and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third party content, products or services. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Table of Contents
Mapping OWS and PeopleSoft 2 Set an Option to Integrate PeopleSoft and OWS ..................................................................................................................... 3 Set Dynamic Mapping Options ................................................................................................................................................ 5 Set Static Mapping Options ................................................................................................................................................... 14 Other Setup Instructions 17 First Day of the Week ............................................................................................................................................................ 17 HR pages ................................................................................................................................................................................ 18 Manual Mapping of Organization.......................................................................................................................................... 25 Integration messages 28 How to Display PeopleSoft Import XML Messages in OWS Application ............................................................................ 28 How to Display PeopleSoft Export XML messages in the Log Files of OWS Integration Server ........................................ 31 Core HR to OWS - Import of All Employees: PERSON_OWS_FULLSYNC ..................................................................... 33 CoreHR to OWS - Import of an Employee: PERSON_OWS_SYNC ................................................................................... 35 Absence to OWS - Import of All Absences: AbsenceFullSync/GP_ABS_EVENT_FULLSYNC ....................................... 40 Absence to OWS - Import an Absence: GP_ABS_EVENT_SYNC...................................................................................... 41 Time and Labor to OWS - Import of All Availabilities: SchedulePreferenceFullSync/SCH_PREFERENCE_FULLSYNC42 Time and Labor to OWS - Import of an Availability: SchedulePreferenceSync/SCH_PREFERENCE_SYNC................... 44 Time and Labor to OWS - Import of Actual Hours: ReportedTimeSync/TL_REPORTED_TIME_SYNC ......................... 46 OWS to Time and Labor - Exporting the Optimized Schedule: SchedulefromOWS/SCH_OWS_SCHEDULE.................. 48 Time and Labor to OWS - Import: ResponseToOWS/SCH_OWS_RESPONSE.................................................................. 52 Message Exchange of Employee, Absence, and Schedule data 54 Employee data (From PeopleSoft to OWS) ........................................................................................................................... 54 Schedules (From OWS to PeopleSoft)................................................................................................................................... 55 CHAPTER 3 - TECHNICAL INTEGRATION CONCEPTS .................................................................................................. 56 Integration Pack Model Integration Runtime Model Request Response Exchange Pattern Message XML Validation 57 57 59 60
Message Attachments And Storage 60 Message Attachment Set ........................................................................................................................................................ 60 Message Storage .................................................................................................................................................................... 61 Message Error Management 64
Error Categories ..................................................................................................................................................................... 64 Error Management ................................................................................................................................................................. 64 Security 65 Transport Level Security........................................................................................................................................................ 66 Message Level Security ......................................................................................................................................................... 67 CHAPTER 4 TECHNICAL INTEGRATION ADMINISTRATION .................................................................................... 69 Integration Pack Distribution Installation Application Integration Pack Management 69 72
Application Integration Pack Configuration 72 Integration Server Configuration ........................................................................................................................................... 73 Application Suite Configuration ............................................................................................................................................ 80 Application Interface Configuration ...................................................................................................................................... 82 Application Integration Pack Deployment 88 Installing The Application Integration Pack .......................................................................................................................... 88 Uninstalling The Application Integration Pack...................................................................................................................... 96 Application Integration Pack Status Application Integration Pack Deletion 97 98
CHAPTER 5 SECURITY UTILITIES ................................................................................................................................. 100 OWSAdmin Keystore Explorer Utility Java Keytool Wrapper Utility 100 103
CHAPTER 6 TECHNICAL TROUBLESHOOTING .......................................................................................................... 104 Java Web Start 104 Java Web Start Run Failure.................................................................................................................................................. 104 Java Web Start Components Load Failure........................................................................................................................... 105 Installation Checklist 107 Tomcat Server Check........................................................................................................................................................... 107 Integration Pack Server Check............................................................................................................................................. 109 Integration Web Service Check ........................................................................................................................................... 110 Security 111 Message Security ................................................................................................................................................................. 111 Transport Security................................................................................................................................................................ 112 Message Processing 113 Message Send Error ............................................................................................................................................................. 113 XML Validation-Transformation Error ............................................................................................................................... 114 APPENDIX A VALIDATION AND FEEDBACK ............................................................................................................. 115 Customer Validation Field Validation 115 115
APPENDIX B REVISION HISTORY ................................................................................................................................. 116 Authors................................................................................................................................................................................. 116 Reviewers............................................................................................................................................................................. 116 Revision History .................................................................................................................................................................. 116
Copyright 2009, Oracle and/or its affiliates. All rights reserved. v
List of Tables
Table 1 Integration Pack Server - General Properties................................................................................................................ 74 Table 2 Integration Pack Server - Broker Properties ................................................................................................................. 75 Table 3 Integration Pack Server - Compression Properties ....................................................................................................... 76 Table 4 Integration Pack Server - Https Properties.................................................................................................................... 77 Table 5 Integration Pack Server - Proxy Properties................................................................................................................... 79 Table 6 Integration Pack Server - Trace Properties ................................................................................................................... 80 Table 7 Application Suite Properties ......................................................................................................................................... 81 Table 8 Application Interface - Message Exchange Properties ................................................................................................. 83 Table 9 Application Interface - Message Processing Properties................................................................................................ 85 Table 10 Application Interface - Security Properties................................................................................................................. 87 Table 11 Application Interface - Delivery Attempt Properties .................................................................................................. 88
List of Examples
Example 1 WS-Addressing Elements !n SOAP Outgoing Message Header ............................................................................. 59 Example 2 Time and Labor Response Message Transformation Log ....................................................................................... 60 Example 3 Message Attachment Set Manifest........................................................................................................................... 62 Example 4 Message Security Elements...................................................................................................................................... 67 Example 5 Authentication Error SOAP Fault .......................................................................................................................... 112 Example 6 Incoming Message Trace ....................................................................................................................................... 112 Example 7 Server Side: Unknown Server Certificate Error..................................................................................................... 113 Example 8 Client Side: Unknown Server Certificate Error ..................................................................................................... 113 Example 9 Server Side: No Client Certificate Error ................................................................................................................ 113 Example 10 Client Side: No Client Certificate Error............................................................................................................... 113
List Of Figures
Figure 1 OWS 5.0.3 MinipackB - PeopleSoft 9.1 Integration Message Flows ......................................................................... 57 Figure 2 OWS Integration Server Runtime Model .................................................................................................................... 58 Figure 3 CoreHR Import Error Directory .................................................................................................................................. 61 Figure 4 Message Attachment Directory ................................................................................................................................... 61
vi
Figure 5 OWS Job Management Page ....................................................................................................................................... 62 Figure 6 OWS Import Job Attachments..................................................................................................................................... 63 Figure 7 Job Import Attachment Content................................................................................................................................... 63 Figure 8 OWS Export Job Attachments..................................................................................................................................... 64 Figure 9 OWSAdmin Archive Management.............................................................................................................................. 70 Figure 10 Integration Pack Archive Content ............................................................................................................................. 71 Figure 11Application Integration Pack Lifecycle Steps............................................................................................................. 72 Figure 12 Application Integration Pack - Configure Page Layout............................................................................................. 73 Figure 13 Integration Pack Server - General Properties ............................................................................................................ 74 Figure 14 Integration Pack Server - Broker Properties .............................................................................................................. 75 Figure 15 Integration Pack Server - Compression Properties .................................................................................................... 76 Figure 16 Integration Pack Server - Https Properties ................................................................................................................ 77 Figure 17 Integration Pack Server - Proxy Properties ............................................................................................................... 79 Figure 18 Integration Pack Server - Trace Properties ................................................................................................................ 80 Figure 19 Integration Pack Suite Properties............................................................................................................................... 81 Figure 20 Application Configuration ......................................................................................................................................... 82 Figure 21 Application Import Interface - Message Exchange Properties .................................................................................. 83 Figure 22 Application Export Interface - Message Exchange Properties .................................................................................. 83 Figure 23 Application Interface - Message Processing Properties............................................................................................. 85 Figure 24 Application Import Interface - Security Properties.................................................................................................... 86 Figure 25 Application Export Interface - Security Properties.................................................................................................... 86 Figure 26 Application Interface - Delivery Attempt Properties................................................................................................. 88 Figure 27 Application Integration Pack - Install Page ............................................................................................................... 89 Figure 28 Application Integration Pack - Status Page ............................................................................................................... 97 Figure 29 AbsenceManagement Import WSDL Content ........................................................................................................... 98 Figure 30 Application Integration Pack - Deletion Page ........................................................................................................... 98 Figure 31 OWSAdmin Keystore Information Utility............................................................................................................... 100 Figure 32 Tomcat Home Page.................................................................................................................................................. 108 Figure 33 Integration Pack Server Home Page ........................................................................................................................ 110
vii
Chapter 1 - Introduction
This Red Paper is a practical guide for technical users, installers, system administrators, who configure, deploy and use the Oracle Workforce Scheduling 5.0.3 Minipack B PeopleSoft Enterprise 9.1 Integration Pack. In this Red Paper, we discuss guidelines on how to setup the integration between the Oracle Workforce Scheduling (OWS) and PeopleSoft 9.1 applications. The guidelines that appear in this document are the ones that prove to be the most common during the setup of this integration.
The PeopleSoft configuration is covered in PeopleBooks: PeopleSoft Enterprise HRMS 9.1 Application Fundamentals PeopleBook, Integrating with Oracle Workforce Scheduling Keep in mind that this document is updated as needed so that it reflects the most current feedback received from the field. Therefore, the structure, headings, content, and length of this document is likely to vary with each posted version. To see if the document has been updated since you last downloaded it, compare the date of your version to the date of the version posted on My Oracle Support.
RELATED MATERIALS
This paper is not a general introduction to environment tuning and we assume that our readers are experienced IT professionals, with a good understanding of web service specifications and associated runtime aspects. To take full advantage of the information covered in this document, we recommend that you have a good understanding of the OWS administration solution, as described in the OWSAdmin 5.0.3 Minipack B Installation and Operation Guides.
Note: In this chapter, where the OWS and PeopleSoft message names differ, both are listed in the headings (OWS/PeopleSoft message name).
When you select this option to integrate the two products, OWS performs several checks. The employee identifier must be hrId The Constant Employee ID must have value hrId in OWS Designer constants. The employee ID can be identified by an hrId, or by the persons social security number or badge number. For the OWS PeopleSoft integration, hrId is used and mapped to PS EMPLID.
The fileID must be relative. The option Is fileID relative must have the value True in OWS Designer.
The fileID is the ID of the contract of an employee. In PeopleSoft, it is called a record and is either: o o Relative, in which case the fileID depends on the employee ID Absolute, the fileID is a different identifier and does not depend on the employee ID
For the OWS PeopleSoft integration, the fileID must be relative. The OWS fileId is mapped to PS EMPL_RCD. The employee record is defined by the employee ID (hrId) and a fileId that has 0 for the first contract, 1 for the second contract, and so on. For example: <EmployeeID IDType="HRID" FileID="0">MOWS001</EmployeeID> Is mapped to PeopleSoft
<EMPLID>MOWS0O1</EMPLID> <EMPL_RCD>0</EMPL_RCD>
The OWS Designer application presents warning messages when you check the configuration to remind you that you must set the fileID and EmployeeID correctly. If you configure: Is FileId Relative to False, clicking the Check icon the file ID must be relative. displays the warning: PeopleSoft integration is activated,
. EmployeeId is SS (social security number) or Badge, clicking the Check icon displays the warning: PeopleSoft integration is activated, the EmployeeID must be the hrId.
Note: These checks are performed automatically when you upload the database instance. If the checks clear, no confirmation message is displayed, but if they do not pass, the warning messages are displayed and a message Proceed with uploading? appears.
Contracts
To set up dynamic mapping for HR Contracts: 1. 2. 3. Click the HR Contract node to display the Generate Mapping button. Click the Generate Mapping button to generate the list of contracts defined in the configuration. Complete the mapping by identifying each corresponding contract in PeopleSoft.
Note: PeopleSoft provides two types of contracts: Full Time (F) and Part Time (P). As a result, you configure and map only these two contracts, as shown in the following screenshot.
Skills
In PeopleSoft, you commonly assign employees many competencies. When integrating PeopleSoft and OWS, you map one PeopleSoft competency to one OWS skill. In OWS, a skill is the competency to perform a job, and each skill corresponds to an activity. When OWS optimizes an employees schedule, the application assigns activities to employees based on their skills and their availability. For example: in PeopleSoft, multiple competencies might be defined for cashier management, but in OWS only one skill is defined for cashier management and that skill is mapped to the activity cashier manager. PeopleSoft supports many competencies, in OWS it is usual to assign employees only one or two skills. As a guideline, to ensure that OWS optimizes the schedule quickly and efficiently, when mapping competencies to skills, an employee should have no more than 10 competencies (10 skills in OWS). To set up dynamic mapping for skills: 1. 2. Click the Skill node to display the Generate Mapping button. Click the Generate Mapping button to generate the list of skills defined in the configuration.
3.
Skills and Proficiencies In PeopleSoft, competencies have a rating. In OWS, skills can have a proficiency level. When integrating OWS and PeopleSoft, configure the proficiency for the skills, by selecting the checkbox Proficiency in the HR Object Skill.
In PeopleSoft, competencies are usually defined by IDs, so the resulting mapped list displays the skill name and the ID, as in the following example:
Note: This release does not integrate the OWS Preference feature of OWS with the PeopleSoft HR Interest Level feature.
Absences
Before you select the dynamic mapping options for absences, you must list all the PeopleSoft absences that you plan to map in the External Absence Library node of OWS Designer. Refer to the Example later in this section for screen shots that illustrate the steps for adding PeopleSoft absences to OWS Designer.
To set up dynamic mapping for absences: 1. Click the Absence node to display the Generate Mapping button.
2. 3. 4.
Click the Generate Mappings button to generate the list of absences defined in the configuration. Complete the mapping by identifying the corresponding absence in PeopleSoft. For absences, you must map the PeopleSoft absence to two types of OWS absences: a full day and a part day absence.
10
Example The following example illustrates the steps you take to map PeopleSoft to OWS absences. In PeopleSoft you have the following absences: GXATOWS BERE TAKE ALL, GXATOWS JURY TAKE ALL, GXATOWS PTO TAKE ALL, GXATOWS SICK TAKE ALL, GXATOWS VAC TAKE ALL. 1. Define the absences in the Integration node External Absence Library page.
2.
Define the part day absence and full day absence for each absence in the HR Object/Absence Library node.
In OWS, the different types of absences are Part Day Absence, Full Day Paid Absence, and Full Day Unpaid Absence. You can define a full day absence as paid or unpaid. In OWS, the paid and unpaid type is for information only, and has no impact on the integration. In PeopleSoft, the paid and unpaid information is managed by the absence module.
11
3.
Assign the absences to the contracts in the HR Object node HR Contracts page.
4. 5. 6.
Click the link Part Day Absences next to the Objects box to display the list of part day absences. Select the checkboxes for all items on the list. Click the link Full Day Paid Absences next to the Objects box to display the list of full day paid absences. Select the checkboxes for all items on the list. Click the link Full Day Non Paid Day Absences next to the Objects box to display the list of full day non paid absences. Select the checkboxes for all items on the list.
12
7.
8.
13
9. Click each absence in the tree. Select from the External Key list of absences, the PeopleSoft absence that maps to the OWS absence.
The static mapping is generated in the file dataMapping.xml. You map data, including: Availabilities as fixed hours Availability cycle name Availability week type name Timezones offset
14
The employee is scheduled to work exactly those hours in the fixed time range.
Note: The employee is paid for these fixed hours even if there is no work. This can occur when there is no workload for the activity that the employee is skilled to perform for those hours; in which case, the application assigns the special activity Presence to that person.
15
Using Import Messages for Preferences and Availabilities When mapping PeopleSoft preferences to OWS availabilities, you can import Preferences and Fixed Hours by using OWS import messages. To ensure that Preferences and Fixed Hours are compatible with the availabilities imported from PeopleSoft Time and Labor preferences, you must use the same Availabilities Cycle Name and Availabilities Week Type values that you defined for the static mapping in OWS Designer.
<msg:Employee xmlns:msg="http://www.temposoft.com/schemas/TS-Employee" xmlns="http://www.temposoft.com/schemas/TSTypes"> <Availability name="PSFT-HR-Cycle"> <Scope> <EmployeeID IDType="HRID" FileID="0">MOWS001</EmployeeID> <StartDate>2007-01-01</StartDate> <EndDate>2999-12-29</EndDate> </Scope> <AWeekType name="Regular"> <AvailabilityValue> <Index>0</Index> <!-- 0 means Monday in our sample where Monday is the first day of week /--> <Interval>0</Interval> <NextDay>false</NextDay> <Start>04:00:00</Start> <End>03:45:00</End> </AvailabilityValue> <PreferenceValue> <Index>0</Index> <Interval>0</Interval> <NextDay>false</NextDay> <Start>09:00:00</Start> <End>17:45:00</End> </PreferenceValue> <FixedHoursValue> <Index>0</Index> <Interval>0</Interval> <NextDay>false</NextDay> <Start>10:00:00</Start> <End>11:45:00</End> </FixedHoursValue> </AWeekType> </Availability> </msg:Employee>
16
TimeZone Field
Map the TimeZone field to ensure that you have the correct time information transferred between applications when the applications are located in different time zones. Select the OWS time zone for the PeopleSoft application.
17
HR pages
To support the integration of OWS and PeopleSoft, you configure HR Page options in OWS Designer for information that is displayed in the OWS application Employee Maintenance module: Employee Information (address and contact) Scheduling Rules (pay information and scheduling rules) Employee Skills (competencies) Team Information (absences) Availability
You can refer to the following examples when completing the OWS Designer configuration.
18
Employee Address
Employee Contact For the fields that include address or email information, delete all predefined masks. PeopleSoft fields are defined as simple text, without any specific format.
Note: The OWS application does not include a home email field, so you cannot map the PeopleSoft home email field to OWS, and, as a result, this information is not displayed in OWS.
19
Pay Information
20
Scheduling Rules For Scheduling Rules, you import only two fields from PeopleSoft HR: Min Weekly Duration (PS Min Hours) and Max Weekly Duration (PS Max Hours).
You can configure the entire Scheduling Rules page as read-only (OWS Designer User Role node), but this configuration prevents users from changing the scheduling rules in the OWS application. Users may want to revise the scheduling rules to adjust the resulting optimized schedule. Before configuring this option, determine whether users will want to revise the scheduling rules.
21
Employee Skills
The competency data imported from PeopleSoft is displayed in the OWS Application Employee Maintenance module on the Scheduling Rules page. In OWS Designer, you set the options for this page in the HR Pages node Employee Skills component. To display Employee Skills to the user in the OWS Application, set the option Visible to True. You can only show or hide the Employee Skills component (Visible option) on the Scheduling Rules page; you cannot configure the skills component separately as read-only. The only way to prevent users from updating employee skills, if you choose Visible, is to configure the entire Scheduling Rules page as read-only. This configuration however, prevents users from changing other scheduling rules that appear on that page. Refer to the previous section Scheduling Rules.
22
Team Information
The absence data imported from PeopleSoft is displayed in the OWS Application Employee Maintenance module as Team Information. In OWS Designer, you set the options for this page in the User Roles node Team Information page. To display absence information on the Team Information page in the OWS Application, select the Display option. To prevent users from changing field values on the Team Information page, select the Read Only option.
23
Availability
The availability data imported from PeopleSoft is displayed in the OWS Application Employee Maintenance module as Employee Availability. In OWS Designer, you set the options for this page in the User Roles node Availability page. For display options: To display the Availability page to the user in the OWS application, check the Display checkbox.
For read-only options, when PeopleSoft preferences are mapped to: OWS availabilities: o o To prevent users from changing the data on the Availability page, check the Read Only checkbox. To allow users to enter preferred and fixed hours on the Availability page, uncheck the Read Only checkbox.
OWS fixed hours: o To prevent users from changing data on the Availability page, check the Read Only checkbox. For more information about fixed hours, refer to Static Mapping earlier in this chapter.
24
Example
The following example illustrates how to: Configure scheduling at the store level for a company defined in a PeopleSoft organization, MC1, that has a store M9CA that has 3 departments: M005, M006, M017 Import the store
Note: You can also create a store using the OWS application. Refer to the Oracle Workforce Scheduling User Guide for Functional Administrators. Configure scheduling at the store level In the example: The Business Organization is configured with the hierarchy: Company>Region>District>Store>Department
25
The Team Organization is configured with the hierarchy: Company>State>Store>Department The Store node for the Business and Teams contain the 3 departments: M005, M006 and M017.
Import the store After completing the configuration, you can import the store M9CA. When you import or create a store, you not only name the store, you also insert the objects and rules that generate an optimized schedule for the stores employees. The following message creates the entire organization. The 3 departments (M005, M006, M0017) and their underlying objects are created at the same time as the store. Business Organization is created with the hierarchy: Company=TheCompany > Region=Deep South > District=Alabama_BU > Store=M9CA > Department={M005,M006,M017} Team Organization is configured with the hierarchy: Company=TheCompany > State=Alabama_HR > Store=M9CA > Department={M005,M006,M017} PeopleSoft mapping is done the following tags : <ExternalAppKey> and <ExternalAppName> <ExternalAppKey>0</ExternalAppKey> where 0 is the ID for the integration with PeopleSoft <ExternalAppName>M9CA</ExternalAppName> where M9CA is a LOCATION in the PeopleSoft setup table
26
Note: Mapping is not required for the organization levels above the store.
<msg:Organization xmlns:msg="http://www.temposoft.com/schemas/TS-Organization" xmlns="http://www.temposoft.com/schemas/TSTypes"> <Variable name="Organization"> <Scope> <PartyID IDType="CompanyID">TheCompany</PartyID> <StartDate>2008-02-04</StartDate> <EndDate>2012-01-29</EndDate> </Scope> <Value> <Date>2008-02-04</Date> <BusinessParent>root</BusinessParent> <TeamParent>root</TeamParent> <UnitName>TheCompany</UnitName> </Value> </Variable> <Variable name="Organization"> <Scope> <PartyID IDType="RegionID">Deep South</PartyID> <StartDate>2008-02-04</StartDate> <EndDate>2012-01-29</EndDate> </Scope> <Value> <Date>2008-02-04</Date> <BusinessParent>TheCompany</BusinessParent> <UnitName>Deep South</UnitName> </Value> </Variable> <Variable name="Organization"> <Scope> <PartyID IDType="DistrictID">Alabama_BU</PartyID> <StartDate>2008-02-04</StartDate> <EndDate>2012-01-29</EndDate> </Scope> <Value> <Date>2008-02-04</Date> <BusinessParent>Deep South</BusinessParent> <UnitName>Alabama</UnitName> </Value> </Variable> <Variable name="Organization"> <Scope> <PartyID IDType="StateID">Alabama_HR</PartyID> <StartDate>2008-02-04</StartDate> <EndDate>2012-01-29</EndDate> </Scope> <Value> <Date>2008-02-04</Date> <TeamParent>TheCompany</TeamParent> <UnitName>Alabama</UnitName> </Value> </Variable> <Variable name="Organization"> <Scope> <PartyID IDType="StoreID">M9CA</PartyID> <StartDate>2008-02-04</StartDate> <EndDate>2012-01-29</EndDate> </Scope> <Value> <Date>2008-02-04</Date> <BusinessParent>Alabama_BU</BusinessParent> <UnitBuType>Store for PS</UnitBuType> <TeamParent>Alabama_HR</TeamParent> <UnitTeamType>Store For PS</UnitTeamType> <UnitName>M9CA</UnitName> <ExternalApp>
27
Note: After you complete the initial mapping, any change to a table value in PeopleSoft, such as adding a new department or a location code, requires an update to the OWS organization mapping (using a similar organization XML message). After updating the OWS mapping, you can start receiving the updated table values from PeopleSoft.
INTEGRATION MESSAGES
The OWS PeopleSoft integration includes the following import and export messages. Note: Where the OWS and PeopleSoft message names differ, both are listed in the headings (OWS/PeopleSoft message name). Imported to OWS: Core HR: PERSON_OWS_FULLSYNC, PERSON_OWS_SYNC Absence: AbsenceFullSync, GP_ABS_EVENT_SYNC Time and Labor: SchedulePreferenceFullSync/SCH_PREFERENCE_FULLSYNC, SchedulePreferenceSync/SCH_PREFERENCE_SYNC, ReportedTimeSync/TL_REPORTED_TIME_SYNC, ResponseToOWS/SCH_OWS_RESPONSE
This section describes how to display the XML import messages in the OWS application, and how to display the XML message in the log files of the OWS Integration Server. Each import and export message is then described with an accompanying XML sample message.
28
2. The PeopleSoft import messages are identified by the Procedure InInterface. If the Status is Successful, the import has completed successfully. If you need more detail on a specific message, click the Detail link next to the job you want to display.
29
3. In the Job Information window, click the Show Reports button to display the Job Reports window.
The link OriginalMessage contains the XML message from PeopleSoft. The link Traces.log contains useful information about unsuccessful messages. The links Functional, Technical, and Parameter.xml contain information for debugging purposes. Refer to this information if the status of the import was unsuccessful.
How to Display PeopleSoft Export XML messages in the Log Files of OWS Integration Server
Using the OWS application, you can display a list of messages exported from OWS. Use the Job Management module to view the status of export messages. The export messages are identified by the Procedure OutInterface.
31
1. Follow the steps in the previous section (How to Display PeopleSoft Import XML Messages in OWS Applications) to navigate to the Job Management window and to access the windows and
links. 2. ScheduleExport link contains the export XML message from OWS. Traces.log link contains useful information about unsuccessful messages.
Functional and Technical links contain information for debugging purposes. Refer to this information, if the status of the import was unsuccessful. JobSched Attachment link contains information for debugging purposes for determining more about the quality of the optimized schedule. To display the PeopleSoft export XML message SCH_OWS_SCHEDULE to determine if the message is compatible with PeopleSoft XML format, view the log folder of the OWS PeopleSoft Integration Server, in the file stdout_YYYYMMDD.log, where YYYYMMDD is the date of the start of the integration server. (Restarting the integration server creates a new stdout log file stamped with the restart date.)
32
33
</HR_OWS_NAME_V1> <HR_OWS_NID_V1 class="R"> <EMPLID IsChanged="Y">HOWS003</EMPLID> <COUNTRY IsChanged="Y">USA</COUNTRY> <NATIONAL_ID_TYPE IsChanged="Y">PR</NATIONAL_ID_TYPE> <NATIONAL_ID IsChanged="Y">755126423</NATIONAL_ID> <PRIMARY_NID IsChanged="Y">Y</PRIMARY_NID> </HR_OWS_NID_V1> <HR_OWS_ADDR_V1 class="R"> <EMPLID IsChanged="Y">HOWS003</EMPLID> <ADDRESS_TYPE IsChanged="Y">HOME</ADDRESS_TYPE> <EFFDT IsChanged="Y">2000-01-01</EFFDT> <EFF_STATUS IsChanged="Y">A</EFF_STATUS> <COUNTRY IsChanged="Y">USA</COUNTRY> <STATE IsChanged="Y">CA</STATE> <CITY IsChanged="Y">Santa Barbara</CITY> <POSTAL IsChanged="Y">97123</POSTAL> <ADDRESS1 IsChanged="Y">953 Beach Crescent</ADDRESS1> <ADDRESS2/> <ADDRESS3/> <ADDRESS4/> </HR_OWS_ADDR_V1> <HR_OWS_PHONE_V1 class="R"> <EMPLID IsChanged="Y">HOWS003</EMPLID> <PHONE_TYPE IsChanged="Y">CELL</PHONE_TYPE> <PHONE IsChanged="Y">935/444-1324</PHONE> <EXTENSION/> <PREF_PHONE_FLAG IsChanged="Y">Y</PREF_PHONE_FLAG> </HR_OWS_PHONE_V1> <HR_OWS_EMAIL_V1 class="R"> <EMPLID IsChanged="Y">HOWS003</EMPLID> <E_ADDR_TYPE IsChanged="Y">BUSN</E_ADDR_TYPE> <EMAIL_ADDR IsChanged="Y">HCMGENUser1@ap6023fems.us.oracle.com</EMAIL_ADDR> <PREF_EMAIL_FLAG IsChanged="Y">Y</PREF_EMAIL_FLAG> </HR_OWS_EMAIL_V1> <HR_OWS_EMPL_V1 class="R"> <EMPLID IsChanged="Y">HOWS003</EMPLID> <EMPL_RCD>0</EMPL_RCD> <OWS_ENROLL_FLG IsChanged="Y">Y</OWS_ENROLL_FLG> </HR_OWS_EMPL_V1> <HR_OWS_JOB_V1 class="R"> <EMPLID IsChanged="Y">HOWS003</EMPLID> <EMPL_RCD>0</EMPL_RCD> <EFFDT IsChanged="Y">2000-01-01</EFFDT> <HR_STATUS IsChanged="Y">A</HR_STATUS> <HIRE_DT IsChanged="Y">2000-01-01</HIRE_DT> <REG_REGION IsChanged="Y">USA</REG_REGION> <BUSINESS_UNIT IsChanged="Y">MC1BU</BUSINESS_UNIT> <POSITION_NBR/> <COMPANY IsChanged="Y">MC1</COMPANY> <DEPTID IsChanged="Y">M005</DEPTID> <SETID_DEPT IsChanged="Y">MBGEN</SETID_DEPT> <JOBCODE IsChanged="Y">M011</JOBCODE> <SETID_JOBCODE IsChanged="Y">MBGEN</SETID_JOBCODE> <LOCATION IsChanged="Y">M9CA</LOCATION> <SETID_LOCATION IsChanged="Y">MBGEN</SETID_LOCATION> <ESTABID/> <FULL_PART_TIME IsChanged="Y">F</FULL_PART_TIME> <STD_HOURS IsChanged="Y">40</STD_HOURS> <STD_HRS_FREQUENCY IsChanged="Y">W</STD_HRS_FREQUENCY> <HOURLY_RT IsChanged="Y">20</HOURLY_RT> <CURRENCY_CD IsChanged="Y">USD</CURRENCY_CD> </HR_OWS_JOB_V1> <HR_OWS_JPM_V1 class="R"> <EMPLID IsChanged="Y">HOWS003</EMPLID> <JPM_CAT_TYPE IsChanged="Y">COMPETENCY</JPM_CAT_TYPE> <JPM_CAT_ITEM_ID IsChanged="Y">0103</JPM_CAT_ITEM_ID> <JPM_CAT_ITEM_QUAL IsChanged="Y">S</JPM_CAT_ITEM_QUAL> <JPM_CAT_ITEM_QUAL2/>
34
Using a store manager role in the OWS application, you can view the imported data in the Employee Maintenance module on the Employee Information and Scheduling Rules pages. Screenshots that display this sample data are included in the following section: CoreHR to OWS Import of an Employee: Person_OWS_Sync.
35
<ADDRESS1>725 Diesel Avenue</ADDRESS1> <ADDRESS2/> <ADDRESS3/> <ADDRESS4/> </HR_OWS_ADDR_V1> <HR_OWS_PHONE_V1 class="R"> <EMPLID>HOWS006</EMPLID> <PHONE_TYPE>HOME</PHONE_TYPE> <PHONE>925/999-1212</PHONE> <EXTENSION/> <PREF_PHONE_FLAG>Y</PREF_PHONE_FLAG> </HR_OWS_PHONE_V1> <HR_OWS_EMAIL_V1 class="R"> <EMPLID>HOWS006</EMPLID> <E_ADDR_TYPE>BUSN</E_ADDR_TYPE> <EMAIL_ADDR>HCMGENUser1@ap6023fems.us.oracle.com</EMAIL_ADDR> <PREF_EMAIL_FLAG>Y</PREF_EMAIL_FLAG> </HR_OWS_EMAIL_V1> <HR_OWS_EMPL_V1 class="R"> <EMPLID>HOWS006</EMPLID> <EMPL_RCD>0</EMPL_RCD> <OWS_ENROLL_FLG>Y</OWS_ENROLL_FLG> </HR_OWS_EMPL_V1> <HR_OWS_JOB_V1 class="R"> <EMPLID>HOWS006</EMPLID> <EMPL_RCD>0</EMPL_RCD> <EFFDT>2000-01-01</EFFDT> <HR_STATUS>A</HR_STATUS> <HIRE_DT>2000-01-01</HIRE_DT> <REG_REGION>USA</REG_REGION> <BUSINESS_UNIT>MC1BU</BUSINESS_UNIT> <POSITION_NBR/> <COMPANY>MC1</COMPANY> <DEPTID>M005</DEPTID> <SETID_DEPT>MBGEN</SETID_DEPT> <JOBCODE>M011</JOBCODE> <SETID_JOBCODE>MBGEN</SETID_JOBCODE> <LOCATION>M9CA</LOCATION> <SETID_LOCATION>MBGEN</SETID_LOCATION> <ESTABID/> <FULL_PART_TIME>F</FULL_PART_TIME> <STD_HOURS>40</STD_HOURS> <STD_HRS_FREQUENCY>W</STD_HRS_FREQUENCY> <HOURLY_RT>20</HOURLY_RT> <CURRENCY_CD>USD</CURRENCY_CD> </HR_OWS_JOB_V1> </HR_OWS_MSG_V1> </Transaction> </MsgData> </PERSON_OWS_SYNC>
36
Using a store manager role in the OWS application, you can select an employee and view the imported information in the Employee Maintenance module.
In this example, the store M9CA is mapped through <LOCATION IsChanged="Y">M9CA</LOCATION> The departments M005, M006, M017 are mapped through: <DEPTID IsChanged="Y">M005</DEPTID> <DEPTID IsChanged="Y">M006</DEPTID> <DEPTID IsChanged="Y">M017</DEPTID>
37
Using a store manager role in the OWS application, you can view the imported information in the Employee Maintenance module on the Employee Information and Scheduling Rules pages.
The Employee Information page displays most of the information imported fromPeopleSoft Core HR, including: First name is mapped to <FIRST_NAME IsChanged="Y">Michael</FIRST_NAME> Last name is mapped to <LAST_NAME IsChanged="Y">Lavoie</LAST_NAME> Social Security Number is mapped to <NATIONAL_ID IsChanged="Y">785116145</NATIONAL_ID> HRID is mapped to <EMPLID IsChanged="Y">HOWS006</EMPLID> Date of Birth is mapped to <BIRTHDATE IsChanged="Y">1968-05-30</BIRTHDATE> Hire Date is mapped to <HIRE_DT IsChanged="Y">2000-01-01</HIRE_DT> Address is mapped to <ADDRESS1 IsChanged="Y">725 Diesel Avenue</ADDRESS1> City is mapped to <CITY IsChanged="Y">San Francisco</CITY> State is mapped to <STATE IsChanged="Y">CA</STATE> Zip Code is mapped to <POSTAL IsChanged="Y">97412</POSTAL> Country is mapped to <COUNTRY IsChanged="Y">USA</COUNTRY> Home phone is mapped to <PHONE_TYPE IsChanged="Y">HOME</PHONE_TYPE>
38
<PHONE IsChanged="Y">925/999-1212</PHONE> Cell phone is mapped to <PHONE_TYPE IsChanged="Y">CELL</PHONE_TYPE> <PHONE IsChanged="Y">925/666-5555</PHONE> Office E-mail. is mapped to <EMAIL_ADDR IsChanged="Y">HCMGENUser1@ap6023fems.us.oracle.com</EMAIL_ADDR>
Note: The OWS application includes an Office Email field, but not a Home Email field, so you cannot map or display the PeopleSoft home email field in OWS.
The Scheduling Rules page displays additional information imported fromPeopleSoft Core HR, including: Pay type is mapped to <FULL_PART_TIME IsChanged="Y">F</FULL_PART_TIME> Pay rate is mapped to <HOURLY_RT IsChanged="Y">20</HOURLY_RT> Min Weekly Duration is mapped to <CNT_MIN_HRS IsChanged="Y">15</CNT_MIN_HRS> Max Weekly Duration is mapped to <CNT_MAX_HRS IsChanged="Y">35</CNT_MAX_HRS> Skills are mapped as follows:
39
<JPM_CAT_TYPE IsChanged="Y">COMPETENCY</JPM_CAT_TYPE> <JPM_CAT_ITEM_ID IsChanged="Y">9004</JPM_CAT_ITEM_ID> <JPM_RATING1 IsChanged="Y">4</JPM_CAT_ITEM_ID> In this example, the PeopleSoft competency 9004 is mapped to the OWS skill Cashier with a 4 proficiency level. For more information about competencies and skills, refer to Set Dynamic Mapping options earlier in this chapter.
Using a store manager role in the OWS application, you can view the imported data in the Employee Maintenance module on the Team Information page. Screenshots that display this sample data are included in the following section Absence to OWS Import an Absence: GP_ABS_EVENT_SYNC.
40
41
Using a store manager role in the OWS application, you can view the imported data in the Employee Maintenance module on the Team Information page.
Note: Before importing the availabilities, you must import the employees as described in the CoreHR to OWS import messages. The following sample XML message displays the availabilities on Mondays to Fridays imported from PeopleSoft for employee Francis Aaron. PeopleSoft Import XML message: <SchedulePreferenceFullSync xmlns="http://xmlns.oracle.com/Enterprise/Tools/schemas/SchedulePreferenceFullSync.VERSION_1"> <SchedulePreferenceFullSyncPart> <ScheduleFullSyncPreferences xmlns="http://xmlns.oracle.com/Enterprise/Tools/schemas/SchedulePreferenceFullSyncPart.VERSIO N_1" class="R"> <EmployeeID>MOWS001</EmployeeID> <EmployeeRecord>0</EmployeeRecord> <DayOfTheWeek>1</DayOfTheWeek> <StartTime>08:00:00.000000-0800</StartTime> <EndTime>17:00:00.000000-0800</EndTime>
Copyright 2009, Oracle and/or its affiliates. All rights reserved. 42
<EndOffSet>0</EndOffSet> </ScheduleFullSyncPreferences> </SchedulePreferenceFullSyncPart> <SchedulePreferenceFullSyncPart> <ScheduleFullSyncPreferences xmlns="http://xmlns.oracle.com/Enterprise/Tools/schemas/SchedulePreferenceFullSyncPart.VERSIO N_1" class="R"> <EmployeeID>MOWS001</EmployeeID> <EmployeeRecord>0</EmployeeRecord> <DayOfTheWeek>2</DayOfTheWeek> <StartTime>08:00:00.000000-0800</StartTime> <EndTime>17:00:00.000000-0800</EndTime> <EndOffSet>0</EndOffSet> </ScheduleFullSyncPreferences> </SchedulePreferenceFullSyncPart> <SchedulePreferenceFullSyncPart> <ScheduleFullSyncPreferences xmlns="http://xmlns.oracle.com/Enterprise/Tools/schemas/SchedulePreferenceFullSyncPart.VERSIO N_1" class="R"> <EmployeeID>MOWS001</EmployeeID> <EmployeeRecord>0</EmployeeRecord> <DayOfTheWeek>3</DayOfTheWeek> <StartTime>14:00:00.000000-0800</StartTime> <EndTime>22:00:00.000000-0800</EndTime> <EndOffSet>0</EndOffSet> </ScheduleFullSyncPreferences> </SchedulePreferenceFullSyncPart> <SchedulePreferenceFullSyncPart> <ScheduleFullSyncPreferences xmlns="http://xmlns.oracle.com/Enterprise/Tools/schemas/SchedulePreferenceFullSyncPart.VERSIO N_1" class="R"> <EmployeeID>MOWS001</EmployeeID> <EmployeeRecord>0</EmployeeRecord> <DayOfTheWeek>4</DayOfTheWeek> <StartTime>14:00:00.000000-0800</StartTime> <EndTime>22:00:00.000000-0800</EndTime> <EndOffSet>0</EndOffSet> </ScheduleFullSyncPreferences> </SchedulePreferenceFullSyncPart> <SchedulePreferenceFullSyncPart> <ScheduleFullSyncPreferences xmlns="http://xmlns.oracle.com/Enterprise/Tools/schemas/SchedulePreferenceFullSyncPart.VERSIO N_1" class="R"> <EmployeeID>MOWS001</EmployeeID> <EmployeeRecord>0</EmployeeRecord> <DayOfTheWeek>5</DayOfTheWeek> <StartTime>22:00:00.000000-0800</StartTime> <EndTime>06:00:00.000000-0800</EndTime> <EndOffSet>1</EndOffSet> </ScheduleFullSyncPreferences> </SchedulePreferenceFullSyncPart> </SchedulePreferenceFullSync>
43
44
Using a store manager role in the OWS application, you can view the imported data in the Employee Maintenance module on the Availability page.
45
Using a store manager role in the OWS application, you can view the imported data in the Employee Maintenance module, the Availability page, Edit Week Availabilities link.
46
Using a store manager role in the OWS application, you can view the imported data in the Dashboard module on the Sales Performance page after clicking the Refresh Dashboard button. (The Dashboard displays the aggregate value.)
47
You can view a breakdown of the actual hours in the OWS application by day (Daily KPIs) and week (Weekly KPIs).
Define a batch process to schedule exports on a regular frequency in OWS using the Job Scheduler.
48
In the following example, a batch process is set to run every Sunday at 12:00pm to produce the weekly schedule for the next 3 weeks for the stores belonging to TheCompany. OWS exports this schedule information to PeopleSoft Time and Labor.
In the following example, on June 29, 2009, the employee John Dalton, employee Id MOWS005, starts at 6:00am, takes a break at 8:30am, resumes work at 9:30am, stops for lunch at 11:30am, resumes work at 12:00pm, and finishes the shift at 2:30pm.
49
Using a store manager role in the OWS application, you can view the imported data in the Weekly Process module Post step on the Posted Schedule page
The following sample XML message displays the resulting export schedule information. OWS Export XML message
<SCH_OWS_SCHEDULE xmlns="http://xmlns.oracle.com/Enterprise/Tools/schemas/SCH_OWS_SCHEDULE.VERSION_1"> <MsgData> <Transaction> <SchedulefromOWS class="R"> <EMPLID>MOWS005</EMPLID> <EMPL_RCD>0</EMPL_RCD> <SCH_PRIM_ALT_IND>P</SCH_PRIM_ALT_IND> <DUR>2009-06-29</DUR> <SEQ_NO>1</SEQ_NO> <SEQNUM>1</SEQNUM> <PUNCH_DTTM>2009-06-29T06:00:00x000000-0700</PUNCH_DTTM> <SCHED_SOURCE>I</SCHED_SOURCE> <SCH_CATEGORY>WK</SCH_CATEGORY> <OFFDAY_IND>N</OFFDAY_IND> <PUNCH_TYPE>1</PUNCH_TYPE> <DELETE_IND>N</DELETE_IND> <TL_QUANTITY>2.5</TL_QUANTITY> <START_DATE>2009-06-29</START_DATE> <END_DATE>2009-06-29</END_DATE> <START_TIME>06:00:00.000000</START_TIME> <END_TIME>08:30:00.000000</END_TIME> </SchedulefromOWS>
50
51
<SchedulefromOWS class="R"> <EMPLID>MOWS005</EMPLID> <EMPL_RCD>0</EMPL_RCD> <SCH_PRIM_ALT_IND>P</SCH_PRIM_ALT_IND> <DUR>2009-06-29</DUR> <SEQ_NO>1</SEQ_NO> <SEQNUM>5</SEQNUM> <PUNCH_DTTM>2009-06-29T12:00:00x000000-0700</PUNCH_DTTM> <SCHED_SOURCE>I</SCHED_SOURCE> <SCH_CATEGORY>WK</SCH_CATEGORY> <OFFDAY_IND>N</OFFDAY_IND> <PUNCH_TYPE>1</PUNCH_TYPE> <DELETE_IND>N</DELETE_IND> <TL_QUANTITY>2.5</TL_QUANTITY> <START_DATE>2009-06-29</START_DATE> <END_DATE>2009-06-29</END_DATE> <START_TIME>12:00:00.000000</START_TIME> <END_TIME>14:30:00.000000</END_TIME> </SchedulefromOWS> <PSCAMA class="R"/> </Transaction> <Transaction> <SchedulefromOWS class="R"> <EMPLID>MOWS005</EMPLID> <EMPL_RCD>0</EMPL_RCD> <SCH_PRIM_ALT_IND>P</SCH_PRIM_ALT_IND> <DUR>2009-06-29</DUR> <SEQ_NO>1</SEQ_NO> <SEQNUM>6</SEQNUM> <PUNCH_DTTM>2009-06-29T14:30:00x000000-0700</PUNCH_DTTM> <SCHED_SOURCE>I</SCHED_SOURCE> <SCH_CATEGORY>WK</SCH_CATEGORY> <OFFDAY_IND>N</OFFDAY_IND> <PUNCH_TYPE>2</PUNCH_TYPE> <DELETE_IND>N</DELETE_IND> <START_DATE>2009-06-29</START_DATE> <END_DATE>2009-06-29</END_DATE> <START_TIME>12:00:00.000000</START_TIME> <END_TIME>14:30:00.000000</END_TIME> </SchedulefromOWS> <PSCAMA class="R"/> </Transaction> </MsgData> </SCH_OWS_SCHEDULE>
The following sample message reports that the schedule was imported without errors to PeopleSoft Time and Labor. OWS Import XML message <ResponseToOWS xmlns="http://xmlns.oracle.com/Enterprise/Tools/schemas/ResponseToOWS.VERSION_1"> <ScheduleOWSResponse2> -<SchedulesProcessed xmlns="http://xmlns.oracle.com/Enterprise/Tools/schemas/ScheduleOWSResponse2.VERSION_1" class="R"> <Description>Optimized Schedules Processed. No errors found</Description> <DateTime>2009-07-02T16:20:38.716000-07:00</DateTime>
52
<OperatorID>OWSTOTL</OperatorID> </SchedulesProcessed> </ScheduleOWSResponse2> </ResponseToOWS> The following sample message contains errors produced when equivalent values are not found: employee identifiers listed in the OWS schedule do not exist in the PeopleSoft Time and Labor tables. OWS Import XML message <?xml version="1.0" ?> <ResponseToOWS xmlns="http://xmlns.oracle.com/Enterprise/Tools/schemas/ResponseToOWS.VERSION_1"> <ScheduleOWSResponse1> <SchedulesRejected class="R" xmlns="http://xmlns.oracle.com/Enterprise/Tools/schemas/ScheduleOWSResponse1.VERSION_1"> <EmployeeID>MSCZ001</EmployeeID> <EmployeeRecord>0</EmployeeRecord> <PrimaryAlternate>P</PrimaryAlternate> <Date>2008-10-28</Date> <ShiftNumber>1</ShiftNumber> <ShiftSeqNumber>1</ShiftSeqNumber> <PunchDateTime>2008-10-28T08:00:00.000000-07:00</PunchDateTime> <Source>I</Source> <PunchType>1</PunchType> <Category>WK</Category> <RejectedReason>01</RejectedReason> <RejectedDescription>Invalid Employee Record</RejectedDescription> <DateTime>2008-10-26T08:00:00.000000-07:00</DateTime> <OperatorID>PS</OperatorID> </SchedulesRejected> </ScheduleOWSResponse1> <ScheduleOWSResponse1> <SchedulesRejected class="R" xmlns="http://xmlns.oracle.com/Enterprise/Tools/schemas/ScheduleOWSResponse1.VERSION_1"> <EmployeeID>MSCZ001</EmployeeID> <EmployeeRecord>0</EmployeeRecord> <PrimaryAlternate>P</PrimaryAlternate> <Date>2008-10-28</Date> <ShiftNumber>1</ShiftNumber> <ShiftSeqNumber>2</ShiftSeqNumber> <PunchDateTime>2008-10-28T11:00:00.000000-07:00</PunchDateTime> <Source>I</Source> <PunchType>3</PunchType> <Category>WK</Category> <RejectedReason>01</RejectedReason> <RejectedDescription>Invalid Employee Record</RejectedDescription> <DateTime>2008-10-26T08:00:00.000000-07:00</DateTime> <OperatorID>PS</OperatorID> </SchedulesRejected> </ScheduleOWSResponse1> - <ScheduleOWSResponse1> - <SchedulesRejected class="R" xmlns="http://xmlns.oracle.com/Enterprise/Tools/schemas/ScheduleOWSResponse1.VERSION_1"> <EmployeeID>MSCZ001</EmployeeID> <EmployeeRecord>0</EmployeeRecord> <PrimaryAlternate>P</PrimaryAlternate> <Date>2008-10-28</Date> <ShiftNumber>1</ShiftNumber>
Copyright 2009, Oracle and/or its affiliates. All rights reserved. 53
<ShiftSeqNumber>3</ShiftSeqNumber> <PunchDateTime>2008-10-28T11:30:00.000000-07:00</PunchDateTime> <Source>I</Source> <PunchType>1</PunchType> <Category>WK</Category> <RejectedReason>01</RejectedReason> <RejectedDescription>Invalid Employee Record</RejectedDescription> <DateTime>2008-10-26T08:00:00.000000-07:00</DateTime> <OperatorID>PS</OperatorID> </SchedulesRejected> </ScheduleOWSResponse1> <ScheduleOWSResponse1> <SchedulesRejected class="R" xmlns="http://xmlns.oracle.com/Enterprise/Tools/schemas/ScheduleOWSResponse1.VERSION_1"> <EmployeeID>MSCZ001</EmployeeID> <EmployeeRecord>0</EmployeeRecord> <PrimaryAlternate>P</PrimaryAlternate> <Date>2008-10-28</Date> <ShiftNumber>1</ShiftNumber> <ShiftSeqNumber>4</ShiftSeqNumber> <PunchDateTime>2008-10-28T16:30:00.000000-07:00</PunchDateTime> <Source>I</Source> <PunchType>2</PunchType> <Category>WK</Category> <RejectedReason>01</RejectedReason> <RejectedDescription>Invalid Employee Record</RejectedDescription> <DateTime>2008-10-26T08:00:00.000000-07:00</DateTime> <OperatorID>PS</OperatorID> </SchedulesRejected> </ScheduleOWSResponse1> </ResponseToOWS> When OWS imports the PeopleSoft Time and Labor response message, it creates a notification that is displayed in the To Do list of the OWS application. This message contains the status of the OWS schedule processed by PeopleSoft.
When OWS receives the message: OWS executes process (XLST and data mapping) that transforms PeopleSoft XML to OWS XML After the OWS XML message is generated, OWS launches the import process (message is stored in the database, placed in the queue, executed within the integration server) OWS launches the message Employee to create or to update the employee. The message Employee contains the following parts:
54
o o o o o o o
PersonIdentification: first name, last name, title, social security number, HRId, birth date Contact: phone, email, emergency contact name Address: address Contract: full time or part time Hiring: hire date Skill: competencies Assignment: location and department
Note: With the exception of PersonIdentification, these parts can be launched independently in different XML messages or combined in the same XML message file. PersonIdentification is mandatory, because it creates the employeeID. You can either launch the PersonIdentification file first or include this part when you launch the other parts of the message.
The integration supports partial absence data for the first or last day of an absence period. If you have multiple absence days, you import each days absence as separate absence days. The PeopleSoft message is transformed into one message for each day of absence, with the same type of absence used as the initial absence. As of this release, the integration does not support the transformation of other types of day absences such as a day off, or a public holiday absence schedule on the calendar. If you scheduled absence information in OWS, such as a day off for an upcoming month, that information is not exported to PeopleSoft.
OWS does not export full day absences in the schedule, because this information is imported from PeopleSoft and is available in the PeopleSoft Time and Labor application. For compliance requirements, OWS converts partial day absences into a work schedule. (A sequence partday absence-lunch-work is exported as work-lunch-work, and appears in PeopleSoft Time and Labor as a sequence in-lunch-in-out.)
55
The integration includes the following technical features, which are covered in greater detail later in this chapter: Request-Response exchange pattern: Shows how this exchange pattern correlates OWS schedule exports to related PeopleSoft import statuses. Message XML validation: Describes how integration messages can be validated to check whether they conform to OWS or PeopleSoft schemas. Message attachments and storage: Covers integration message attachments and explains where they are stored: in directories such as errors or in the OWS database. Message error management: Explains how to re-import or re-export messages that failed. Security: Addresses security issues at the transport and message levels.
56
Absences Person, Job, Contract, Competency Enterprise 9.1 CoreHR OWS 5.0.3 Minipack B
The Time and Labor application is the only PeopleSoft application that provides an import and export interface. The Optimized Schedules message flow is based on a request-response pattern: OWS sends an optimized schedule to PeopleSoft Time and Labor. PeopleSoft Time and Labor sends feedback about the schedule import process.
transform the message for example using an XSLT style sheet; or route the message based on the values in the content. A message sink that sends the normalized message to external applications. The message sink is related to a protocol and performs the opposite task on the message source: transform the normalized message into a protocol-specific one and send it. The figure below illustrates the central role of the integration server and the additional asynchronous servers that participate in the integration.
WS
XSLT
JOB
WS Asynchronous Server
Enterprise 9.1
Figure 2 OWS Integration Server Runtime Model The OWS integration server provides import and export message channels that communicate with PeopleSoft Enterprise 9.1 applications: Message Import Channels. A message import channel is derived from an application import interface. It is composed of: o o A web service message source (WS) that receives SOAP messages sent by an PeopleSoft application. A pipeline that processes the payload of the SOAP message. This payload is expressed using the PeopleSoft XML vocabulary. The main task of the pipeline is to transform this payload into an OWS normalized integration message using an XSLT style sheet. The normalized message is then used by a Job message sink (JOB) to create an asynchronous import job with the normalized message as an attachment. The job is posted to a specified OWS import queue. An OWS asynchronous server associated with the queue selects and runs the import job. During the job execution, an XML status document (functional trace) is created with warning, error, or information logs that are generated by the import process. This status document is stored as an output job attachment.
Message Export Channels A message export channel is derived from an application export interface. It consists of:
58
A Job message source (JOB) that scans a specific export queue and creates a normalized message from the output attachments of executed OWS jobs, such as jobs generating the OWS XML representation of optimized schedules. A pipeline whose main task is to transform the OWS integration message payload expressed using the OWS XML vocabulary into a PeopleSoft integration message. This is performed by an XSLT style sheet. A web service message sink (WS) pushes the transformed message by invoking a web service provided by the targeted PeopleSoft application.
Message import/export channels are associated with a specific error directory where the integration message is stored if an error occurs.
The OWS Integration Pack server generates WS-Addressing elements in the request SOAP header to receive and correlate the pending response, as illustrated by the following SOAP message snippet.
<S:Header> <wsa:MessageID xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">2bf8a96d-de79-445e-80ec7d8635523195</wsa:MessageID> <wsa:Action xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://xmlns.oracle.com/E nterprise/HCM/services/SchedulefromOWS.1/SchedulefromOWS_PortType/OptimizedSchedulesPr ocessing</wsa:Action> <wsa:ReplyTo xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"><wsa:Address xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">https://wfssrv2.fr.oracle .com:9898/owsi/services/Enterprise9.1/Time and Labor/import</wsa:Address> </wsa:ReplyTo> .... </S:Header>
Example 1 WS-Addressing Elements !n SOAP Outgoing Message Header The WS-Addressing elements generated in outgoing messages for a request-response exchange include: MessageID that contains the unique identifier (GUID) of the OWS message. Action that identifies the operation to invoke using this message. ReplyTo that specifies the address the user is required to use when sending the associated response.
To activate the request-response exchange: Select the Enable Reply property in the configuration of the Time and Labor export interface. Select the Enable Reply property of the PeopleSoft application import interface in the Integration Pack configuration. Note: In the current OWS 5.0.3 Minipack B PeopleSoft Enterprise HRMS 9.1 integration release, PeopleSoft 9.1 applications do not handle OWS import feedback , so selecting the Enable Reply property is not required.
Copyright 2009, Oracle and/or its affiliates. All rights reserved. 59
Ensure that the integration message sent by the PeopleSoft application contains the MessageID and ReplyTo WSAddressing elements.
When these conditions are met, the OWS Integration Pack server sends a response message whose payload contains the functional trace generated while importing the PeopleSoft message. The response SOAP header includes the WS-Addressing RelatesTo element that includes the identifier of the PeopleSoft import message. This identifier enables the correlation.
The XML validation result is stored in XML format as part of the validation or transformation log, depending on the value of the optimized option. The following snippet contains the validation result associated with a response sent by PeopleSoft Time and Labor.
<?xml version="1.0" encoding="UTF-8"?> <transformationLog> <Error line="1" column="815"> cvc-complex-type.2.4.a: Invalid content was found starting with element 'ScheduleOWSResponse1'. One of '{"http://xmlns.oracle.com/Enterprise/Tools/schemas/ResponseToOWS.VERSION_1":ScheduleO WSResponse2}' is expected. </Error> </transformationLog>
Example 2 Time and Labor Response Message Transformation Log XML message validation is optional. It is activated when configuring the PeopleSoft application import and export interface with the Enable Message Validation property (Enable Transformation Validation) that validates the original transformed message).
Note: A best practice is to activate XML validation during the initial setup of the OWS-PeopleSoft 9.1integration to detect structural errors. Once the integration is properly configured and structural errors resolved, the XML validation can be disabled in a production environment.
60
originalMessage Saves the message before applying the XSLT transformation. During an import, it saves the PeopleSoft incoming message. During an export, it saves the OWS outgoing message, such as the schedule. MessageValidationLog/IncomingMessageValidationLog Contains information such as errors and warnings generated by the XML message validation. This information is expressed in an XML format. The MessageValidationLog attachment contains the validation result of the message after its transformation. The IncomingMessageValidationLog attachment contains the validation result of the message before its transformation, if the validation is not optimized. MessageTransformationLog Contains the log of errors, warnings, information that is created when the messages are transformed. If the incoming message validation is optimized, the validation is performed during the transformation and this attachment also contains the validation errors and warnings.
Message Storage
OWS integration messages and their attachments are stored in error directories or in the OWS production database as job attachments. When an error occurs while a broker channel is processing a message, the channel writes the message to its associated error directory. Error information, such as XML validation errors, is then stored as an attachment to the integration message or written to the server log files. When an import channel processes a message successfully, it writes it in the OWS production database as an input attachment of an OWS import job.
Figure 3 CoreHR Import Error Directory A message attachment directory contains the attachment files with a META-INF directory containing a manifest file (named manifest.xml) as shown below.
The manifest file is an XML document describing the content of the message attachment set. The following snippet gives a manifest example.
<?xml version="1.0" encoding="UTF-8"?> <ows:manifest xmlns:ows="http://xmlns.oracle.com/ows/integration/message/manifest"> <entry id="originalMessage" name="originalMessage.xml" contentType="text/xml" encoding="utf-8" contentLength="131212"/> <entry id="MessageTransformationLog" name="MessageTransformationLog.xml" contentType="text/xml" encoding="utf-8" contentLength="343"/> </ows:manifest>
To retrieve the integration messages associated with jobs, enter the OWS application using a login associated with an administrator role. Navigate to the Job Management module to view the jobs list, as shown in the following screenshot.
Figure 5 OWS Job Management Page Select Last Executed Jobs (or Waiting Jobs for import jobs) in the drop-down list and click on Search button. Select jobs with the InInterface/OutInterface procedure and click the Detail link to display a Job Information window. Click the Show Reports button to see the list of the job attachments as shown in the following screen shot.
62
Figure 6 OWS Import Job Attachments The originalMessage attachment contains the PeopleSoft integration message. The Functional_xxxxx attachment is the functional trace of the import job. To see the attachment content, click the link. An Internet Explorer window opens with the attachment content. In the following screenshot, a PeopleSoft Time and Labor message reports the status of an OWS schedule export import. Use the Save command in Internet Explorer File menu to save the message content in a file.
Figure 7 Job Import Attachment Content The following screenshot illustrates the attachments associated with an export job. The ScheduleExport contains the OWS export message that is extracted by the Integration Pack server, transformed, and sent to the PeopleSoft Time and Labor application.
63
Message Processing Errors These errors occur when pipeline nodes process messages, such as an XSLT pipeline node or an XML validation node that detects invalid messages, or when a channel transforms a transport specific message to an OWS integration message and vice versa.
Error Management
Channel Error Directories
When an exception is raised by a pipeline node or message sink, the integration message being processed is stored in the error directory associated with the channel. Channel error directories have a common root directory specified by the directoriesRoot property of the integration server configuration. The directory path is built using the following patterns: <directoriesRoot>/<applicationName>/import/err for import channels (such as d:/oracle/OWS/directories/TimeAndLaborr/import/err). <directoriesRoot>/<applicationName>/export/err for export channels (such as d:/oracle/OWS/directories/TimeAndLabor/export/err).
64
The integration message is stored in the error directories with its attachments. The vocabulary of the integration message can be: An OWS vocabulary if the error is raised: o o By an import channel during the creation of an OWS import job. By an export channel during the XML validation of the OWS message.
A PeopleSoft vocabulary if the error is raised: o o By an export channel, when the web service invocation fails; for example, the web server cannot be reached. By an import channel during the XML validation of the incoming message.
Re-injection Channels
The configuration of the OWS integration server defines reinjection channels based on directory message sources. These channels allow the reprocessing of OWS or PeopleSoft incoming and outgoing messages. This feature is useful when the originating source application can no longer resend the same message. These reinjection channels are defined as follows: For each import channel (connects a web service message source to a job message sink), the OWS integration server configuration defines two reinjection channels: A channel that accepts OWS messages that directly links a directory message source to the job message sink. The directory path is <directoriesRoot>/<applicationName>/import/in/OWS (such as d:/oracle/OWS/directories/TimeALabor/import/in/OWS). A channel that accepts PeopleSoft messages and includes the XSLT transformation associated with the application import interface. The directory path is <directoriesRoot>/<applicationName>/import/in/ PeopleSoftEnterprise9.1 (such as d:/oracle/OWS/directories/TimeAndLabor/import/in/PeopleSoftEnterprise9.1). For each export channel (connects a job message source to a web service message sink), the OWS integration server configuration defines two reinjection channels: A channel that accepts PeopleSoft messages that directly links a directory message source to the web service message sink. The directory path is <directoriesRoot>/<applicationName>/export/in/PeopleSoftEnterprise9.1 (such as d:/oracle/OWS/directories/TimeAndLabor/export/in/PeopleSoftEnterprise9.1). A channel that accepts OWS messages and includes the XSLT transformation associated with the application export interface. The directory path is <directoriesRoot>/<applicationName>/export/in/OWS (such as d:/oracle/OWS/directories/Time AndLabor/exportt/in/OWS).
The messages to reinject can be picked up from the channel error directories; for example, through the originalMessage attachment for instance; or copied from the OWS job input/output attachments. To reinject the message, the message is copied to the reinjection directory. The message is initially moved to a tmp subdirectory during the reinjection processing, and then moved to the done subdirectory if the reinjection is successful. If an error occurs, the message is pushed to the error directory associated with the application (import or export) interface.
Note: The administration of the error and reinjection directories such as Backup and cleaning is not included in this release of the OWS Integration Pack.
SECURITY
The OWS Integration Pack server supports security at two levels:
Copyright 2009, Oracle and/or its affiliates. All rights reserved. 65
Transport Level The transport is secured by using the https protocol based on SSL and certificates. This protocol enforces authentication and encrypts transmitted data. Message Level At this level, the security is based on the WS-Security usernametoken profile. The security information consists of a username and a password that appears in a security element in the SOAP header of the message. To conform with PeopleSoft 9.1, only passwords in plain text format are supported in this release. although the OWS integration server tech stack can handle passwords in digest format that is s hashed passwords , the official term in the specification is digest and the password is the result of a hash computation so, in this case the two terms are synonyms).
Transport and message security are orthogonal. You can protect a message with no username/password information using https or send a message with security information using the unprotected http protocol. You can also specify no security at all, which you might do if both OWS and PeopleSoft applications are located in the same secured zone.
Hostname Verification
By default, Java verifies the host name when a client establishes an https connection to a server. This hostname verification involves the OWS export interface, which is protected by https. If the URL used by the client includes a host name that is a symbolic address, Java checks that the symbolic address matches the host name stored as subject common name in the certificate provided by the server. If the URL includes a numeric IP address, the check involves subject alternative names stored in the certificate. If the check fails, the client closes the connection. If you are forced to use a numeric IP address; for example, due to some to symbolic address resolution issues, or a symbolic host name that does not match the certificate information, you can disable the host name verification by unselecting the Hostname Verifier option of the integration server configuration.
66
Note: We recommend that you only disable hostname verification, if there is no other means to prevent the hostname verification to fail
Example 4 Message Security Elements The OWS integration pack server can handle two types of security elements: Timestamp The role of the Timestamp element is to define a time window during which the security information is valid to avoid replay attack. UsernameToken This element provides a username/password pair used to authenticate the message sender.
UsernameToken Element
To conform with PeopleTools, the OWS integration pack server supports only UsernameTokens whose password is in plain text format. You can configure OWS to define the username/password information at the interface level. OWS supports security ranging from a single username/password used to identify all the integrated PeopleSoft applications to a different pair for each import or export interface.
Timestamp Element
The Timestamp element defines a time interval by a creation time (Created element) and an expiration time (Expires element). The OWS configuration makes the use of Timestamp elements optional. The impact of the Timestamp configuration depends on the type of the application interface: For an import interface, the timestamp configuration validates the timestamp information present in incoming message. For an export interface, the timestamp configuration generates the proper creation and expiration times.
67
Timestamp validation The timestamp creation and expiration times are validated using the current time of the receiving application of the receiving application and two properties defined in the interface security configuration: MaxClockSkew: This property aligns the sender time with the receiver time if their clocks differ. The default value of MaxClockSkew is 5 minutes (expressed in milliseconds). TimestampFreshnessLimit: The validity duration of the timestamp creation date.
The following validation checks are performed: The expiration time is not reached: expirationTime > currentTime maxClockSkew The creation time is not in the future: creationTime < currentTime maxClockSkew The creation time is not too old: creationTime > currentTime - maxClockSkew timestampFreshnessLimit
Timestamp Generation When the OWS server generates a timestamp for an outgoing message, it uses a TimestampTimeout property provided by the interface configuration to compute the expiration time, based on this formula: expirationTime = currentTime + timestampTimeout.
Note: PeopleSoft 9.1 does not support Timestamp generation. Do not select the Use Timestamp option in the import interface configuration. In contrast, for the Time and Labor export interface, select this option to have OWS generate the Timestamp elements.
68
Refer to the Oracle Workforce Scheduling Operations Guide and Oracle Workforce Scheduling Installation Guide for further information about OWSAdmin. Administrating the PeopleSoft Enterprise 9.1 Integration Pack takes place in two steps: 1. 2. Install the Integration Pack distribution. For each application defined in the OWSAdmin repository, manage the associated PeopleSoft Enterprise 9.1 Integration Pack.
69
Figure 9 OWSAdmin Archive Management The Integration Pack archive requires the previous installation of OWS 5.0.3 Minipack B archive. You should see the OWS 5.0.3 Minipack B archive listed on this page as an installed archive
70
Select the OWS-503-MinipackB-ipack.tsar file from the OWS delivery media and click the Open button.
3. 4.
Click the
If the upload is successful, the result page includes the content of the uploaded Integration Pack, as shown below.
71
Figure 11Application Integration Pack Lifecycle Steps This Integration <node has one child per integration template supported by the OWS application. The OWS 5.0.3 Minipack B release supports a single template devoted to PeopleSoft Enterprise 9.1 integration. The steps of the Integration Pack lifecycle are explained by the template children nodes: Configure The Configure step creates an Integration Pack configuration that defines the properties of the various objects of the Integration Pack model: the integration server, the application suite and the application interfaces. Deploy The Deploy step installs the configured Integration Pack. Status The Status step checks that the Integration Pack is properly installed. Delete The Delete step removes the Integration Pack configuration from the OWSAdmin repository.
The configuration page shown below displays the form associated with the Integration Pack server. The properties of the Integration Pack objects are organized into sections, such as Compression Information. You can expand or contract sections using the appropriate buttons: .
72
Figure 12 Application Integration Pack - Configure Page Layout Each of the configuration settings shown in this pane is described in further detail in the following section, Integration Server Configuration. After completing the configuration, you click the Save button. When the OWSAdmin repository is successfully updated, the following message is displayed.
General Properties
The first section of an Integration Pack server configuration contains the general information, such as the addressing and port information. These properties are illustrated by the following image and detailed in the following table.
Copyright 2009, Oracle and/or its affiliates. All rights reserved. 73
Table 1 Integration Pack Server - General Properties Property Description Required/ Optional Required Example
Name
A name used to identify the Windows service associated with the Integration Pack server. The Windows service name is the server name prefixed with OracleOWS. Use only alphanumeric and - as characters.
IPackServer
Host
The host name or the IP address of the machine where the Integration Pack will be deployed. The server port related to http connections. This port should be greater than or equal to 1024 and should not conflict with other integration server ports.
Required
wfssrv2.fr.oracle.com
Port
Required
9080
Shutdown Port
The port used by the underlying Tomcat server to listen to an administration shutdown command. If you plan to install several Tomcat based servers such as OWSAdmin server and an Integration Pack server
Required
9005
74
on the same machine, avoid using the default Tomcat port such as. 8005. This port should be greater than or equal to 1024 and should not conflict with other integration server ports. Debug Port The port used to attach a JVM debugger to this server. Use 0 to disable debugging capability; otherwise, the port value should be greater than or equal to 1024 and should not conflict with other integration server ports. Optional 9090
Broker Properties
The Broker Information section of an Integration Pack server configuration contains the properties illustrated by the following image and detailed in the following table.
Table 2 Integration Pack Server - Broker Properties Property Description Required/ Optional Required Example
Directories Root
The path of the parent directory of all directories used by the integration server to store messages whose processing has been aborted due to an error or to reinject repaired messages. This path should be absolute and accessible from the machine where the Integration Pack is deployed. If the directory does not exist, it is created during the initialization of the integration server.
d:/oracle/OWS/ipack/directorie s
Compression Properties
The Compression Information section of an Integration Pack server configuration manages the gzip decompression and compression of incoming and outgoing messages. The compression properties are illustrated by the following image and detailed in the following table
75
Figure 15 Integration Pack Server - Compression Properties Table 3 Integration Pack Server - Compression Properties Property Enable Input Compression Description Specifies if the integration server is configured to receive gzip compressed incoming messages. By default input compression is disabled. Specifies the minimum size of the outgoing message payload that triggers the compression of the outgoing message. This value should be greater than or equal to zero. A zero value means no compression. Configure output compression only if the receiving PeopleSoft servers are able to decompress the incoming messages. By default, output compression is disabled. 2048 Example
Note: Output message compression is activated by the combined settings of the above Output Threshold Compression property and the Enable Compression specified in the export application interface: Enable Compression should be true. and the message payload size should exceed the value of the Output Threshold Compression property.
76
Https Properties
The Https Settings section of an Integration Pack server configures the transport security. The https properties are illustrated by the following image and detailed in the following table.
Figure 16 Integration Pack Server - Https Properties Table 4 Integration Pack Server - Https Properties Property Https Port Keystore Path Description The TCP port that waits for incoming connections that use an https protocol. The path of the keystore file where the private key and the certificate of the server are stored. Use an absolute path accessible from the integration server machine. Keystore Alias Keystore Password The name of the keystore entry that contains the private key and certificate. The password of the keystore. This should be the same password as the entry passwordreferenced by the alias. Truststore Path The path of the truststore file that contains the d:/oracle/OWS/ipack/keystore/
77
owsipack owsipack
certificates used to authenticate clients. Use an absolute path accessible from the integration server machine. Truststore Password Client Authentication The password of the truststore. This option can have three values. The default value is None. None: the OWS server does not require client certificate. As a client, the server does not send its own certificate. Optional: the OWS server requests a client certificate, but the authentication does not fail if no certificate is presented. As a client, it presents its own certificate. Required: the client provides a certificate to the OWS server. As a client, the OWS server presents its own certificate.
owsipackTrust.jks
owsipackTrust
Hostname Verifier
Enables the standard hostname verification when an export application interface uses the https protection. By default, the hostname verification is enabled.
Note: The https configuration is activated when an application (import or export) interface is configured to use the https protection.
78
Proxy Properties
If the configuration includes a proxy server, the Proxy Settings define the use of the server for the http and https protocol. These properties are illustrated by the following image and detailed in the following table.
Table 5 Integration Pack Server - Proxy Properties Property Http Proxy Host Http Proxy Port No Proxy For Http Proxy Username Http Proxy Password Https Proxy Host Https Proxy Port Description The proxy server address. The proxy server port. List of comma separated addresses (or regular expressions) that bypass the proxy. Username for authentication. Password for authentication. The proxy server address used for the https protocol. The proxy server port used for the https protocol.
79
Trace Properties
The Trace Options section of an Integration Pack server configuration determines the kind of trace information dumped to the log files during message processing. The trace properties are illustrated by the following image and detailed in the following table.
Table 6 Integration Pack Server - Trace Properties Property SSL Handshake Incoming Messages Description Trace the SSL handshake steps in the output log. Dump the http requests that contain the incoming messages received by the integration server and responses sent. Dump the http requests sent by the server and the associated received response. Example See the Security section of the Troubleshooting chapter. See the Security section of the Troubleshooting chapter.
Outgoing Messages
80
The application suite properties are illustrated by the following image and detailed in the following table.
Table 7 Application Suite Properties Property Description Required/ Optional Optional Example
User Name
The default user name used in message security. A user name provided at the application interface level overrides the default user name. The default password used in message security. A password provided at the application interface level overrides the default password.
PeopleSoft2OWS
Password
Optional
MilesDavidQuintet
81
Figure 20 Application Configuration The properties of an application interface are described in more detail in the following sections: Message Exchange specifies the properties that impact the message exchange such as the message source or destination, and the use of a request/response pattern. Message Processing indicates if XML validation is performed on the original or transformed message. Message Security defines the security levels associated with the interface. Delivery Attempts specifies the retry connection management.
82
The message exchange properties of an application interface are detailed in the following table. Table 8 Application Interface - Message Exchange Properties Property Description Required/ Optional Required Example
http://ple1.peoplesoft.com/PSIGW/PeopleSoftService ListeningConnector
83
The URL for the WSDL document associated with the web service. If no value is provided, the WSDL URL is built by appending ?wsdl to the service URL. The identifier of an OWS queue. For an import interface, the job queue identifies the queue where import jobs are posted. For an export interface, it identifies the queue to scan to find the integration message to export, such as schedule messages. The job queues are the ones associated with the asynchronous business servers defined by the application topology.
Optional
http://ple1.peoplesoft.com/PSIGW/PeopleSoftService ListeningConnector/SchedulefromOWS.1.wsdl
555
Enable Reply
For an import interface, instructs the application to use the WS-Addressing information provided by the incoming message to reply with a related status message reporting processing information (errors or warnings). For an export interface, generates the WS-Addressing information in the SOAP header of the outgoing message, so that the PeopleSoft application can send back the outgoing message processing status (schedule). Activates the outgoing message compression using the threshold defined by the integration server configuration. By default, the compression is disabled.
Note: In this current release, only the Time and Labor application sends schedules import status. Select this option for the Time and Labor export interface.
84
Table 9 Application Interface - Message Processing Properties Property Enable Message Validation Description Activates the XML validation of incoming/outgoing messages using their associated schemas. For an import interface, message validation uses PeopleSoft schemas; for an export interface, OWS schemas. By default, message validation is disabled. This property is only valid if the XML validation is enabled. Validates the message while it is being transformed. By default, the validation optimization is enabled. Activates the XML validation of the transformed message using the associated schemas. For an import interface, the transformed message uses OWS schemas. For an export message, the transformed message uses PeopleSoft schemas. By default, the transformation validation is disabled. This option determines the behavior when message validation fails. If this option is enabled and an error occurs, the message processing is aborted and the message is written to the error directory associated with the application import or export.By default, this option is disabled. Activates debug options that write transformed messages to a debug directory and produce debug traces. By default, this debug option is disabled. Example
Enable Debug
85
Security Properties
The export and import interfaces have slightly different security properties as shown by the two following figures.
86
These security properties are detailed in the following table. Table 10 Application Interface - Security Properties Property Use Https WSSecurity Level Description Activates the https transport security for the interface. By default, https is not activated. Specifies the WSSecurity level used to protect messages that belong to this interface: None: No authentication information is expected from the incoming message, or added to the outgoing message. Username token PasswordText: The WSSecurity Username token profile is used. The password is provided in plain text. Example
The default WSSecurity level is None. User Name Password Use Timestamp Specifies the user name used in message security. If none is provided, the one defined at the suite level is used. Specifies the password used in message security. If none is provided, the one defined at the suite level is used. For an import interface, determines if a Timestamp security element is expected from incoming messages and will be validated. For an export interface, specifies that a Timestamp security element is generated for outgoing messages. By default, the timestamp use is disabled. Specifies the maximum difference allowed in milliseconds between the system clocks of the message sender and receiver. The default value is 5 minutes (300000 milliseconds). Sets the maximum duration of time in milliseconds after which the timestamp becomes stale. The default value is 5 minutes (300000 milliseconds). Specifies the value in seconds used to compute the Expiry time element of the Timestamp. This value should be greater than zero. The default value is 5 minutes (300 seconds). 300000 TimeAndLabor2OWS RedGardland
Timestamp Freshness Limit (import interface only) Timestamp Timeout (export interface only)
300000
300
Note: Select the Use Timestamp option for application export interfaces to generate the Timestamp element in outgoing messages. Do not select the Use Timestamp option for import interfaces, because the current version of PeopleTools does not generate Timestamp elements; as a result, this element never appears in incoming messages.
87
Table 11 Application Interface - Delivery Attempt Properties Property Attempt Count Description The number of delivery attempt performed before writing the message to the error directory associated with the application interface. The default value is 0 meaning no delivery attempt. The delay in milliseconds to use between two delivery attempts. The default value is 1 minute (60000 milliseconds). Example 10
Attempt Delay
60000
The deployment page as shown below displays the principal information about the deployment: OWSAdmin repository information (database server, database user). The installation process extracts the integration pack configuration from this repository. OWS production database information (repository name, database server, database user). The installation process extracts essential functional configuration files such as the dataMapping.xml file from the production database. Machine information This information is the address of the machine where the browser is running. A consistency check is performed to
88
ensure that this address matches the host specified in the integration server configuration. If this checks fails, a warning is sent, but this failed check does not block the deployment. To install the Integration Pack: 1. Click the Install button to run the Integration Pack installer through Java Web Start
Figure 27 Application Integration Pack - Install Page A Java Loading window appears to confirm that Java Web Start is running.
89
The Java component that wraps the Integration Pack installer is downloaded from the OWSAdmin server.
If none of the previous windows appear, see the section of the troubleshooting chapter on Java Web Start. 2. Java Web Start indicates the installer origin and asks for confirmation to run it. This Security window appears only if the option to trust content from this publisher is not set.
90
3.
The Integration Pack installer execution starts with an Information screen. Click Next to continue.
4.
91
5.
Click Browse to select the Integration Pack installation folder. Click Next. If the folder does not exist, the installation process creates one.
6.
Select the path where the Oracle client is installed, and click Next. The client can be an Oracle 10g or 11g client.
92
7.
8.
93
9.
The Installation screen installs the components and when finished activates the Next button. Click Next.
10. The Perform External Processes screen displays the trace of the various post install configuration steps.
Some of the installation steps produce status of success/failure and should be tracked. These include: Extract-integration-pack-model This step extracts the integration pack model configuration from the OWSAdmin repository.
94
Extract-custom-files This step extracts files such as the dataMapping.xml document from the OWS production database. These files contain the functional configuration of the PeopleSoft integration. Generate-assets This step generates the various configuration files (Tomcat server configuration, web application descriptor, OWS integration server broker configuration) required by the underlying technical infrastructure. Check-integration-pack-model This step validates that all the integration server ports are free, and that the keystore/trustore can be accessed using the configured information (file path and passwords).
These post install configuration steps are both logged on the Processing screen and in a Install_xxxx.log file stored in the <IntegrationPackHome>/ OWSIntegrationPackServer/setup/log directory. 11. Select the necessary shortcut options and click Next.
This step creates an OWS Workforce Scheduling/PeopleSoftEnterprise 9.1entry in the Start/Programs menu. This entry contains menu items to start and stop the Integration Pack server, and to uninstall the Integration Pack.
95
12. The Installation Summary screen displays the paths for the installation and JDK, and lists the successfully installed packs.
13. The Installation Finished screen displays details of the successful installation.
96
1.
An uninstaller window appears. Select the option to delete the install directory. Click Uninstall.
2.
Figure 28 Application Integration Pack - Status Page To validate that the import or export web service is deployed, click the WSDL URL leading to the service WSDL document. If the service is deployed, the WSDL document is displayed in a new Internet Explorer window as shown below.
97
Figure 30 Application Integration Pack - Deletion Page This page displays information about the Integration Pack configuration: the integration template and application names. Clicking the Delete button displays a popup confirmation window.
98
Click OK to delete the Integration Pack configuration. When the deletion concludes successfully, the following message is displayed.
99
Figure 31 OWSAdmin Keystore Information Utility Explore the content of a keystore, as described by the following steps. 1. Enter the keystore path and the keystore password. Click the List Entries button.
100
The result page displays the entries contained in the keystore. In this example, the server keystore is used, which contains a private key.
101
2.
3. 4.
Confirm the dates to ensure they cover the certificate validity period. Expand the Subject Information section, and confirm that the common name maps to the server host name that is used in the URLs to send messages.
102
103
The Java Web Start program is named javaws.exe and is part of the JDK 1.5 installation (a prerequisite to installing the OWS application ). Locate the program in the <jdkHomeDir>/bin directory. Check that the JNLP file type is associated with javaws.exe.
104
Open a Windows Explorer window and select the Tools->Folder Options menu. Select the File Types tab and search for JNLP as shown below.
If the type does not exist or is not associated with javaws.exe, create it or associate it with this executable.
105
This issue is usually related to the http settings used by Java Web Start to download Java components. Run the javaws.exe program and select the Edit->Preference menu item. Select the General tab and click the Network Settings. button. The following window appears.
Usually selecting either the browser settings option or the direct connection option solves the issue.
106
If the issue remains, activate the Java console as shown below and select all debugging options.
Relaunch the Integration Pack installer using Internet Explorer and contact your network administrator about the errors that appear in the Java console.
INSTALLATION CHECKLIST
This section presents an installation checklist you can use to detect the installation problem for the: Tomcat server Integration Pack server Integration web service
107
Figure 32 Tomcat Home Page If an error page is displayed instead of this home page, it means the Tomcat server is not started. It is usually related to port conflicts: the http/https, shutdown, or debug port is already in use by an other application. Review the catalina and the stdout log files located in the <IntegrationPackHome>/ OWSIntegrationPackServer/logs directory where <IntegrationPackHome> is the Integration Pack installation directory. The log file names are suffixed by a creation date, such as catalina.2009-07-02.log. If the integration server provides https protection, use the https server address in Internet Explorer, such as https://rtas136.peoplesoft.com:18202.
108
The Tomcat home page should also appear with an additional lock displayed in the status bar. If the https settings specify a mandatory client authentication, a popup window may appear requesting that you select a certificate, as shown below.
If an error page is displayed, the usual cause is related to a problem with the https configuration. Common errors include: The keystore/truststore file cannot be found. The catalina log file contains Java FileNotFound exceptions. The keystore/truststore password is invalid. The keystore entry password is not the same as the keystore password.
Review the Tomcat log files. You can use the Keystore Information page of the OWSAdmin console to verify the access and content of the keystore and truststore files, as explained in the Security Utilities chapter.
This home page provides information about the Integration Pack version (e.g. OWS 5.0.3 Minipack B) and build number such as 5.5.0.3 at the top of the page. It also lists, for each PeopleSoft application: The import URL to use to send PeopleSoft integration messages to OWS , such as http://rtas136.peoplesoft.com:18200/owsi/services/Enterprise9.1/AbsenceManagement/import.
109
Note: If the home page is not displayed , review the stdout log file for error information.
If the service is correctly deployed, a separate browser window appears. It shows the content of the WSDL associated with the service that supports imports from the Absence Management application.
110
SECURITY
Security problems often occur when PeopleSoft and OWS security configurations do not correspond. This can occur both at the message and transport levels.
Note: It is recommended that you activate all trace options when you first configure OWS and PeopleSoft security settings, so that you can more easily identify and solve security problems.
Message Security
When the OWS Integration Pack server receives a message, where the username/password pair does not match the one configured in the application import interface, the server generates a: Server error (http status code 500) SOAP message citing the authentication failure as the cause for the error. The following SOAP snippet contains an example.
111
<faultcode xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsswssecurity-secext-1.0.xsd">wsse:FailedAuthentication</faultcode> <faultstring>Authentication of Username Password Token Failed</faultstring> <detail></detail> </ns2:Fault> </S:Body> </S:Envelope>
Example 5 Authentication Error SOAP Fault If the Incoming Message trace option is activated, the stdout log file, located in the <IntegrationPackHome>/OWSIntegrationPackServer/logs directory, contains the incoming message as shown below.
---[HTTP request]--From: PSFT_HR Host: wfssrv2.fr.oracle.com:8888 Datachunk: 1 To: PSFT_OWS Messagename: importReportedTimeSync Content-length: 2811 Content-type: text/xml; charset=utf-8 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive Soapaction: "importReportedTimeSync" Origtimestamp: 2009-03-26T14:44:46.878000-0700 Transactionid: 56ed3781-1a4f-11de-862a-b5ca4fa6f8ac Nonrepudiation: False Version: v1 Datachunkcount: 1 Messagetype: async User-agent: Java1.6.0_05 <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsswssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1"> <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401wss-wssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-11230768" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext1.0.xsd"> <wsse:Username xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsswssecurity-secext-1.0.xsd">Time and LaborPSoft2OWS</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-usernametoken-profile-1.0#PasswordText" xmlns:wsse="http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-wssecurity-secext1.0.xsd">RedGarland</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body>.</soapenv:Body> </soapenv:Envelope>--------------------
Example 6 Incoming Message Trace The password appears in plain text and can be checked with the one specified in the security configuration of the application import interface.
Transport Security
This section lists the common error that cause the SSL handshake to fail, and provides excerpts of the SSL debug traces. The common error causes are the following:
112
The truststore of the https client does not contain the server certificate. The OWS Integration Pack server stdout log file contains the following lines to indicate that the server certificate is not recognized by the client.
http-8443-Processor25, RECV TLSv1 ALERT: fatal, certificate_unknown http-8443-Processor25, called closeSocket() http-8443-Processor25, handling exception: javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
Example 7 Server Side: Unknown Server Certificate Error On the client side, the following a java exception is usually thrown.
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
The truststore of the server does not contain the client certificate. The missing certificate leads to a failure when client authentication is mandatory. On the server side, the following logs are produced.
SEND TLSv1 ALERT: fatal, description = bad_certificate WRITE: TLSv1 Alert, length = 2 called closeSocket() handling exception: javax.net.ssl.SSLHandshakeException: null
Example 9 Server Side: No Client Certificate Error On the client side, the following Java exception is thrown:
java.net.SocketException: Software caused connection abort: recv failed
MESSAGE PROCESSING
Message processing problems can include: Message send errors XML validation errors
There can be several different reasons for this error: The targeted PeopleSoft server is not up and running. Verify the PeopleSoft web service address used to send schedules. Open an Internet Explorer and use the WSDL address to validate that the server can be reached and that the web service is deployed.
If the same connection error occurs with Internet Explorer, the server can be down or the use of a proxy is needed to reach the server.
Copyright 2009, Oracle and/or its affiliates. All rights reserved. 113
If the connection error does not occur with Internet Explorer, configure the proxy information of the Integration Pack server using the same settings as Internet Explorer. To access this configuration from Internet Explorer, use the Tools>Internet Options menu, select the Connections tab and click on the LAN Settings button
The first line indicates that an error occurred in the XML transformation. It is followed by a Java stack trace, and then a directory sink commit log that tells you that the integration message is written to an error directory. This log entry includes: The identifier of the error directory sink such as directoryAbsenceManagementImportErrorSink. You can derive the location of the directory that has the integration message from the identifier, such as <directoriesRoot>/AbsenceManagement/import/err by the information provided: the name of the application interface such as AbsenceManagement and its type. The identifier of the integration message appears between brackets such as. e6fdcede-5f14-4bc3-005a-14d07f551c7c.
The two identifiers enable you to locate the integration message and access the messageValidation or messageTransformation attachments that contain the errors.
114
CUSTOMER VALIDATION
Oracle is working with customers to get feedback and validation on this document. Lessons learned from these customer experiences will be posted here.
FIELD VALIDATION
Additional lessons learned from field experience will be posted here.
115
Reviewers
The following people reviewed this Red Paper: David Pasquier, Sophie Merle, Patrick Jeulin, Annie Ho, Kayla Nguyen, Sitaramaraju Lakkamraju, Duc Bui, Paul Snit, and Carlton Ellis do Amarl
Revision History
August 7, 2009: Created document. September 23, 2009: Revised
116