Sei sulla pagina 1di 33

Top 10 Ways To Integrate With Oracle ECM

Brian Bex Huff Chief Software Architect

Agenda
ECM integration basics
Whats involved, why its useful

The Top 10 ways to integrate


Out-of-the-box tools Frameworks Web services

Some honorable mentions


Less common, but still important!

Recommendations

Integration Basics
UCM is a service-oriented architecture
Easy to consume services from remote applications Easy to customize services for your needs

Integrations come in several forms


Pre-built integrations Just install, and configure. Framework integrations Lets you easily create content-rich applications and interfaces Web-service integrations Direct APIs for the most options and power. Customizations to the applications Integrate the back-end with your systems.

The Top Ten

1. Secure Enterprise Search 2. SOAP 3. Content Integration Suite (CIS/CPS) 4. Open WCM 5. JCR Adapter and WebCenter 6. AJAX / Mashups 7. AquaLogic Ensemble (WebCenter Services) 8. Records Management Adapters 9. BPEL Workflows 10. Custom components and security integrations
4

Secure Enterprise Search


Enables you to search across multiple systems
Content Manage Systems: Stellent, Documentum, FileNet Legacy system: shared file systems, web sites, Lotus Notes Enterprise Applications: Siebel Generic database table search

Multiple security options


Global security policy, application specific policy Can oranize results differently based on user context Department, location, language, etc.

Easy to set up
Multiple connectors, generic spiders, plus integration API

Secure Enterprise Search screen


Login to enable secure access to any application you are authorized to see.

Browse content hierarchy from your search results. Filter results by topics or metadata values such as record type, author, or other criteria.

See search term highlighted in context in your hit results.

Sort results by relevance, date or other criteria.

Find information wherever it lives in your organization.

SOAP
Open XML-based protocol for application integration
Typically over the web (HTTP), or in messages Fundamental part of Microsofts .NET framework Toolkits exist for almost every language and platform

Built into Content Server


SOAP support built into Content Server (7.5 and above) WSDLGenerator component bundled with Content Server (10gR3 and above); separate extra for 7.5.x Add IsSoap=1 to any content server URL

Web Services Description Language (WSDL)


Helps SOAP toolkits parse XML into easy to use objects One object to execute the service Binds the XML request and response into data objects

SOAP Benefits
All UCM services available through SOAP
Can create XML request manually, or use WSDL 7.5.x and later pass IsSoap=1 into any URL or request to get back SOAP

All the benefits of XML and HTTP


Simple, extensible, used almost everywhere Most developers comfortable with the technology

Toolkits available for nearly every language


Java, C, C++, C# Python, Perl, PHP, Ruby JavaScript, Flash, Flex

SOAP Challenges
All the drawbacks of XML and HTTP
Stateless requests both good and bad Standard security challenges with HTTP Verbosity presents performance challenges

SOAP (and WSDL) considered needlessly complex


Some prefer ReST-based approach UCM is mostly, but not entirely, ReST-ful

SOAP with ReST-like simplicity


Use the IsSoap=1 flag Use the URL Mapping feature built-in to 10gr3

SOAP vs. ReST


Fewer tools available for security, auto configuration, etc.
No WSDLs Although it usually is simple enough to not need these tools

HTTP is kind of broken: sometimes it needs help


Messaging, polling, encoding, quality of service. HTTP not good for all use cases.

Difficult to separate the good ideas from ReST dogma

10

Content Integration Suite (CIS/CPS)


Standards compliant JEE application for UCM
Client connector, plus service cache

Supported on all major Java app servers


Oracle App Server, Websphere, WebLogic, JBoss, Tomcat Plain Old Java Objects

Complete coverage of UCM API


Common services available as objects-oriented API Can execute any UCM service Can also interface with IPM

11

CIS/CPS Continued
CIS allows Java apps to communicate with UCM
CIS server connects to Content Server CIS client is used in your app to connect to CIS server CIS server caches results for faster performance in peak hours Server supports multiple interfaces: JMS, JCA, EJB, RMI

Content Portal Suite (CPS) for J2EE Portal Server


Uses CIS to connect to UCM Contains sample portlets for interacting with UCM Search, Library, Contribution, Workflow, Admin Federated Search (Combined search over I/BPM and UCM)

12

Open Web Content Management


Distributed model for web content management Manage web content in containers outside the repository
Display images, text, converted Word docs

Alter content in-context with the application!


Standard Site Studio contributor editor Launch in remote portal or web app Uses standard workflows, conversion, subscription, etc.

Change it in one portal, see it change in them all!

13

Open WCM Architecture

14

Java Content Repository (JCR) Adapter


Java Content Repository
Java standard for content management Formerly known as JSR170 and JSR283

Oracles JCR adapter connects to UCM through CIS


Achieves Level 1 compliance with JCR

Easy integration with WebCenter ADF components


Create a JCR Data Control Bind to ADF Tables and Trees Show thumbnails, content, and limited metadatas

15

JCR Adapter Limitations


Only works with Java
Cannot connect to SharePoint with JCR connectors

Less powerful than SOAP or CIS alone


Very limited feature set Gives an awkward view of the content repository

Limited ECM vendor adoption; not a popular standard IBM, EMC, and Microsoft have dropped it in favor of CMIS
Oracle and others will likely follow suit

16

Asynchronous JavaScript and XML (AJAX)


Several AJAX options Use semi-ReSTful SOAP interface
Put IsSoap=1 into any URL to get SOAP formatted response

Create a read-only SOAP request in JavaScript


Search, content info, workflow info, etc.

Use Schema APIs to download option lists


Lists of content metadata Run queries, cache results in JavaScript files Mash-up data with other JavaScript accessible resources

17

Aqua Logic Ensemble


The problem: application proliferation
Dozens of web applications, many done outside IT control. Portals, web applications, Java, .NET, PHP, Ruby on Rails IT forced to support whatever becomes business critical.

Management nightmare!
Impossible to find the application you need. Inconsistent security policies.

How to solve this?


Force everybody to agree to one single framework / language? Or, mash-up the applications into one interface?

18

Ensemble Architecture

Ensemble Server
JSP Mashup Ensemble Mashup Pagelet .NET Mashup Pagelet Pagelet .NET App JSP App

PHP Mashup

PHP App

19

Ensemble And UCM


Treat UCM like every other web applications Create pagelet of the screen you want
Site Studio page Workflow queue Dynamically converted content Images, digital assets, folios

Embed UCM Pagelet anywhere in your enterprise

Embed other Pagelets inside a Site Studio web page

20

Universal Records Management Adapters


Life cycle management is critical for all organizations
Retain content for specific time, according to rules and regulations Destroy content once it is no longer relevant, or useful Reduce storage cost, and legal risk

One gigabyte of data:


$0.25 of hardware, $60 / year to maintain, $2500 for a lawyer to review

Where is your business critical content???


No matter what, its not all in your UCM system. Email archives, SharePoint, file systems

URM Adapters manage life cycle no matter where it is


Custom connectors, generic adapters
21

URM Architecture

Oracle Universal Records Management

Discovery Services

Central Policy Management


Records Manager Physical Notification Records Services Manager Adapter Adapter Services Services

Adapter Adapter: Oracle Oracle UCM UCM

Adapter Adapter: Oracle Oracle I I/ / PM PM

Adapter Adapter: File File Servers Servers

Adapter Adapter: Adapter: Microsoft Symantec Sharepoint Vault

Adapter: Generic

22

BPEL Workflows
Business Process Execution Language (BPEL)
Workflow language for tying systems together Some human workflow capabilities (BPEL4People)

Graphically design your workflows


Pass content from content server to enterprise apps Process through external workflow Check-in content, update metadata, others?

Tie together processes with SOAP


Workflow events trigger a web service Workflow approve, search, check-in, update Makes application integrations simple!

23

BPEL Diagram

24

Custom Components and Security


All of UCM is a service oriened architecture Use Component Architecture to add/modify services
Anything you can do in Java, you can do here Used mostly to add new life-cycles to content items Also used to quickly modify existing interface

Execute code when specific Filter Events occur


When the server starts-up When an item enters workflow, is checked-in, or deleted Add custom code to a service, or override standard behavior

25

Honorable Mentions
Content Management Interoperability Services (CMIS)
Emerging specification that will replace JSR170 Only at version 0.5, but has significant potential

Oracle Real-Time Decisions


Uses analytics to determine what content people might want Next-best activity Great idea, but no productized integration yet

26

Honorable Mentions (continued)


Information Rights Management Oracle Document Capture Oracle Universal Online Archive Siebel Files replacement ActiveX controls for Windows applications Command-line utilities for administrators

27

Which Should You Use?


Are you integrating a Java front-end?

CIS or CPS is probably what you want Use from Spring, ADF, or Web Center frameworks SOAP with WSDLs a good second choice

Are you integrating a non-Java front end?


SOAP with WSDLs is the best choice

Are you writing a desktop application?

SOAP a good choice for behind-the-scenes integration

28

Which Should You Use?


Are you integrating with a remote repository?
BPEL Workflows sometimes the easiest way Direct SOAP or CIS a good second choice Sometimes need custom Java component Connect with standard Java libraries from your code JDBC, LDAP, IMAP, SOAP, RSS If you need compliance or Records Management, use Agents Generic .NET and Java agents have 80% functionality you need

Do you want to execute code when specific events occur?


Example: on startup, when content is checked-in or deleted Need Java component: Filter or chained Service Handler Hundreds of filter events and services available for customization

29

Important Resources
Books:
The Definitive Guide To Stellent Content Server Development http://www.amazon.com/dp/1590596846

Standard Stellent documentation:


Content Integration Suite / JCR UCPM API Developers Guide, Content Server JCR Repository Adapter Java Components Working With Components SOAP Using WSDL Generator and SOAP Content Server JCR Repository Adapter

30

More Important Resources


Transforming Infoglut!
A Pragmatic Strategy for Oracle Enterprise Content Management.

Bex Huff and Andy


MacMillan

Available on Amazon in
January 2009

31

Special Thanks
Independent Oracle User Group
http://ioug.org For inviting me to talk here

Chris Bucchere
chris@thebdgway.com For helping me with the Ensemble demo

32

Questions?
My Company: http://bezzotech.com My Blog: http://bexhuff.com My Self: bex@bezzotech.com

33

Potrebbero piacerti anche