Top 10 Ways To Integrate WithOracle ECMBrian Bex HuffChief Software Architect
AgendaECM integration basicsWhats involved, why its useful
The Top 10 ways to integrateOut-of-the-box toolsFrameworksWeb services
Some honorable mentionsLess common, but still important!
Integration BasicsUCM is a service-oriented architectureEasy to consume services from remote applicationsEasy to customize services for your needs
Integrations come in several formsPre-built integrationsJust install, and configure.Framework integrationsLets you easily create content-rich applications and interfacesWeb-service integrationsDirect APIs for the most options and power.Customizations to the applicationsIntegrate the back-end with your systems.
The Top Ten Secure Enterprise Search SOAP Content Integration Suite (CIS/CPS) Open WCM JCR Adapter and WebCenter AJAX / Mashups AquaLogic Ensemble (WebCenter Services) Records Management Adapters BPEL Workflows Custom components and security integrations
Secure Enterprise SearchEnables you to search across multiple systemsContent Manage Systems: Stellent, Documentum, FileNetLegacy system: shared file systems, web sites, Lotus NotesEnterprise Applications: SiebelGeneric database table search
Multiple security optionsGlobal security policy, application specific policyCan oranize results differently based on user contextDepartment, location, language, etc.
Easy to set upMultiple connectors, generic spiders, plus integration API
Secure Enterprise Search screen
SOAPOpen XML-based protocol for application integrationTypically over the web (HTTP), or in messagesFundamental part of Microsofts .NET frameworkToolkits exist for almost every language and platform
Built into Content ServerSOAP support built into Content Server (7.5 and above)WSDLGenerator component bundled with Content Server (10gR3 and above); separate extra for 7.5.xAdd IsSoap=1 to any content server URL
Web Services Description Language (WSDL)Helps SOAP toolkits parse XML into easy to use objectsOne object to execute the serviceBinds the XML request and response into data objects
SOAP BenefitsAll UCM services available through SOAPCan create XML request manually, or use WSDL7.5.x and later pass IsSoap=1 into any URL or request to get back SOAP
All the benefits of XML and HTTPSimple, extensible, used almost everywhereMost developers comfortable with the technology
SOAP ChallengesAll the drawbacks of XML and HTTPStateless requests both good and badStandard security challenges with HTTPVerbosity presents performance challenges
SOAP (and WSDL) considered needlessly complexSome prefer ReST-based approachUCM is mostly, but not entirely, ReST-ful
SOAP with ReST-like simplicityUse the IsSoap=1 flagUse the URL Mapping feature built-in to 10gr3
SOAP vs. ReSTFewer tools available for security, auto configuration, etc.No WSDLsAlthough it usually is simple enough to not need these tools
HTTP is kind of broken: sometimes it needs helpMessaging, polling, encoding, quality of service.HTTP not good for all use cases.
Difficult to separate the good ideas from ReST dogma
Content Integration Suite (CIS/CPS)Standards compliant JEE application for UCMClient connector, plus service cache
Supported on all major Java app serversOracle App Server, Websphere, WebLogic, JBoss, TomcatPlain Old Java Objects
Complete coverage of UCM APICommon services available as objects-oriented APICan execute any UCM serviceCan also interface with IPM
CIS/CPS ContinuedCIS allows Java apps to communicate with UCMCIS server connects to Content ServerCIS client is used in your app to connect to CIS serverCIS server caches results for faster performance in peak hoursServer supports multiple interfaces: JMS, JCA, EJB, RMI
Content Portal Suite (CPS) for J2EE Portal ServerUses CIS to connect to UCMContains sample portlets for interacting with UCMSearch, Library, Contribution, Workflow, AdminFederated Search (Combined search over I/BPM and UCM)
Open Web Content ManagementDistributed model for web content management
Manage web content in containers outside the repositoryDisplay images, text, converted Word docs
Alter content in-context with the application!Standard Site Studio contributor editorLaunch in remote portal or web appUses standard workflows, conversion, subscription, etc.
Change it in one portal, see it change in them all!
Open WCM Architecture
Java Content Repository (JCR) AdapterJava Content RepositoryJava standard for content managementFormerly known as JSR170 and JSR283
Oracles JCR adapter connects to UCM through CISAchieves Level 1 compliance with JCR
Easy integration with WebCenter ADF components Create a JCR Data ControlBind to ADF Tables and TreesShow thumbnails, content, and limited metadatas
JCR Adapter LimitationsOnly works with JavaCannot connect to SharePoint with JCR connectors
Less powerful than SOAP or CIS aloneVery limited feature setGives 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 CMISOracle and others will likely follow suit
Use semi-ReSTful SOAP interfacePut IsSoap=1 into any URL to get SOAP formatted response
Aqua Logic EnsembleThe problem: application proliferationDozens of web applications, many done outside IT control.Portals, web applications, Java, .NET, PHP, Ruby on RailsIT 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?
Ensemble ArchitectureEnsemble Mashup
Ensemble Server.NET App
Ensemble And UCMTreat UCM like every other web applications
Create pagelet of the screen you wantSite Studio pageWorkflow queueDynamically converted contentImages, digital assets, folios
Embed UCM Pagelet anywhere in your enterprise
Embed other Pagelets inside a Site Studio web page
Universal Records Management AdaptersLife cycle management is critical for all organizationsRetain content for specific time, according to rules and regulationsDestroy content once it is no longer relevant, or usefulReduce 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 isCustom connectors, generic adapters
URM ArchitectureOracle Universal Records ManagementDiscovery ServicesCentral Policy ManagementOracle UCMAdapterOracle I / PMAdapterFile ServersAdapterAdapterAdapter Services
BPEL WorkflowsBusiness Process Execution Language (BPEL)Workflow language for tying systems togetherSome human workflow capabilities (BPEL4People)
Graphically design your workflowsPass content from content server to enterprise appsProcess through external workflowCheck-in content, update metadata, others?
Tie together processes with SOAPWorkflow events trigger a web serviceWorkflow approve, search, check-in, updateMakes application integrations simple!
Custom Components and SecurityAll of UCM is a service oriened architecture
Use Component Architecture to add/modify servicesAnything you can do in Java, you can do hereUsed mostly to add new life-cycles to content itemsAlso used to quickly modify existing interface
Execute code when specific Filter Events occurWhen the server starts-upWhen an item enters workflow, is checked-in, or deletedAdd custom code to a service, or override standard behavior
Honorable MentionsContent Management Interoperability Services (CMIS)Emerging specification that will replace JSR170Only at version 0.5, but has significant potential
Oracle Real-Time DecisionsUses analytics to determine what content people might wantNext-best activityGreat idea, but no productized integration yet
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
Which Should You Use?Are you integrating a Java front-end?CIS or CPS is probably what you wantUse from Spring, ADF, or Web Center frameworksSOAP 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
Which Should You Use?Are you integrating with a remote repository?BPEL Workflows sometimes the easiest wayDirect SOAP or CIS a good second choiceSometimes need custom Java componentConnect with standard Java libraries from your codeJDBC, LDAP, IMAP, SOAP, RSSIf you need compliance or Rec