Sei sulla pagina 1di 33

1

Oracle Premier Support Comprehensive Coverage enhanced by Proactive Support features


Service and Support Quickly diagnose and resolve issues
Expert technical support Rapid-response field service Lifetime Support

Tools and Resources Get the most of your Oracle products with proactive features
Oracle knowledgebase Product health checks My Oracle Support

Product Innovation Keep pace with change and capitalize on new opportunities
Updates New releases Tools to assist with patching and upgrades

Perceived Value of Proactive Services

Nine out of ten (93%) respondents worldwide agree it is important for IT providers to invest in product and service Innovation.

IDG Research Services "The Future of IT Services and Support. Base: 308 Total; 100 U.S..; 100 EMEA; 100 APAC Jan. 2010.

<Insert Picture Here>

Using P6 Event Notification Messaging with Web Services


Tanya Cranmer Senior Technical Support Engineer Mark Haas Senior Technical Support Engineer

Program Agenda Part 1 P6 Event Notification Feature


P6 Event Notification Overview Java Message Service (JMS) API Configuring Event Notification in P6
<Insert Picture Here>

Part 2 Examples of Consuming Events


Sample Code - Create a JMS Client P6 Web Services Overview Sample Code - Process the event messages using P6 Web Services

Part 1 P6 Event Notification Feature

P6 Event Notification Overview


P6 Web Access, P6 Web Services and the P6 Integration API can be configured to send event messages to a message queue (JMS Queue) Messages sent to the JMS Queue can be read by programs written using the Java programming language (JMS client) Events are triggered when Business Objects, like Activities or Resources, are created or updated Events are also triggered by Special Operations like Scheduling

P6 Event Notification Overview


P6 Business Objects and Special Operations

Fifteen P6 Business Objects support create and update event notification messages. Special Operation events, like Scheduling, are triggered when the operation terminates with a Completed, Failed, or Cancelled status Refer to Knowledge Base article Overview of event notification in P6 version 7 (Doc ID 914141.1) for more details on support Business Objects and Special Operations
8

P6 Event Notification Overview


P6 Business Objects and Special Operations

Java Message Service (JMS) API


Overview

JMS is an industry messaging standard that has been widely adopted and makes it easier to write application components that create, send, receive messages The JMS API defines a common set of interfaces that allow programs written in the Java programming language to communicate with different messaging implementations (ie Weblogic or Apache ActiveMQ)

10

Java Message Service (JMS) API


Overview

Messaging is a method of communication between software components or applications Allows multiple applications that are being built independently, with different languages and platforms to communicate. Messaging enables distributed communication that is loosely coupled
the sender and the receiver do not have to be available at the same time in order to communicate the sender and the receiver only need to know the message format

11

P6 Event Notification Overview


P6 Business Objects and Special Operations

Two types of messaging models : point-to-point and publish/subscribe


Point-to-Point Messaging (PTP) each message has only one consumer queues retain all messages sent to them until the messages are consumed or until the messages expire consumer acknowledges the successful processing of a message

12

Java Message Service (JMS) API


Messaging Models

Publish/Subscribe Messaging (pub/sub) each message can have multiple consumers a client that subscribes to a topic can consume only messages published after the client has created a subscription

13

Java Message Service (JMS) API (contd)


Terminology JMS Provider
used to manage sessions and queues ie. Weblogic and Apache ActiveMQ

JMS Connection Factories


used to create a connection to a JMS Provider encapsulates a set of connection configuration parameters

JMS Connections
a connection with a JMS provider

JMS Sessions
a context for producing and consuming messages

14

Java Message Service (JMS) API (contd)


Terminology
JMS Message Producers
an object that is created by a session and used for sending messages to a destination (queue or topic)

JMS Message Consumers


an object that is created by a session and used for receiving messages sent to a destination

JMS Destinations
target of messages produced and source of messages consumed in the PTP messaging domain, destinations are queues in the pub/sub messaging domain, destinations are topics
15

Configuring Event Notification in P6


Modify the application configuration
Launch the Administration Application Configure the JMS Provider information under Directory Services Set the Database/Instance/Eventing/Enabled setting to true Configure the connection information for the JMS queue Enable the Business Objects and Special Operations which will trigger Events

Refer to Knowledge Base article How To Enable Event Notification In P6 version 7.0 (P6 v7) (Doc ID 914008.1)

16

Configuring Event Notification in P6


Test the Connection in the Primavera Administrator Test the Connection by Adding a New Activity in P6 Web Access Sample P6 Event Message
<?xml version="1.0" encoding="UTF-8"?><MessagingObjects xmlns="http://xmlns.oracle.com/Primavera/P6/V7/Common/Event" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ActivityCreated> <Id>A1000</Id> <Name>event test 1</Name> <ObjectId>80859</ObjectId> <ProjectObjectId>605</ProjectObjectId> <WBSObjectId>6768</WBSObjectId> </ActivityCreated> </MessagingObjects>

17

Part 2 Examples of Consuming Events

18

Sample Code
Create a JMS client

1.Create a Reference to the JMS Provider ConnectionFactory 2.Create Connection 3.Create Session 4.Create a Reference to the JMS Provider Destination (Queue) 5.Create a Consumer to read event messages 6.Start Connection 7.Wait for messages

19

Sample Code
Create a JMS client

P6 Web Access (JMS Producer)

Weblogic QueueWS

Event Notification Demo Application (JMS Consumer)

20

P6 Web Services Overview


P6 Web Services is an integration tool based on open standards such as SOAP, XML and WSDL (Web Service Definition Language) External client programs use P6 Web Services by creating a SOAP request and sending it to the application server P6 Web Services can be used to
Extend P6 functionality Create workflows Integrate with a wide variety of enterprise software applications running on different hardware and operating system platforms.
21

P6 Web Services Overview


Primavera P6 Web Services deployed on Jboss, Weblogic or Websphere

22

P6 Web Services Overview


Sample WSDL

23

P6 Web Services Overview


Sample Java Code
private void readProjectCodeTypes() throws Exception { URL wsdlURL = new URL("http://192.168.1.3:7001/p6ws/services/ProjectCodeTypeService?wsdl"); com.primavera.ws.p6.code.ProjectCodeTypeService service = new com.primavera.ws.p6.code.ProjectCodeTypeService(wsdlURL); ProjectCodeTypePortType servicePort = service.getProjectCodeTypePort(); Client client = ClientProxy.getClient(servicePort); setCookieOrUserTokenData(client); List<ProjectCodeTypeFieldType> fields = new ArrayList<ProjectCodeTypeFieldType>(); fields.add(ProjectCodeTypeFieldType.OBJECT_ID); fields.add(ProjectCodeTypeFieldType.NAME); fields.add(ProjectCodeTypeFieldType.IS_SECURE_CODE); List<ProjectCodeType> projCodeTypes = servicePort.readProjectCodeTypes(fields, null, null); }

24

P6 Web Services Overview


Sample SOAP Request Message

25

P6 Web Services Overview


Sample SOAP Response Message

26

Sample Code
Create Audit Log Using Event Messages and P6 Web Services

Process ResourceAssignmentCreated event


Use P6 Web Services to retrieve additional information about the new Resource Assignment such as Create User, Create Date, Resource Id, Resource Name and Activity Name Log events to a file

27

Sample Code
Use Event Notification to Trigger a Change to an Activity

Process a ActivityCreated event


Use P6 Web Services to retrieve additional information about the new Activity such as Create User, Create Date and Project Id Log events to a file Use P6 Web Services to add a Code to the new Activity

28

Sample Code
Use Event Notification to Trigger a Special Operation

Process a ScheduleInvoked event


If Schedule job successfully completed then use P6 Web Services to Summarize the Project

29

Resources
The Java EE 6 Tutorial http://download.oracle.com/javaee/6/tutorial/doc/index.ht ml Chapter 30 The Java Message Service Concepts Knowledge Base article Master Note For Primavera Web Services Installation And Common Technical Or Application Issues (Doc ID 1147896.1) Knowledge Base article Overview of event notification in P6 version 7 (Doc ID 914141.1) Knowledge Base article How To Enable Event Notification In P6 version 7.0 (P6 v7) (Doc ID 914008.1)
30

Resources Knowledge Base article Event Notification Sample Code (Doc ID 1288173.1) the sample code used in this demo

31

Oracle Proactive Support Delivers


Meeting the capabilities required by CIOs
Desired Capability* Proactive Automated Health Checks /Alerts Automated Patch Management & Provisioning My Oracle Support Feature
Security & Product Alerts Health Checks & Risk Analysis for Oracle Sun systems Automated Service Requests Patch Advice & Recommendations Patch Planning

Embedded & Automated Configuration Management


Online Knowledge Management

System configurations linked to Service Requests and Alerts Configuration History & Compare
My Oracle Support Knowledge Base: over 900,000 articles

Collaborative Online Communities

My Oracle Support Communities: 185+ communities, 230,000+ members

* IDG Research Services "The Future of IT Services and Support. Base: 308 Total; 100 U.S..; 100 EMEA; 100 APAC Jan. 2010.

32

Other Great Support Sessions this week at Collab11


MONDAY Upgrading to Oracle Database 11g Release 2 Mon @ 10:30 TUESDAY Early SUN Support and Patching Strategies Tues @ 8:00 TUESDAY Later Meet your Support Engineers: Come meet the faces behind the SR;s Tues @ 3:15

Wednesday Early
Using P6 Event Notification Messaging with Web Services in Primavera Wed @ 8:00

Wednesday Later
E-Business Suite Best Practices for Patching & Maintaining Release 12 Wed @ 1:00

Proactive Support Best Practices (A.K.A. How to Get Proactive) Mon @ 2:30

Supporting Oracle product data hub: Master Data Management (PIM) Tue @ 9:15

Hyperion Support and Best Practices Tue @ 3:15

JDE Upgrade or Best Practices Wed @ 9:15

Leveraging Oracle Technology within your Contract Management Environment Wed @ 2:15

Best Practices of PeopleSoft Enterprise HCM 9.1 Mon @ 9:15

Best Practices for Supporting and Upgrading Siebel CRM Tues @ 12:30

Working Effectively with Primavera Support Wed @ 3:15

Concepts and Best Practices for the Risk Register in Primavera Risk Analysis Wed @ 9:15a,

PeopleSoft Upgrade and Best Practices Wed @ 2:15

Best Way to set up Board Integration-PS/HR Mon @ 1:15

Troubleshooting Recruiting Solutions Integration Issues PS/HR Mon @ 10:30

Exadata Support and Best Practices Tues @ 4:30

Middleware Upgrade or Best Practices Wed @ 10:30

Oracle E-Business Suite Diagnostics & Health Checks Wed @ 4:30

33

Potrebbero piacerti anche