<Insert Picture Here>
Oracle Universal Content Management
Sreekanth Chintala (hacked by Dan!)
Oracle Enterprise Content Management
• Universal Content Management• Universal Records Management • Imaging and Process Management• Content Conversion Server• Information Rights Management
UCM : Core Content Server Architecture
Architecture DetailsRelational Database
• Manages• Metadata & Revision Information• User & Security Information• Configuration information
• Oracle Specifics• Supports 11g, 10g• Application queries optimized for Oracle DB
• Other Databases• MS SQL Server• DB2
Architecture DetailsSearch Index
• General Architecture• Pluggable search engine architecture• Engine-agnostic “Universal Query Syntax”• No search down time during re-indexing
• Supported engines• Database (Oracle, SQL Server)• Oracle Secure Enterprise Search 11g
• Metadata search can be executed against database even when other full-text search engine is present
Architecture DetailsFile Store
Vault Weblayout
File Store
Architecture DetailsFile Store (File System or Database)
• Native Files
• Access via service calls only
• Renditions and thumbnails of content• Any number of renditions
• Mapped to web server for optimized content delivery
• Images, CSS & JS files needed to render UI• Published data for optimized performance
• Content Server: Metadata Schema• WCM: Site Structure, Fragments, etc.
• Allows assets to be cached by web server and browser
Vault Weblayout
Web ServerContent Server
Publish
RelationalDatabase
Vault files are well suited to be storedin a relational database
Profile HR Policy for Director of HR
• Title• Type• Comments• Department• Sub Department• Region
Metadata Pool
Architecture DetailsMetadata
Standard MetadataContent ID
TitleContent Type
.
.
Custom MetadataCommentsDepartment
Retention PolicyImage Rendition SetContract Due Date
CountryStateCity
.
.
Rules Engine
Present the right metadata for the right user at the right time
Control fields and values with rules based on• Other metadata • User attributes• Content state• Any other criteria
Use rules to determine• Default values• Derived values• Field Captions• Metadata Groups• and more…
Profile HR Policy for HR Employee in USA
• Title• Type• Comments• Department
Architecture DetailsSecurity
Roles and Groups
Accounts
ACL
NTK
# Customers
• Security Models• Multiple models available• Multiple models can be used at the same time
• Popularity• Most customers use Roles and Groups• Growing use of Accounts in recent years• ACLs used by very few customers (mainly for
Collaboration and RM)• Need To Know is used only by a couple of
government agencies
• LDAP and Single Sign-On Support• OID, Oracle Access Manager
Architecture DetailsSecurity: Roles and Groups
Users Roles Groups DocumentsR,W,D,A
Roles and Groups
Accounts
ACL
NTK
Joe HRContributor
HRPolicy
Vacation Schedule
R, W
# Customers
FinanceUser
FinancePolicy
Expense Report
R
Architecture DetailsSecurity: Accounts
Roles and Groups
Accounts
ACL
NTK
Hierarchal Model
Users DocumentsAccounts
Joe Acme/HR/*
Acme/HR/US/*Dave
EMEA Vacation Schedule
Benefits Overview
US Vacation Schedule
Acme/HR/EMEA
Acme/HR/US/Policies
Acme/HR/General/Policies
# Customers
Architecture DetailsSecurity: ACL
Roles and Groups
Accounts
ACL
NTK
Users Documents
User Access Lists, Group Access List
Joe, Dave, Ann Benefits Overview
Joe, Dave US Vacation Schedule
Joe, Ann EMEA Vacation Schedule# Customers
Architecture DetailsSecurity: Need To Know
Roles and Groups
Accounts
ACL
NTK
# Customers
Rule-based access to content
If User = ‘Joe’ ANDType LIKE ‘Document’ ANDCurrentTime > 9 AM ANDCurrentTime < 5 PM
ThenAllow access to HR Documents
Integrating with UCM Services
Course-grained actions and functions
Focused on content management
Check-in Search Info Add user Remove user
UCM Services
My fancy custom check-in service
My totally cool “print from server” service
UCM Services
DocCompliance / WCC Feature Map
DocCompliance Webcenter ContentElectronic Signature Electronic Signature ComponentFDA 21 CFR Part 11 FDA 21 CFR Part 11 (USDM cert)Role-based ES unknownAudit Trail Need to identify the 270 events.Hardcopy Management PDF WatermarkingAutomated Version Control Core featureRead & Understood none
The Integration vs Customization question...
SOAP – Standardized XML-based Messaging Protocol
Advantages:• Well-known standard protocol• Available for any language that supports SOAP (C#, VB.NET, ASP, Java, PHP, Javascript,
Python, many more)
Disadvantages:• No configurable caching; all caching must be coded into application• No built-in application logging; all logging must be coded into application• Requires extensive Content Server architecture knowledge• Requires more overhead than other integration methods (i.e. possible performance issues
without caching)• Must be familiar with building the SOAP requests and parsing the SOAP responses• Only supports connecting via the web server (authentication required for every request)
Integration Techniques
Service Name: GET_SEARCH_RESULTS
Request Parameters: QueryText, ResultCount, SortField, SortOrder, …
UCM Services
UCM Services
IsSoap=1 for SOAP response
UCM Services
IsSoap=1 for SOAP response
UCM Services
IsSoap=1 for SOAP response
UCM Services
WSDL – Content Server Implementation of Standardized WDSL
Advantages:• Well-known protocol (SOAP-based)• SOAP tool kits available available for many languages (automatically generate the source
code necessary for integration)• Not necessary to extensively learn the Content Server architecture• Not necessary to be familiar with building SOAP requests or parsing the responses
Disadvantages:• No configurable caching; all caching must be coded into application• No built-in application logging; all logging must be coded into application• Requires more overhead than other integration methods (i.e. possible performance issues
without caching)• Only supports connecting via the web server (authentication required for every request)
Integration Techniques
• Execute services with IsSoap=1 over HTTP
• Use WSDLs– Pre-defined WSDLs for
common services– WSDLGenerator to create
WSDLs for any service
• Technology Agnostic– .Net, PHP, Python, etc.
UCM Services as Web Services
• Integrate from JavaScript
• Ideal for web integrations– Intranet Portals– Web Sites
• Native support for JSON in UCM
• Perfect for accessing Site Studio services
JavaScript Object Notation (JSON)Simple way to integrate with UCM via AJAX
UCM
HTTP
Web Page
JSON
IsJson=1 for JSON response
IsJava=1 for serialized data response
UCM Services
JSON
Connect & Execute Service Request
Parse Response
Extract Data from Response
Content Server Integration Suite – CIS – Proprietary Java API forCommunicating with Content Server (not recommended)
Advantages:• Abstracted from Content Server (faster to use for experienced Java Developers who have
less Content Server experience)• Built-in Configurable Caching• Highly scalable• Provides easy method for federating requests to multiple Content Servers at once (single
request is built and sent to multiple content servers)• Very verbose configurable logging at the application level, and communication with Content
Server• Supports connecting via web server (authentication required for every request) or directly to
Content Server socket (trusted connection)
Disadvantages:• Large and highly abstracted; can be difficult for beginners to learn• Not lightweight; uses more system resources for enterprise applications• Only available for Java applications
Integration Techniques
RIDC – Proprietary Thin-Client API for Communicating with Content Server Advantages:• Easy to learn for those with extensive Content Server experience (very little abstraction from
Content Server)• With proper development, can be highly scalable, but requires more attention to detail• Very lighweight; uses less system resources than CIS for enterprise applications• Supports connecting via web server (authentication required for every request) or directly to
Content Server socket (trusted connection)
Disadvantages:• No configurable caching; all caching must be coded into application• No built-in application logging; all logging must be coded into application• Requires extensive Content Server architecture knowledge• Only available for Java applications
Integration Techniques
• “Plain Old Java Object”-based API to execute any service
• Multiple Communication Modes– Trusted (provide username
only)– SOAP over HTTP (requires
username and password)
• Part of Content Integration Suite (CIS)
Remote Intra-Doc Client (RIDC)Simple yet Powerful
UCM
HTTP
RIDCSOAP Trusted
Socket
RIDC
Connect to Server
Add info about service to execute
Execute Service and Extract Response Data
Oracle Fusion Middleware books: http://docs.oracle.com/cd/E23943_01/nav/portal_booklist.htm
RIDC Java API Reference: http://docs.oracle.com/cd/E23943_01/apirefs.1111/e17274/toc.htm
The Definitive Guide to Stellent Content Server Development:http://www.apress.com/9781590596845
USDM Part 11 Certification for Oracle Webcenter Contenthttp://usdatamanagement.com/enterprise-content-management-/274.html
Useful Links
Oracle Fusion Middleware books: http://docs.oracle.com/cd/E23943_01/nav/portal_booklist.htm
RIDC Java API Reference: http://docs.oracle.com/cd/E23943_01/apirefs.1111/e17274/toc.htm
The Definitive Guide to Stellent Content Server Development:http://www.apress.com/9781590596845
USDM Part 11 Certification for Oracle Webcenter Contenthttp://usdatamanagement.com/enterprise-content-management-/274.html
Web User Interface Developer's Guide for Oracle Application Development Frameworkhttp://docs.oracle.com/cd/E23943_01/web.1111/b31973.pdf
Useful Links