Transcript
Page 1: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

Top 10 Ways To Integrate WithOracle ECM

Brian “Bex” HuffChief Software Architect

Page 2: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

2

Agenda

ECM integration basics• What’s 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

Page 3: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

3

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.

Page 4: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

4

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

Page 5: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

5

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

Page 6: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

6

Secure Enterprise Search screen

Find information wherever it lives in your organization.

Browse content hierarchy from your search results.

Sort results by relevance, date or other criteria.

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

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.

Page 7: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

7

SOAP

Open XML-based protocol for application integration• Typically over the web (HTTP), or in messages• Fundamental part of Microsoft’s .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

Page 8: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

8

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

Page 9: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

9

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

Page 10: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

10

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

Page 11: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

11

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

Page 12: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

12

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)

Page 13: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

13

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!

Page 14: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

14

Open WCM Architecture

Page 15: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

15

Java Content Repository (JCR) Adapter

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

Oracle’s 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

Page 16: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

16

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

Page 17: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

17

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

Page 18: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

18

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?

Page 19: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

19

Ensemble Architecture

Ensemble Mashup

Ensemble Mashup

Ensemble Server

Pagelet

Pagelet

PHP AppPHP App

.NET App.NET App

JSP MashupJSP Mashup JSP AppJSP App

Pagelet

PHP MashupPHP Mashup

.NET Mashup.NET Mashup

Page 20: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

20

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

Page 21: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

21

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

Page 22: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

22

URM Architecture

OracleUniversal RecordsManagement

Discovery Services

Central Policy Management

OracleUCM

Adapter

OracleI / PM

Adapter

FileServers

Adapter Adapter

AdapterServices

Adapter:Oracle UCM

Adapter:Oracle I / PM

Adapter:File

Servers

Adapter:Microsoft

Sharepoint

Adapter:Symantec

Vault

Adapter:

Generic

AdapterServices

NotificationServices

PhysicalRecordsManager

RecordsManager

Page 23: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

23

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!

Page 24: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

24

BPEL Diagram

Page 25: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

25

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

Page 26: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

26

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

Page 27: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

27

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

Page 28: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

28

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

Page 29: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

29

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

Page 30: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

30

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 Developer’s Guide, Content Server JCR Repository Adapter

• Java Components• Working With Components

• SOAP – Using WSDL Generator and SOAP• Content Server JCR Repository Adapter

Page 31: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

31

More Important Resources…

Transforming Infoglut!• A Pragmatic Strategy for

Oracle Enterprise Content Management.

Bex Huff and Andy MacMillan

Available on Amazon in January 2009

Page 32: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

32

Special Thanks…

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

Chris Bucchere• [email protected]• For helping me with the Ensemble demo

Page 33: Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)

33

My Company: http://bezzotech.com

My Blog: http://bexhuff.com

My Self: [email protected]

Questions?


Top Related