oim connector for webservices -...

32
<Insert Picture Here> Oracle Internal Use Only Oracle Proprietary and Confidential © 2011 OIM Connector For Webservices Atul Goyal Principal Product Manager May, 2013

Upload: lyhuong

Post on 17-Feb-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

<Insert Picture Here>

Oracle Internal Use OnlyOracle Proprietary and Confidential © 2011

OIM Connector For Webservices

Atul Goyal

Principal Product Manager

May, 2013

The following 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.

Oracle Proprietary and Confidential © 2011 Page 2Oracle Internal Use Only

relied upon in making purchasing decisions.

The development, release, and timing of any

features or functionality described for Oracle’s

products remain at the sole discretion of Oracle.

Agenda

• Business Drivers

• Architecture and Design

• Connector’s Features

Oracle Proprietary and Confidential © 2011 Page 3Oracle Internal Use Only

• Assets and Roadmap

• Q and A

Business Drivers

• Need for Cloud Connectors

• Salesforce.com, Workday, Amazon WS, Box.net etc.

• Vertical Specific Integration• Healthcare integrations using HL7

• Telco standards

Oracle Proprietary and Confidential © 2011 Page 4Oracle Internal Use Only

• Demand for Integrating with Custom In-house Webservice

Targets

• Support for SPML Targets to replace GTC SPML

Webservice ConnectorArchitecture - SOA Suite Based Integration

Oracle Proprietary and Confidential © 2011 Page 5Oracle Internal Use Only

Oracle Identity Manager

OIM WS Connector

SOA Composite

Target Webservice

• Loosely Coupled Integration between OIM and SOA – Webservice Based

• Support for Remote SOA

• SOA version is not important

• SOA Suite based Integration approach can let customer also

use the following features

• WS-Security

• WS-Reliable Messaging

• Mediator (filter, transform, validate)

• Rich Function library (BPEL)

Webservice ConnectorArchitecture - Advantages of SOA

Oracle Proprietary and Confidential © 2011 Page 6Oracle Internal Use Only

• Rich Function library (BPEL)

• Non-coding Customizations (Business rules)

• Infrastructure (Notification)

• Governance

• SOA Governance

• EM Based Diagnostics

• No need for customers to buy any additional SOA License

for this connector

• Framework can be later extended to also consume

[Most of them make sense for Remote SOA]

• Leverage Integration to Apps to which we have SOA

Webservice ConnectorArchitecture - Advantages of SOA

Oracle Proprietary and Confidential © 2011 Page 7Oracle Internal Use Only

• Leverage Integration to Apps to which we have SOA

Adapters (JMS, Socket)

• OSB

Webservice ConnectorLow Level Design

Oracle Proprietary and Confidential © 2011 Page 8Oracle Internal Use Only

• Support for all ICF Contracts

• Support for Any Schema

• Use of Mediator (filter, transform, validate)

• Use of Rich BPEL Function library

• Support for WS Security

• Special Password Handling

• Support for Custom Headers

• Support for Error Handling

Webservice ConnectorLow Level Design

SOA Composite

Create/update/search Op

Assign/Transform

Invoke

Receive

Exposed

Services WS End Point

for SOA

WSDL

Input Variable

Output Variable

OIM

WS

Connector

Bundle

WSConnector

Client

Target

W

E

B

S

E

R

V

I

WS SecurityWS Security

Oracle Proprietary and Confidential © 2011 Page 9Oracle Internal Use Only

BPEL Process

Reply

WSDL

WSDL

I CF

I

C

E

S

Transform

Security

• SSL

• WS Security / CSF Key

• Password Encryption

Security

• SSL

• WS Security / CSF Key

• Custom Header

• Run Time Password Decryption

Webservice Connector Configuration Steps

Oracle Proprietary and Confidential © 2011 Page 10Oracle Internal Use Only

Webservice Connector Build Connector

• Download from OTN

• Generate the Connector

• OIM Metadata

• Connector Bundle

• Skeleton Composite

Oracle Proprietary and Confidential © 2011 Page 11Oracle Internal Use Only

Webservice Connector Understand OIM Payload and Target Services

• Understand OIM – SOA Integration

• Operations Exposed

• OIM XSD – Input/output Payload

• OIM/SOA Security

• Define Target Services

Oracle Proprietary and Confidential © 2011 Page 12Oracle Internal Use Only

• Define Target Services

• Define Partner Links

• Import WSDLs into Partner Link

• Configure Target WSSecurity

Webservice Connector Understand OIM Payload and Target Services

• Examine Target WSDL and Schema/XSD

• URL and Ports

• User Operational Interfaces and Input / Output Payload

• Entitlements and Interfaces

• Password Interfaces

• Error Messages and Exception Throwing Mechanism

• Target Security Requirements

Oracle Proprietary and Confidential © 2011 Page 13Oracle Internal Use Only

• Target Security Requirements

• SSL

• WS Security

• Custom Header

Webservice Connector Deploy/Configure/Extend Connector in OIM

• Install Connector

• Configure IT Resource

• Configure Target SOA

• Configure OIM – SOA Security Layer

• WS Security

• SSL

• Extend Metadata

Oracle Proprietary and Confidential © 2011 Page 14Oracle Internal Use Only

• Extend Metadata

• Custom Attributes

• Provisioning Lookup, Recon Lookup, Process From, Process

Definition

• Custom Child From

• Provisioning Lookup, Recon Lookup, Child From, Process

Definition

• Custom Lookups / Custom Schedule Tasks

Webservice Connector Configure Composite – Define Operations

Create User

• Go to Composite in Jdeveloper

• Open BPEL Process

• Open Create Branch and Add following activities

• Assign Activity – Map OIM Input Payload to Target Input Payload

• Invoke - Invoke Target Service

Oracle Proprietary and Confidential © 2011 Page 15Oracle Internal Use Only

• Invoke - Invoke Target Service

• Assign Activity – Map Target Output Payload to OIM Output Payload

• Reply – Response code UID

Webservice Connector Configure Composite – Define Operations

Update User

• Open Update Branch and Add following activities

• Assign Activity – Map OIM Input Payload to Target Input Payload

• Target Requires Complete User XML– We need to use choose

condition to map each input attribute to map to appropriate target

input attribute.

• Target Requires Updated Attribute Name and Value

Oracle Proprietary and Confidential © 2011 Page 16Oracle Internal Use Only

• Target Requires Updated Attribute Name and Value

• Invoke - Invoke Target Service

• Assign Activity – Map Target Output Payload to OIM Output Payload

• Reply – Response code UID

Webservice Connector Configure Composite – Define Operations

Enable/Disable User

• Status comes as part of Update Payload only.

• If Enable/Disable is treated as one of the attribute in target and it can be

set via updateUser operation then no extra work needed.

• If Enable/Disable Operation is Configured as a separate Webservice

than Update Webservice at target then do the following:

• Open Update Branch and Add following activities

Oracle Proprietary and Confidential © 2011 Page 17Oracle Internal Use Only

• Open Update Branch and Add following activities

• Switch

• Using XPATH find out if the Update Operation comes with

Status Attribute Change

• Invoke - Invoke Target Service

• Reply – Response code UID

Webservice Connector Configure Composite – Define Operations

Delete User

• Open DeleteOp Branch and Add following activities

• Assign Activity – Map OIM Input Payload to Target Input Payload

• Invoke - Invoke Target Service

• Reply – Response code None

Oracle Proprietary and Confidential © 2011 Page 18Oracle Internal Use Only

• Reply – Response code None

Webservice Connector Special Password Handling

• Fields that are sensitive will be encrypted by OIM and this encrypted value

will be sent to the SOA composite.

• The “passcode” attribute in the IT Resource of the connector will be used

as a key for encrypting the value

• In the composite, the custom OUTBOUND_POLICY which will handle

password decryption will be attached to the target partner link

Oracle Proprietary and Confidential © 2011 Page 19Oracle Internal Use Only

• The passcode, password fields and target namespaces will be specified in

the composite which the policy will make use of to decrypt the password

fields

• In runtime, the policy will decrypt the password field using the passcode

and replace in the target SOAP payload before invoking the target

Webservice operation

• Only the masked password will be shown in the EM and payloads.

Webservice Connector Configure Composite – Define Operations

Password Reset

• Define “passcode” attribute in OIM

• Import Custom Policy

• Deploy custom policy jar (GenericWS-oim-integration.jar)

• Configuring Custom Policy using Property Inspector Palate

Oracle Proprietary and Confidential © 2011 Page 20Oracle Internal Use Only

• Configuring Custom Policy using Property Inspector Palate

• Open passwordReset Branch and Add following activities

• Assign Activity - Map OIM Input Payload to Target Input Payload

• Invoke - Invoke Target Service

• Reply - Response code UID

Webservice Connector Configure Composite – Define Operations

Child From - Add

• Define OIM Metadata – Already Done

• Open UpdateAddAttributeValue Branch and Add following activities

• Switch

• Define Each Child From as a separate branch using Switch

activity and XPatch condition Assign Activity

Oracle Proprietary and Confidential © 2011 Page 21Oracle Internal Use Only

• Invoke

• Reply

Webservice Connector Configure Composite – Define Operations

Child From - Delete

• Define OIM Metadata – Already Done

• Open UpdateRemoveAttributeValue Branch and Add following activities

• Switch

• Define Each Child From as a separate branch using Switch

activity and XPatch condition

Oracle Proprietary and Confidential © 2011 Page 22Oracle Internal Use Only

• Assign Activity - Map OIM Input Payload to Target Input Payload

• Invoke - Invoke Target Service

• Reply - Response code UID

Webservice Connector Configure Composite – Define Operations

Lookup Search/ Lookup Recon

• Define OIM Metadata – Already Done

• Open lookupSearch Branch and Add following activities

• Switch

• Define Each Lookup Object as a separate branch using Switch

activity and XPatch condition

Oracle Proprietary and Confidential © 2011 Page 23Oracle Internal Use Only

• Invoke - Invoke Target Service

• Transform output into OIM Readable Format

• Reply - Response List Of Name-Value Pairs

Webservice Connector Configure Composite – Define Operations

User Search/User Recon

• Open search Branch and Add following activities

• Assign - Map OIM Input Payload to Target Input Payload

• Invoke - Invoke Target Service

• Transform output into OIM Readable Format

• Map Output data into OIM Schema

Oracle Proprietary and Confidential © 2011 Page 24Oracle Internal Use Only

• Map Output data into OIM Schema

• Reply - Response List Of Users

Webservice Connector Configure Composite – Error Handling

Scenario1: Target service catches exception at its end and return errors back to Composite

At Composite Level –

• Map Target Error Code to OOB Exception

• Throw it back to OIM

Oracle Proprietary and Confidential © 2011 Page 25Oracle Internal Use Only

Scenario2: Target service does not catch exception at its end and throws exceptions back to Composite

At Composite Level –

• Catch Exception

• Map Target Error Code to OOB Exception

• Throw it back to OIM

Webservice Connector Deploy and Test

• Deploy and Test Composite via EM

• Test End to End Operations from OIM

Oracle Proprietary and Confidential © 2011 Page 26Oracle Internal Use Only

Webservice Connector Assets and Roadmap

• Current Assets

• 3 Viewlets on OLL

• 2 Labs on OTN

• Planned Assets

• Sample Solution Toolkit

CRM OD

Oracle Proprietary and Confidential © 2011 Page 27Oracle Internal Use Only

• CRM OD

• OW SPML

• OpenSPML

• Future Updates

• Support for Async Service

• Support for REST

• Support for Multiple Attributes in Child Form

Webservice Connector FAQs

• Dedicated Connector for Salesforce.com

• Logistical challenges. We are evaluating partner options. But you can

build it using Webservice Connector.

• Dedicated Connector for Workday

• No Plans to build it for now.

• Support for Async Targets

• Not supported in the current releases

• Support for REST Based Targets

Oracle Proprietary and Confidential © 2011 Page 28Oracle Internal Use Only

• Support for REST Based Targets

• SOA does not support REST in 11g

• Clarification around Local SOA vs. Remote SOA

• Both are supported

• Clarification around using SOA Adapters - OSB, JMS Integration

• SOA Adapters can be used in Remote SOA. OIM SOA has limited usage

license

• GTC SPML vs. WS Connector

• Use WS Connector moving forward instead of GTC SPML

• No Upgrade support from GTC SPML to WS Connector

Webservice Connector Important URLs

• OTN Download Page

http://www.oracle.com/technetwork/middleware/id-mgmt/downloads/connectors-

101674.html

• Connector Documentation Page

http://docs.oracle.com/cd/E22999_01/index.htm

• Assets Page

http://www.oracle.com/technetwork/middleware/id-mgmt/overview/extending-

webservice-connector-1936919.zip

Oracle Proprietary and Confidential © 2011 Page 29Oracle Internal Use Only

• Viewlets URL

http://apex.oracle.com/pls/apex/f?p=44785:112:0::::P112_CONTENT_ID:7433 -

Oracle Identity Manager: Web Services Connector – Overview

http://apex.oracle.com/pls/apex/f?p=44785:112:0::::P112_CONTENT_ID:7434 -

Oracle Identity Manager: Configuring SOA Composite

http://apex.oracle.com/pls/apex/f?p=44785:112:0::::P112_CONTENT_ID:7435 -

Oracle Identity Governance: End to End integration From Oracle Identity

Manager to a Target Webservice

Webservice Connector Important URLs

• SOA Doc URL

http://fmwdocs.us.oracle.com/doclibs/fmw/E10285_01/dev.1111/e10224/toc.htm

• SOA Samples Page

http://java.net/projects/oraclesoasuite11g/pages/Home

• Webcast Recording

http://retriever.us.oracle.com/apex/f?p=121:2:547657973269184::::P2_FILE_ID:13

8493

Oracle Proprietary and Confidential © 2011 Page 30Oracle Internal Use Only

8493

Q & A

Oracle Proprietary and Confidential © 2011 Page 31Oracle Internal Use Only

Oracle Proprietary and Confidential © 2011 Page 32Oracle Internal Use Only