primavera integration possibilities technical overview - oracle primavera collaborate 14

46
Primavera Integration Possibilities: A Technical Overview Pete Angstadt Principal Applied Technologist Primavera Global Business Unit April 2014

Upload: p6academy

Post on 15-Aug-2015

79 views

Category:

Business


2 download

TRANSCRIPT

Page 1: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Primavera Integration Possibilities: A Technical Overview

Pete Angstadt

Principal Applied Technologist

Primavera Global Business Unit

April 2014

Page 2: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

© 2014 Oracle Corporation

The following information is intended to outline our general

product direction.

It is intended for information purposes only, and may not be

incorporated into any contract. It is not a commitment to

deliver any material, code, or functionality, and should not be

relied upon in making purchasing decisions.

The development, release, and timing of any features or

functionality described for Oracle’s products remains at the

sole discretion of Oracle.

Page 3: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Oracle Primavera Architecture

100% Web-Based

Scale to any size deployment

Based on open industry standards

Web Server

SQL

DB

EAI

Application Server

UI

Layer

Data Layer

SSL

SSL

Bus Logic Layer

Web

Services

Web Browser and

Web Services Clients

Page 4: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Integration

Page 5: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Why Integrate Your Systems?

Problems:

•Silos of information

•Inefficient processes

•Limited collaboration

•Lack of visibility

By integrating you can leverage the strengths of individual applications

Primavera

Other System

Page 6: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Build vs. Buy

Leverage a pre-built Oracle solution

Leverage a partner solution

Extend an existing solution

Build it yourself

Build it with consulting help

Page 7: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Some Pre-Built Integrations Available with Primavera

Oracle EBS

Oracle PeopleSoft

SAP

JD Edwards

Microsoft

Oracle Business Intelligence

Web Center

AutoVue

SSO and LDAP products

And more…

Page 8: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Why Build or Extend Your Solution?

•Maybe the integration doesn’t exist

E.g., integration to a legacy system

•Benefits outweigh the cost

•Required skill sets available

Page 9: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Categories of Integration

Data Integration

Business Process (or, Business Logic) Integration

User Interface Integration

Security Integration

Page 10: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Integration

Architecture

Page 11: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Point-to-Point

Simple

Fast and efficient

Quick to implement

But tightly coupled (Oh, no!)

My App

Other

App

Page 12: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Point-to-Point

•Complexity increases rapidly

with added nodes

n * (n – 1) / 2 connections!

•High maintenance costs

•Lack of flexibility

My App

Other

App

Other

App

Other

App

Page 13: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Integrations Can Be Messy!

Page 14: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Hub and Spoke

•Simpler model for more

connections

•Source and target apps often still

need some knowledge of each

other

•Process hub can get complex

•Generally doesn’t scale well

My App

Other

App

Other

App

Other

App

Process

Hub

Other

App

Other

App

Page 15: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Service Oriented Architecture (SOA)

•Loosely coupled discrete modules

•Messaging, not procedure calls

•Usually involves an ESB, SCA,

BPMN and/or BPEL

•Applications can be added:

•Near-linear scalability

•Near-linear cost impact

My App

Other

App

Other

App

Page 16: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Primavera and Integration Architecture

Big Idea:

Primavera’s Web Services and APIs are compatible with

any integration architecture.

This includes P6, Unifier, OPPM, Contract Management, etc.

Page 17: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Interfaces

and

Technologies

Page 18: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Three Layers of Integration

Web Server

SQL

DB

EAI

Application Server

UI

Layer

Data Layer

SSL

SSL

Bus Logic Layer

Web

Services

Web Browser Clients

Page 19: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Three Layers of Integration

Web Server

SQL

DB Data

Integration

SQL SQL and ETL

EAI

Application Server

UI

Layer

Data Layer

SSL

SSL

Bus Logic Layer

Web

Services

Web Browser Clients

Page 20: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Three Layers of Integration

Web Server

SQL

DB

SOAP / XML

Web Services

XML Events

Java and XML APIs

Data

Integration

Business Process

and Data

Integration

SQL SQL and ETL

3rd Party

Application

EAI

Application Server

UI

Layer

Data Layer

SSL

SSL

Bus Logic Layer

Web

Services

Web Browser Clients

Page 21: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Three Layers of Integration

Web Server

SQL

DB

SOAP / XML

Web Services

XML Events

Java and XML APIs

Data

Integration

Business Process

and Data

Integration

UI

Integration

SQL

HTML / XML

SQL and ETL

Custom Portlets

3rd Party

Application

3rd Party

Application

EAI

Application Server

UI

Layer

Data Layer

SSL

SSL

Bus Logic Layer

Web

Services

Web Browser Clients

Page 22: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Primavera as Service Provider

Publish Primavera

WSDL

3rd Party Web Application External App

Consumes

Web Services

HTTP/SOAP

DB

EAI

Application Server

UI

Layer

Data Layer

Bus Logic Layer

Web

Services

• WSDL describes services

and operations

• Interoperable

• WS-I Basic Profile

compliant

• Can “auto-generate” client

side code

Page 23: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

> 100 Services

Page 24: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

> 400 Operations

Page 25: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Coarse-Grained

vs.

Fine-Grained

Page 26: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Business Process Services

•Jobs

•Schedule project

•Summarize project

•Level resources

•Apply actuals

•Store period performance

•Spreads

•Import and Export

Page 27: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Entity Services

Each corresponds to a business object type (WBS, Activity, etc.)

Standard operations:

Create

Read

Update

Delete

Page 28: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Entity Services – Standard Operations

Create and Update operations

•Most fields are optional

•Read-only fields are ignored

Read operations

•Specify fields to read

•Filter may be specified

Delete operations

•Specific records

Page 29: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Special Operations

And many more…

•Copy project •Read calculated UDFs

•Convert project to baseline •Restore baseline

•Calculate project score •Update user baselines

•Lock / unlock project •Create project from template

•Publish project •Copy WBS from template

Page 30: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

A Consistent Interface

Consistent naming:

•User Interface

•Web Services / API

•Reporting view

Example:

•Activity’s “actual duration” in P6 Web’s user interface

•Activity service’s “ActualDuration” field

•ACTIVITY table’s “ACTUALDURATION” column

Page 31: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

More Supported Standards

WS-Security

•UsernameToken Profile

•SAML Token Profile

WS-Addressing

WS-Policy

MTOM

Page 32: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Unifier Web Services

Service endpoint:

https://<host>:<port>/ws/un/services/UnifierWebServices

Common operations for business processes:

Operation Description

createBPRecord Create new BP record

getBPRecord Gets specific BP record

getCompleteBPRecord Gets complete BP record, including attachments

getBPList Gets all BP records. Can filter results if needed

getUDRData Gets XML data from UDR output

updateBPRecord Updates BP record

updateCompleteBPRecord Updates BP record and can add attachments

Note: Deletion of BP records is handled via update

Page 33: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

XML Payload

Payload for business processes is passed within a wrapper:

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">

<soapenv:Body>

<ns1:getBPListResponse xmlns:ns1="http://general.service.webservices.skire.com">

<ns1:return ns1:type="com.skire.webservices.util.xml.XMLObject">

<ax21:statusCode xmlns:ax21="http://xml.util.webservices.skire.com/xsd">200</ax21:statusCode>

<ax21:xmlcontents xmlns:ax21="http://xml.util.webservices.skire.com/xsd">

<![CDATA[<List_Wrapper>

<_bp>

<GIS_Link></GIS_Link>

<record_no>LP-0000001</record_no>

<Resp_Mgr>Fred Smith</Resp_Mgr>

</_bp>

<_bp>

<GIS_Link>http://tinyurl.com/bq9vfob Parcel Map</GIS_Link>

<record_no>LP-0000002</record_no>

<Resp_Mgr>Jim Owen</Resp_Mgr>

</_bp>

</List_Wrapper>]]>

</ax21:xmlcontents>

</ns1:return>

</ns1:getBPListResponse>

</soapenv:Body>

</soapenv:Envelope>

Page 34: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Events

and

Notifications

Page 35: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Primavera Eventing Framework

Send XML messages

JMS 1.1 – Compliant

Message Queue

or

Enterprise

Service Bus

DB

EAI

Application Server

UI

Layer

Data Layer

Bus Logic Layer

Web

Services

•Powerful possibilities

•Notifications

•Workflows

•Custom Business Processes

•Actions in system result in XML

messages

•Uses JMS

Page 36: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Event Administration

Administrator controlled

Enable as needed:

•Entity events

•Special operation events

Page 37: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

> 100 Events

Page 38: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Direct Database Integration - Caution

Primavera DB Other System

It is recommended to use Primavera Web Services for integration.

However, additional database-level integration is technically possible

when Primavera is deployed on-premise.

Care should be taken to not adversely affect performance,

scalability, or functionality when making any database change.

Page 39: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Database Triggers

Database Triggers are procedures stored in the database that get executed when a table is modified (insert, update, delete)

Design Best Practices

•The trigger should only do what is likely to succeed

•Communication should be asynchronous

Possible Uses of Triggers

•Copy record or specific changes to another non-production table

•Leverage Oracle Advanced Queuing (AQ)

•Enqueue a message or call stored procedure to do the same

•Payload can be XML, string, record, etc.

Page 40: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Business Process

Management

Page 41: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Oracle Fusion Middleware

• Complete

• Best-in-Class

• Integrated

• Open Development

Tools

Cloud Application

Foundation

Enterprise

Management

Web Social Mobile

User Engagement

Identity Management & Security

Business Process

Management

Content

Management

Business

Intelligence

Service Integration Data Integration

Page 42: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Business Process Management (BPM)

Leverages Oracle’s BPM Suite

From within Primavera:

•Initiate business processes

•Participate in business processes

•Monitor process status

Page 43: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14

Complete and Unified

Page 44: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14
Page 45: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14
Page 46: Primavera integration possibilities Technical overview - Oracle Primavera Collaborate 14