27
1 Implementation Patterns for Oracle Universal Content Management Brian “Bex” Huff Chief Software Architect

Oracle UCM Implementation Patterns

Embed Size (px)

DESCRIPTION

A collection of common customizations and implementation patters with Oracle UCM

Citation preview

Page 1: Oracle UCM Implementation Patterns

1

Implementation Patterns for Oracle Universal Content Management

Brian “Bex” HuffChief Software Architect

Page 2: Oracle UCM Implementation Patterns

22

Agenda

Intro

Cover common UCM implementation patterns• Usually fall into one of 4 groups

1. Integrating with Technical Architecture

2. Integrating with Organizational Structure

3. Re-Branding UCM Interface

Building Custom Functionality

Page 3: Oracle UCM Implementation Patterns

33

1) Integrating with Technical Architecture

Security Integrations

Storage Model

Content Enhancing Applications

Enterprise Applications

Scanning and Imaging

Page 4: Oracle UCM Implementation Patterns

4

Security Integrations

Content management system manage content, not users!• Users should always be stored in a remote system• “Local” users only for development

LDAP, Active Directory

In 11g, all security is handled by WebLogic• Create connectors to LDAP system• Some issues with Active Directory

4

Page 5: Oracle UCM Implementation Patterns

5

Storage Model

UCM needs a shared infrastructure for file storage• Clusters need to both point to the same resources

Filesystem (default)• Good for small web-centric content

Database / Oracle Secure Files (11g)• Good for business documents with a lot of block-level similarities

Hierarchical Storage Management• Combines fast disk, slow disk, and tapes for cost-effective storage• Sun SAM, with WORM capabilities

And many, many more!• UCM’s FIleStoreProvider can be customized to work with almost anything

5

Page 6: Oracle UCM Implementation Patterns

6

Content “Enhancing” Applications

After creation and capture, the next value-add is “enhancement”

Annotation engines• Mark up documents with notes, redaction, highlighter

Translation• Manage changes to content, and which ones warrant translation

Controlled Thesaurus• Extract metadata, keywords, and fine related content

6

Page 7: Oracle UCM Implementation Patterns

7

Enterprise Applications

E-Business Suite Adapter

Siebel Files Replacement

Peoplesoft Adapter

SOA Suite Connectors

Secure Enterprise Search

Oracle adding more all the time...

7

Page 8: Oracle UCM Implementation Patterns

8

Scanning and Imaging

Imaging and Process Management connectors• Link records in your applications to attachments in UCM• EBusiness Suite, JD Edwards, Peoplesoft• Uses Oracle Application Extension Framework (AXF) to connect

Can also scan directly to UCM• Oracle Document Capture, Kofax Capture Export Connector• Read bar codes, OCR, and speed up content ingestion

8

Page 9: Oracle UCM Implementation Patterns

9

2) Integrating with Organizational Structure

Metadata Model

Document Security Model

Content Profiles

BPM / Workflows

Folders and Desktop Contribution

Site Studio Web Pages

9

Page 10: Oracle UCM Implementation Patterns

10

Metadata Model

Types, audiences, related products, keywords, actions, status

Keep it simple!!!• Don’t try to create the “prefect” taxonomy• You business changes too often• Your users’ needs are too many

A “growable” taxonomy is better than a “complete” taxonomy• Get to know UCM tools for “pruning” and maintaining your model

10

Page 11: Oracle UCM Implementation Patterns

11

Document Security Model

Security comes in multiple parts:• Groups, Accounts, Rights, Roles, Users, and Access Control Lists

Groups/Accounts are collections of documents, not users!• Easily confused with “LDAP Group Membership” for users

Rights are abstract access rights to Groups/Accounts• Read / Write / Delete / Admin

Roles are containers of “Rights” for Groups only

Users are given Roles, and Account Rights directly• Usually by mapping to LDAP “Group” membership

11

Page 12: Oracle UCM Implementation Patterns

12

Document Security Model, cont.

Access Control Lists• Users get direct control over who can do what with documents:

• Bob can read, Sue can read/write, Joe can read/write/delete

Common recommendation: 2 dimensional group/account model• Groups for classification: Public, Internal, Secure• Accounts for department: Accounting, Sales, HR• VP of Sales can read Secure documents in Sales account...• ... but cannot read Secure documents in HR account!

Complex security models can affect performance• Reduce ACL usage, focus on groups/accounts blend• Minimize the number of “buckets” to maximize performance

12

Page 13: Oracle UCM Implementation Patterns

13

Content Profiles

Simplify the metadata model• You may require 100 metadata fields to describe all types of content• But... any one type may only need 10 fields• Profiles allows you to minimize the “clutter”

Can do much more than organize• Create “default” values on pages to minimize data entry• Minimize the number of values in drop-down lists• Block certain users from selecting certain values• Create “derived” values to store based on what they entered

13

Page 14: Oracle UCM Implementation Patterns

14

Content Profiles, Before and After!

14

Page 15: Oracle UCM Implementation Patterns

15

BPM and Workflows

Internal workflows• UCM has a built-in custom workflow engine• Works well, but not standards compliant• Good for simple content-centric workflows

External workflows• Many “enterprise” workflows require input from other systems• Also, may prefer standards-compliant metadata language

• BPEL, BPM• UCM connects with external workflow engine via Web Services

• Workflow can start in UCM, or a different enterprise application• Useful for “orchestrating” large processes

15

Page 16: Oracle UCM Implementation Patterns

16

Folders and Desktop Contribution

Drag-and-drop interface to contribute via a desktop• UCM looks like a shared file system

Everybody understands them... BUT...• Folders don't really scale enterprise-wide

A structure makes sense to you...• But doesn't make sense to everybody!

Be sure not to rely too heavily on folders• Good for quick contribution• Also need "tagging" so others can find them• Make sure folders have reasonable metadata defaults• Use the “pop-up” feature in UCM 11g to encourage additional tagging

16

Page 17: Oracle UCM Implementation Patterns

17

Folders and Desktop Contribution, cont.

17

Page 18: Oracle UCM Implementation Patterns

18

Site Studio Web Pages

Site Studio is the Web Content Management tool• Good for entire dot com web sites and intranet sites• Can eve “push” managed web content to existing web applications!

• Site Studio for External Applications

Site Studio a great for content-centric web sites• For web forms, need additional applications: WebCenter, AJAX, etc.

Intranet pages have some of the best "bang for the buck"• I installed UCM... now what???

Intranet portal sites good way to "get your hands dirty"• Get experience with basic security, workflow, metadata• Build the knowledge you team will need for bigger projects

18

Page 19: Oracle UCM Implementation Patterns

19

3) Re-Branding UCM

Custom UI with Component Architecture

Custom UI with Site Studio

Custom UI with Remote Application

19

Page 20: Oracle UCM Implementation Patterns

20

Custom UI with Component Architecture (CA)

CA is the “framework” that UCM is built upon• Code, resources, files, tables, components, and dynamic html• Java, HTML, XML, JavaScript, SQL, and IdocScript• From top to bottom, a Service Oriented Architecture

Every page delivered by UCM is assembled with CA• What SQL to call, what Java to run, rendered with which HTML template?• Can also call services directly and get back XML or JSON

If familiar with it, it’s the fastest way to modify the UI• New skins, new buttons, new data displayed on existing forms

20

Page 21: Oracle UCM Implementation Patterns

21

Custom UI with Site Studio

Create a slimmed-down web form from scratch• Run a simplified search form, display results• Retrieve and display action items in a workflow• Perform check-ins, or display RSS feeds

Easy to place these forms on existing Site Studio pages• Can run “scriptable” services with IdocScript• Other services need a form post

Drawback: you need to create entire form• You cannot use a component to simply add one new field• Must build up the form yourself in plain HTML• Crops up if you want complex data entry / option lists

21

Page 22: Oracle UCM Implementation Patterns

22

Custom UI with External App

Create a slimmed-down web form from scratch• Run a simplified search form, display results• Retrieve and display action items in a workflow• Perform check-ins, or display RSS feeds

Can use Web Services or other connectors• For Java, use RIDC connector to run web services / download files• For PHP/.NET/others, use SOAP Web Services• Can use SOAP with Java, but RIDC is simpler and has more power

Drawback: you lose a lot of context• Building a lot of pages from scratch• Metadata, security, workflow context must be determined

22

Page 23: Oracle UCM Implementation Patterns

23

jQuery and Web-Oriented Architecture

Web-Oriented Architectures more lightweight that SOA• Pass IsJson=1 into any UCM service request, for JSON-formatted data!• Can be used to integrate with JavaScript frameworks like jQuery:• http://bezzotech.com/library.html

One gotcha: single-origin JavaScript policy in browsers• Dumbest. Security. Feature. Ever.• Can only make requests back to originating server• True mashups (like Google Maps) requires more flexibility• Doesn’t even add any security!!!

Remote applications need a proxy to “fool” the browser• Post to a proxy on the same server, instead of directly to UCM

23

Page 24: Oracle UCM Implementation Patterns

24

4) Building Custom Functionality

Custom Behavior with Component Architecture

Custom Behavior in Remote Applications

24

Page 25: Oracle UCM Implementation Patterns

25

Custom Behavior with Component Architecture

New services / modifications to existing services• Create additional life-cycles for the content• Execute custom code when specific “events” occur in UCM

• content creation, deletion, modification• fairly easy to “plug-in” new code

What about 100% entirely new code? Where should it go?• If new code affects the life-cycle of a document, it should be in UCM• If not -- like a custom UI -- it makes no difference

Advantages to code built-in to UCM:• Similar to a “stored procedure” in a database• More context-sensitive, usually faster, gain benefits of security model

25

Page 26: Oracle UCM Implementation Patterns

26

Custom Behavior in Remote Applications

Use UCM as a “unstructured content repository”• Create UI and most custom functionality in custom code• Implement content-centric code inside UCM as a component

Recommendations:• Use WebCenter / ADF if integrating with other Oracle Applications• Use lighter framework if creating front-facing dot com site

• jQuery / Spring / AJAX a good blend for JEE applications

26

Page 27: Oracle UCM Implementation Patterns

2727

Fill out your session evaluation! Session: 112

Come visit Bezzotech in Booth #850• Near the Oracle Demo Pods• Come see a demo: Translation Management, Enterprise Storage

Three other talks today (Wednesday):• 9:15am, Fusion Applications UX: Transforming Work into Insight• 10:30am, Top 10 Security Vulnerabilities in Web Applications• 1:00pm, Creating and Maintaining an International Web Site

My Company: http://bezzotech.com My Blog: http://bexhuff.com My Self: [email protected]

Questions?