Upload
pavitra-jayaraman
View
27
Download
3
Tags:
Embed Size (px)
DESCRIPTION
10 ways to integrate with bezzotech
Citation preview
Top 10 Ways To Integrate WithOracle ECM
Brian “Bex” HuffChief Software Architect
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
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.
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
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
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.
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
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
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
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
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
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)
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!
14
Open WCM Architecture
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
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
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
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?
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
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
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
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
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!
24
BPEL Diagram
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
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
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
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
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
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
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
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
33
My Company: http://bezzotech.com
My Blog: http://bexhuff.com
My Self: [email protected]
Questions?