Your SlideShare is downloading. ×

Oracle UCM Implementation Patterns


Published on

A collection of common customizations and implementation patters with Oracle UCM

A collection of common customizations and implementation patters with Oracle UCM

Published in: Technology
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Implementation Patterns for Oracle Universal Content Management
    • Brian “Bex” Huff
    • Chief Software Architect
  • 2. Agenda
    • Intro
    • Cover common UCM implementation patterns
      • Usually fall into one of 4 groups
    • Integrating with Technical Architecture
    • Integrating with Organizational Structure
    • Re-Branding UCM Interface
    • Building Custom Functionality
  • 3. 1) Integrating with Technical Architecture
    • Security Integrations
    • Storage Model
    • Content Enhancing Applications
    • Enterprise Applications
    • Scanning and Imaging
  • 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
  • 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
  • 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
  • 7. Enterprise Applications
    • E-Business Suite Adapter
    • Siebel Files Replacement
    • Peoplesoft Adapter
    • SOA Suite Connectors
    • Secure Enterprise Search
    • Oracle adding more all the time...
  • 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
  • 9. 2) Integrating with Organizational Structure
    • Metadata Model
    • Document Security Model
    • Content Profiles
    • BPM / Workflows
    • Folders and Desktop Contribution
    • Site Studio Web Pages
  • 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
  • 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
  • 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
  • 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
  • 14. Content Profiles, Before and After!
  • 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
  • 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
  • 17. Folders and Desktop Contribution, cont.
  • 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
  • 19. 3) Re-Branding UCM
    • Custom UI with Component Architecture
    • Custom UI with Site Studio
    • Custom UI with Remote Application
  • 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
  • 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
  • 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
  • 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:
    • 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
  • 24. 4) Building Custom Functionality
    • Custom Behavior with Component Architecture
    • Custom Behavior in Remote Applications
  • 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
  • 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
  • 27.
    • 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:
    • My Blog:
    • My Self: [email_address]