10 ways to integrate with bezzotech

Download 10 ways to integrate with bezzotech

Post on 29-Dec-2015




3 download

Embed Size (px)


10 ways to integrate with bezzotech


<ul><li><p>Top 10 Ways To Integrate WithOracle ECMBrian Bex HuffChief Software Architect</p></li><li><p>AgendaECM integration basicsWhats involved, why its useful</p><p>The Top 10 ways to integrateOut-of-the-box toolsFrameworksWeb services </p><p>Some honorable mentionsLess common, but still important!</p><p>Recommendations</p></li><li><p>Integration BasicsUCM is a service-oriented architectureEasy to consume services from remote applicationsEasy to customize services for your needs</p><p>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.</p></li><li><p>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</p></li><li><p>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</p><p>Multiple security optionsGlobal security policy, application specific policyCan oranize results differently based on user contextDepartment, location, language, etc.</p><p>Easy to set upMultiple connectors, generic spiders, plus integration API</p></li><li><p>Secure Enterprise Search screen</p></li><li><p>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</p><p>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</p><p>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</p></li><li><p>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</p><p>All the benefits of XML and HTTPSimple, extensible, used almost everywhereMost developers comfortable with the technology</p><p>Toolkits available for nearly every languageJava, C, C++, C#Python, Perl, PHP, RubyJavaScript, Flash, Flex</p></li><li><p>SOAP ChallengesAll the drawbacks of XML and HTTPStateless requests both good and badStandard security challenges with HTTPVerbosity presents performance challenges</p><p>SOAP (and WSDL) considered needlessly complexSome prefer ReST-based approachUCM is mostly, but not entirely, ReST-ful</p><p>SOAP with ReST-like simplicityUse the IsSoap=1 flagUse the URL Mapping feature built-in to 10gr3</p></li><li><p>SOAP vs. ReSTFewer tools available for security, auto configuration, etc.No WSDLsAlthough it usually is simple enough to not need these tools</p><p>HTTP is kind of broken: sometimes it needs helpMessaging, polling, encoding, quality of service.HTTP not good for all use cases.</p><p>Difficult to separate the good ideas from ReST dogma</p></li><li><p>Content Integration Suite (CIS/CPS)Standards compliant JEE application for UCMClient connector, plus service cache</p><p>Supported on all major Java app serversOracle App Server, Websphere, WebLogic, JBoss, TomcatPlain Old Java Objects</p><p>Complete coverage of UCM APICommon services available as objects-oriented APICan execute any UCM serviceCan also interface with IPM</p></li><li><p>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 </p><p>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)</p></li><li><p>Open Web Content ManagementDistributed model for web content management</p><p>Manage web content in containers outside the repositoryDisplay images, text, converted Word docs</p><p>Alter content in-context with the application!Standard Site Studio contributor editorLaunch in remote portal or web appUses standard workflows, conversion, subscription, etc.</p><p>Change it in one portal, see it change in them all!</p></li><li><p>Open WCM Architecture</p></li><li><p>Java Content Repository (JCR) AdapterJava Content RepositoryJava standard for content managementFormerly known as JSR170 and JSR283</p><p>Oracles JCR adapter connects to UCM through CISAchieves Level 1 compliance with JCR</p><p>Easy integration with WebCenter ADF components Create a JCR Data ControlBind to ADF Tables and TreesShow thumbnails, content, and limited metadatas </p></li><li><p>JCR Adapter LimitationsOnly works with JavaCannot connect to SharePoint with JCR connectors</p><p>Less powerful than SOAP or CIS aloneVery limited feature setGives an awkward view of the content repository</p><p>Limited ECM vendor adoption; not a popular standard</p><p>IBM, EMC, and Microsoft have dropped it in favor of CMISOracle and others will likely follow suit</p></li><li><p>Asynchronous JavaScript and XML (AJAX)Several AJAX options</p><p>Use semi-ReSTful SOAP interfacePut IsSoap=1 into any URL to get SOAP formatted response</p><p>Create a read-only SOAP request in JavaScriptSearch, content info, workflow info, etc.</p><p>Use Schema APIs to download option listsLists of content metadataRun queries, cache results in JavaScript filesMash-up data with other JavaScript accessible resources</p></li><li><p>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.</p><p>Management nightmare!Impossible to find the application you need.Inconsistent security policies.</p><p>How to solve this?Force everybody to agree to one single framework / language?Or, mash-up the applications into one interface?</p></li><li><p>Ensemble ArchitectureEnsemble Mashup</p><p>Ensemble Server.NET App</p><p>JSP Mashup</p><p>PHP Mashup</p><p>.NET Mashup</p></li><li><p>Ensemble And UCMTreat UCM like every other web applications</p><p>Create pagelet of the screen you wantSite Studio pageWorkflow queueDynamically converted contentImages, digital assets, folios</p><p>Embed UCM Pagelet anywhere in your enterprise</p><p>Embed other Pagelets inside a Site Studio web page</p></li><li><p>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</p><p>One gigabyte of data:$0.25 of hardware, $60 / year to maintain, $2500 for a lawyer to review</p><p>Where is your business critical content???No matter what, its not all in your UCM system.Email archives, SharePoint, file systems</p><p>URM Adapters manage life cycle no matter where it isCustom connectors, generic adapters</p></li><li><p>URM ArchitectureOracle Universal Records ManagementDiscovery ServicesCentral Policy ManagementOracle UCMAdapterOracle I / PMAdapterFile ServersAdapterAdapterAdapter Services</p></li><li><p>BPEL WorkflowsBusiness Process Execution Language (BPEL)Workflow language for tying systems togetherSome human workflow capabilities (BPEL4People)</p><p>Graphically design your workflowsPass content from content server to enterprise appsProcess through external workflowCheck-in content, update metadata, others?</p><p>Tie together processes with SOAPWorkflow events trigger a web serviceWorkflow approve, search, check-in, updateMakes application integrations simple!</p></li><li><p>BPEL Diagram</p></li><li><p>Custom Components and SecurityAll of UCM is a service oriened architecture</p><p>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</p><p>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</p></li><li><p>Honorable MentionsContent Management Interoperability Services (CMIS)Emerging specification that will replace JSR170Only at version 0.5, but has significant potential</p><p>Oracle Real-Time DecisionsUses analytics to determine what content people might wantNext-best activityGreat idea, but no productized integration yet</p></li><li><p>Honorable Mentions (continued)Information Rights Management</p><p>Oracle Document Capture</p><p>Oracle Universal Online Archive</p><p>Siebel Files replacement</p><p>ActiveX controls for Windows applications</p><p>Command-line utilities for administrators</p></li><li><p>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</p><p>Are you integrating a non-Java front end?SOAP with WSDLs is the best choice</p><p>Are you writing a desktop application?SOAP a good choice for behind-the-scenes integration</p></li><li><p>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 Records Management, use AgentsGeneric .NET and Java agents have 80% functionality you need</p><p>Do you want to execute code when specific events occur?Example: on startup, when content is checked-in or deletedNeed Java component: Filter or chained Service HandlerHundreds of filter events and services available for customization</p></li><li><p>Important ResourcesBooks:The Definitive Guide To Stellent Content Server Developmenthttp://www.amazon.com/dp/1590596846</p><p>Standard Stellent documentation:Content Integration Suite / JCRUCPM API Developers Guide, Content Server JCR Repository Adapter Java ComponentsWorking With ComponentsSOAP Using WSDL Generator and SOAPContent Server JCR Repository Adapter</p></li><li><p>More Important ResourcesTransforming Infoglut!A Pragmatic Strategy for Oracle Enterprise Content Management.</p><p>Bex Huff and Andy MacMillan</p><p>Available on Amazon in January 2009</p></li><li><p>Special ThanksIndependent Oracle User Grouphttp://ioug.orgFor inviting me to talk here</p><p>Chris Buccherechris@thebdgway.comFor helping me with the Ensemble demo</p></li><li><p>Questions?My Company: http://bezzotech.com</p><p>My Blog: http://bexhuff.com</p><p>My Self: bex@bezzotech.com</p></li></ul>