10 ways to integrate with bezzotech
DESCRIPTION
10 ways to integrate with bezzotechTRANSCRIPT
![Page 1: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/1.jpg)
Top 10 Ways To Integrate WithOracle ECM
Brian “Bex” HuffChief Software Architect
![Page 2: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/2.jpg)
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
![Page 3: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/3.jpg)
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.
![Page 4: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/4.jpg)
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
![Page 5: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/5.jpg)
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
![Page 6: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/6.jpg)
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.
![Page 7: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/7.jpg)
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
![Page 8: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/8.jpg)
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
![Page 9: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/9.jpg)
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
![Page 10: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/10.jpg)
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
![Page 11: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/11.jpg)
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
![Page 12: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/12.jpg)
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)
![Page 13: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/13.jpg)
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!
![Page 14: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/14.jpg)
14
Open WCM Architecture
![Page 15: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/15.jpg)
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
![Page 16: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/16.jpg)
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
![Page 17: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/17.jpg)
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
![Page 18: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/18.jpg)
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?
![Page 19: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/19.jpg)
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
![Page 20: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/20.jpg)
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
![Page 21: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/21.jpg)
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
![Page 22: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/22.jpg)
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
![Page 23: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/23.jpg)
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!
![Page 24: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/24.jpg)
24
BPEL Diagram
![Page 25: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/25.jpg)
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
![Page 26: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/26.jpg)
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
![Page 27: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/27.jpg)
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
![Page 28: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/28.jpg)
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
![Page 29: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/29.jpg)
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
![Page 30: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/30.jpg)
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
![Page 31: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/31.jpg)
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
![Page 32: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/32.jpg)
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
![Page 33: 10 ways to integrate with bezzotech](https://reader035.vdocuments.site/reader035/viewer/2022062321/55cf987a550346d03397e014/html5/thumbnails/33.jpg)
33
My Company: http://bezzotech.com
My Blog: http://bexhuff.com
My Self: [email protected]
Questions?