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


Published on

Oracle Enterprise Content Management (ECM) can manage your unstructured content, no matter where it exists. As a result, there are well over 50 different ways to integrate it with your system. This presentation lists the top 10, and a few others as \"honorable mention.\"

Published in: Technology

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

  1. 1. Top 10 Ways To Integrate With Oracle ECM Brian “Bex” Huff Chief Software Architect
  2. 2. Agenda <ul><li>ECM integration basics </li></ul><ul><ul><li>What’s involved, why its useful </li></ul></ul><ul><li>The Top 10 ways to integrate </li></ul><ul><ul><li>Out-of-the-box tools </li></ul></ul><ul><ul><li>Frameworks </li></ul></ul><ul><ul><li>Web services </li></ul></ul><ul><li>Some honorable mentions… </li></ul><ul><ul><li>Less common, but still important! </li></ul></ul><ul><li>Recommendations </li></ul>
  3. 3. Integration Basics <ul><li>UCM is a service-oriented architecture </li></ul><ul><ul><li>Easy to consume services from remote applications </li></ul></ul><ul><ul><li>Easy to customize services for your needs </li></ul></ul><ul><li>Integrations come in several forms </li></ul><ul><ul><li>Pre-built integrations </li></ul></ul><ul><ul><ul><li>Just install, and configure. </li></ul></ul></ul><ul><ul><li>Framework integrations </li></ul></ul><ul><ul><ul><li>Lets you easily create content-rich applications and interfaces </li></ul></ul></ul><ul><ul><li>Web-service integrations </li></ul></ul><ul><ul><ul><li>Direct APIs for the most options and power. </li></ul></ul></ul><ul><ul><li>Customizations to the applications </li></ul></ul><ul><ul><ul><li>Integrate the back-end with your systems. </li></ul></ul></ul>
  4. 4. The Top Ten… <ul><li>Secure Enterprise Search </li></ul><ul><li>SOAP </li></ul><ul><li>Content Integration Suite (CIS/CPS) </li></ul><ul><li>Open WCM </li></ul><ul><li>JCR Adapter and WebCenter </li></ul><ul><li>AJAX / Mashups </li></ul><ul><li>AquaLogic Ensemble (WebCenter Services) </li></ul><ul><li>Records Management Adapters </li></ul><ul><li>BPEL Workflows </li></ul><ul><li>Custom components and security integrations </li></ul>
  5. 5. Secure Enterprise Search <ul><li>Enables you to search across multiple systems </li></ul><ul><ul><li>Content Manage Systems: Stellent, Documentum, FileNet </li></ul></ul><ul><ul><li>Legacy system: shared file systems, web sites, Lotus Notes </li></ul></ul><ul><ul><li>Enterprise Applications: Siebel </li></ul></ul><ul><ul><li>Generic database table search </li></ul></ul><ul><li>Multiple security options </li></ul><ul><ul><li>Global security policy, application specific policy </li></ul></ul><ul><ul><li>Can oranize results differently based on user context </li></ul></ul><ul><ul><ul><li>Department, location, language, etc. </li></ul></ul></ul><ul><li>Easy to set up </li></ul><ul><ul><li>Multiple connectors, generic spiders, plus integration API </li></ul></ul>
  6. 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. 7. SOAP <ul><li>Open XML-based protocol for application integration </li></ul><ul><ul><li>Typically over the web (HTTP), or in messages </li></ul></ul><ul><ul><li>Fundamental part of Microsoft’s .NET framework </li></ul></ul><ul><ul><li>Toolkits exist for almost every language and platform </li></ul></ul><ul><li>Built into Content Server </li></ul><ul><ul><li>SOAP support built into Content Server (7.5 and above) </li></ul></ul><ul><ul><li>WSDLGenerator component bundled with Content Server (10gR3 and above); separate extra for 7.5.x </li></ul></ul><ul><ul><li>Add IsSoap=1 to any content server URL </li></ul></ul><ul><li>Web Services Description Language (WSDL) </li></ul><ul><ul><li>Helps SOAP toolkits parse XML into easy to use objects </li></ul></ul><ul><ul><li>One object to execute the service </li></ul></ul><ul><ul><li>Binds the XML request and response into data objects </li></ul></ul>
  8. 8. SOAP Benefits <ul><li>All UCM services available through SOAP </li></ul><ul><ul><li>Can create XML request manually, or use WSDL </li></ul></ul><ul><ul><li>7.5.x and later – pass IsSoap=1 into any URL or request to get back SOAP </li></ul></ul><ul><li>All the benefits of XML and HTTP </li></ul><ul><ul><li>Simple, extensible, used almost everywhere </li></ul></ul><ul><ul><li>Most developers comfortable with the technology </li></ul></ul><ul><li>Toolkits available for nearly every language </li></ul><ul><ul><li>Java, C, C++, C# </li></ul></ul><ul><ul><li>Python, Perl, PHP, Ruby </li></ul></ul><ul><ul><li>JavaScript, Flash, Flex </li></ul></ul>
  9. 9. SOAP Challenges <ul><li>All the drawbacks of XML and HTTP </li></ul><ul><ul><li>Stateless requests – both good and bad </li></ul></ul><ul><ul><li>Standard security challenges with HTTP </li></ul></ul><ul><ul><li>Verbosity presents performance challenges </li></ul></ul><ul><li>SOAP (and WSDL) considered needlessly complex </li></ul><ul><ul><li>Some prefer ReST-based approach </li></ul></ul><ul><ul><li>UCM is mostly, but not entirely, ReST-ful </li></ul></ul><ul><li>SOAP with ReST-like simplicity… </li></ul><ul><ul><li>Use the IsSoap=1 flag </li></ul></ul><ul><ul><li>Use the URL Mapping feature built-in to 10gr3 </li></ul></ul>
  10. 10. SOAP vs. ReST <ul><li>Fewer tools available for security, auto configuration, etc. </li></ul><ul><ul><li>No WSDLs </li></ul></ul><ul><ul><li>Although it usually is simple enough to not need these tools </li></ul></ul><ul><li>HTTP is kind of broken: sometimes it needs help </li></ul><ul><ul><li>Messaging, polling, encoding, quality of service. </li></ul></ul><ul><ul><li>HTTP not good for all use cases. </li></ul></ul><ul><li>Difficult to separate the good ideas from ReST dogma </li></ul>
  11. 11. Content Integration Suite (CIS/CPS) <ul><li>Standards compliant JEE application for UCM </li></ul><ul><ul><li>Client connector, plus service cache </li></ul></ul><ul><li>Supported on all major Java app servers </li></ul><ul><ul><li>Oracle App Server, Websphere, WebLogic, JBoss, Tomcat </li></ul></ul><ul><ul><li>Plain Old Java Objects </li></ul></ul><ul><li>Complete coverage of UCM API </li></ul><ul><ul><li>Common services available as objects-oriented API </li></ul></ul><ul><ul><li>Can execute any UCM service </li></ul></ul><ul><ul><li>Can also interface with IPM </li></ul></ul>
  12. 12. CIS/CPS Continued <ul><li>CIS allows Java apps to communicate with UCM </li></ul><ul><ul><li>CIS server connects to Content Server </li></ul></ul><ul><ul><li>CIS client is used in your app to connect to CIS server </li></ul></ul><ul><ul><li>CIS server caches results for faster performance in peak hours </li></ul></ul><ul><ul><li>Server supports multiple interfaces: JMS, JCA, EJB, RMI </li></ul></ul><ul><li>Content Portal Suite (CPS) for J2EE Portal Server </li></ul><ul><ul><li>Uses CIS to connect to UCM </li></ul></ul><ul><ul><li>Contains sample portlets for interacting with UCM </li></ul></ul><ul><ul><li>Search, Library, Contribution, Workflow, Admin </li></ul></ul><ul><ul><li>Federated Search (Combined search over I/BPM and UCM) </li></ul></ul>
  13. 13. Open Web Content Management <ul><li>Distributed model for web content management </li></ul><ul><li>Manage web content in containers outside the repository </li></ul><ul><ul><li>Display images, text, converted Word docs </li></ul></ul><ul><li>Alter content in-context with the application! </li></ul><ul><ul><li>Standard Site Studio contributor editor </li></ul></ul><ul><ul><li>Launch in remote portal or web app </li></ul></ul><ul><ul><li>Uses standard workflows, conversion, subscription, etc. </li></ul></ul><ul><li>Change it in one portal, see it change in them all! </li></ul>
  14. 14. Open WCM Architecture
  15. 15. Java Content Repository (JCR) Adapter <ul><li>Java Content Repository </li></ul><ul><ul><li>Java standard for content management </li></ul></ul><ul><ul><li>Formerly known as JSR170 and JSR283 </li></ul></ul><ul><li>Oracle’s JCR adapter connects to UCM through CIS </li></ul><ul><ul><li>Achieves Level 1 compliance with JCR </li></ul></ul><ul><li>Easy integration with WebCenter ADF components </li></ul><ul><ul><li>Create a JCR Data Control </li></ul></ul><ul><ul><li>Bind to ADF Tables and Trees </li></ul></ul><ul><ul><li>Show thumbnails, content, and limited metadatas </li></ul></ul>
  16. 16. JCR Adapter Limitations <ul><li>Only works with Java </li></ul><ul><ul><li>Cannot connect to SharePoint with JCR connectors </li></ul></ul><ul><li>Less powerful than SOAP or CIS alone </li></ul><ul><ul><li>Very limited feature set </li></ul></ul><ul><ul><li>Gives an awkward view of the content repository </li></ul></ul><ul><li>Limited ECM vendor adoption; not a popular standard </li></ul><ul><li>IBM, EMC, and Microsoft have dropped it in favor of CMIS </li></ul><ul><ul><li>Oracle and others will likely follow suit </li></ul></ul>
  17. 17. Asynchronous JavaScript and XML (AJAX) <ul><li>Several AJAX options </li></ul><ul><li>Use semi-ReSTful SOAP interface </li></ul><ul><ul><li>Put IsSoap=1 into any URL to get SOAP formatted response </li></ul></ul><ul><li>Create a read-only SOAP request in JavaScript </li></ul><ul><ul><li>Search, content info, workflow info, etc. </li></ul></ul><ul><li>Use “Schema” APIs to download option lists </li></ul><ul><ul><li>Lists of content metadata </li></ul></ul><ul><ul><li>Run queries, cache results in JavaScript files </li></ul></ul><ul><ul><li>Mash-up data with other JavaScript accessible resources </li></ul></ul>
  18. 18. Aqua Logic Ensemble <ul><li>The problem: application proliferation </li></ul><ul><ul><li>Dozens of web applications, many done outside IT control. </li></ul></ul><ul><ul><li>Portals, web applications, Java, .NET, PHP, Ruby on Rails </li></ul></ul><ul><ul><li>IT forced to support whatever becomes business critical. </li></ul></ul><ul><li>Management nightmare! </li></ul><ul><ul><li>Impossible to find the application you need. </li></ul></ul><ul><ul><li>Inconsistent security policies. </li></ul></ul><ul><li>How to solve this? </li></ul><ul><ul><li>Force everybody to agree to one single framework / language? </li></ul></ul><ul><ul><li>Or, mash-up the applications into one interface? </li></ul></ul>
  19. 19. Ensemble Architecture Ensemble Mashup Ensemble Server .NET App JSP Mashup PHP Mashup .NET Mashup Pagelet Pagelet PHP App JSP App Pagelet
  20. 20. Ensemble And UCM <ul><li>Treat UCM like every other web applications </li></ul><ul><li>Create “pagelet” of the screen you want </li></ul><ul><ul><li>Site Studio page </li></ul></ul><ul><ul><li>Workflow queue </li></ul></ul><ul><ul><li>Dynamically converted content </li></ul></ul><ul><ul><li>Images, digital assets, folios </li></ul></ul><ul><li>Embed UCM Pagelet anywhere in your enterprise </li></ul><ul><li>Embed other Pagelets inside a Site Studio web page </li></ul>
  21. 21. Universal Records Management Adapters <ul><li>Life cycle management is critical for all organizations </li></ul><ul><ul><li>Retain content for specific time, according to rules and regulations </li></ul></ul><ul><ul><li>Destroy content once it is no longer relevant, or useful </li></ul></ul><ul><ul><li>Reduce storage cost, and legal risk </li></ul></ul><ul><li>One gigabyte of data: </li></ul><ul><ul><li>$0.25 of hardware, $60 / year to maintain, $2500 for a lawyer to review </li></ul></ul><ul><li>Where is your business critical content??? </li></ul><ul><ul><li>No matter what, its not all in your UCM system. </li></ul></ul><ul><ul><li>Email archives, SharePoint, file systems </li></ul></ul><ul><li>URM Adapters manage life cycle no matter where it is </li></ul><ul><ul><li>Custom connectors, generic adapters </li></ul></ul>
  22. 22. URM Architecture Oracle Universal Records Management Discovery Services Central Policy Management Oracle UCM Adapter Oracle I / PM Adapter File Servers Adapter Adapter Adapter Services Adapter: Oracle UCM Adapter: Oracle I / PM Adapter: File Servers Adapter: Microsoft Sharepoint Adapter: Symantec Vault Adapter: Generic Adapter Services Notification Services Physical Records Manager Records Manager
  23. 23. BPEL Workflows <ul><li>Business Process Execution Language (BPEL) </li></ul><ul><ul><li>Workflow language for tying systems together </li></ul></ul><ul><ul><li>Some human workflow capabilities (BPEL4People) </li></ul></ul><ul><li>Graphically design your workflows </li></ul><ul><ul><li>Pass content from content server to enterprise apps </li></ul></ul><ul><ul><li>Process through external workflow </li></ul></ul><ul><ul><li>Check-in content, update metadata, others? </li></ul></ul><ul><li>Tie together processes with SOAP </li></ul><ul><ul><li>Workflow events trigger a web service </li></ul></ul><ul><ul><ul><li>Workflow approve, search, check-in, update </li></ul></ul></ul><ul><ul><li>Makes application integrations simple! </li></ul></ul>
  24. 24. BPEL Diagram
  25. 25. Custom Components and Security <ul><li>All of UCM is a service oriened architecture </li></ul><ul><li>Use “Component Architecture” to add/modify services </li></ul><ul><ul><li>Anything you can do in Java, you can do here </li></ul></ul><ul><ul><li>Used mostly to add new life-cycles to content items </li></ul></ul><ul><ul><li>Also used to quickly modify existing interface </li></ul></ul><ul><li>Execute code when specific Filter Events occur </li></ul><ul><ul><li>When the server starts-up </li></ul></ul><ul><ul><li>When an item enters workflow, is checked-in, or deleted </li></ul></ul><ul><ul><li>Add custom code to a service, or override standard behavior </li></ul></ul>
  26. 26. Honorable Mentions <ul><li>Content Management Interoperability Services (CMIS) </li></ul><ul><ul><li>Emerging specification that will replace JSR170 </li></ul></ul><ul><ul><li>Only at version 0.5, but has significant potential </li></ul></ul><ul><li>Oracle Real-Time Decisions </li></ul><ul><ul><li>Uses analytics to determine what content people might want </li></ul></ul><ul><ul><li>Next-best activity </li></ul></ul><ul><ul><li>Great idea, but no productized integration yet </li></ul></ul>
  27. 27. Honorable Mentions (continued) <ul><li>Information Rights Management </li></ul><ul><li>Oracle Document Capture </li></ul><ul><li>Oracle Universal Online Archive </li></ul><ul><li>Siebel Files replacement </li></ul><ul><li>ActiveX controls for Windows applications </li></ul><ul><li>Command-line utilities for administrators </li></ul>
  28. 28. Which Should You Use? <ul><li>Are you integrating a Java front-end? </li></ul><ul><ul><li>CIS or CPS is probably what you want </li></ul></ul><ul><ul><ul><li>Use from Spring, ADF, or Web Center frameworks </li></ul></ul></ul><ul><ul><li>SOAP with WSDLs a good second choice </li></ul></ul><ul><li>Are you integrating a non-Java front end? </li></ul><ul><ul><li>SOAP with WSDLs is the best choice </li></ul></ul><ul><li>Are you writing a desktop application? </li></ul><ul><ul><li>SOAP a good choice for behind-the-scenes integration </li></ul></ul>
  29. 29. Which Should You Use? <ul><li>Are you integrating with a remote repository? </li></ul><ul><ul><li>BPEL Workflows sometimes the easiest way </li></ul></ul><ul><ul><li>Direct SOAP or CIS a good second choice </li></ul></ul><ul><ul><li>Sometimes need custom Java component </li></ul></ul><ul><ul><ul><li>Connect with standard Java libraries from your code </li></ul></ul></ul><ul><ul><ul><li>JDBC, LDAP, IMAP, SOAP, RSS </li></ul></ul></ul><ul><ul><li>If you need compliance or Records Management, use Agents </li></ul></ul><ul><ul><ul><li>Generic .NET and Java agents have 80% functionality you need </li></ul></ul></ul><ul><li>Do you want to execute code when specific events occur? </li></ul><ul><ul><li>Example: on startup, when content is checked-in or deleted </li></ul></ul><ul><ul><li>Need Java component: Filter or chained Service Handler </li></ul></ul><ul><ul><li>Hundreds of filter events and services available for customization </li></ul></ul>
  30. 30. Important Resources <ul><li>Books: </li></ul><ul><ul><li>The Definitive Guide To Stellent Content Server Development </li></ul></ul><ul><ul><li> </li></ul></ul><ul><li>Standard Stellent documentation: </li></ul><ul><ul><li>Content Integration Suite / JCR </li></ul></ul><ul><ul><ul><li>UCPM API Developer’s Guide, Content Server JCR Repository Adapter </li></ul></ul></ul><ul><ul><li>Java Components </li></ul></ul><ul><ul><ul><li>Working With Components </li></ul></ul></ul><ul><ul><li>SOAP – Using WSDL Generator and SOAP </li></ul></ul><ul><ul><li>Content Server JCR Repository Adapter </li></ul></ul>
  31. 31. More Important Resources… <ul><li>Transforming Infoglut! </li></ul><ul><ul><li>A Pragmatic Strategy for Oracle Enterprise Content Management. </li></ul></ul><ul><li>Bex Huff and Andy MacMillan </li></ul><ul><li>Available on Amazon in January 2009 </li></ul>
  32. 32. Special Thanks… <ul><li>Independent Oracle User Group </li></ul><ul><ul><li> </li></ul></ul><ul><ul><li>For inviting me to talk here </li></ul></ul><ul><li>Chris Bucchere </li></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>For helping me with the Ensemble demo </li></ul></ul>
  33. 33. <ul><li>My Company: http:// </li></ul><ul><li>My Blog: http:// </li></ul><ul><li>My Self: [email_address] </li></ul>Questions?