Download presentation
Presentation is loading. Please wait.
Published byLaurel Roberta Lewis Modified over 9 years ago
1
Intro to Integrating Applications with Stellent Brian “Bex” Huff Chief Software Architect, Bezzotech Inc. February, 2007 or: 50 Ways to Integrate with the Content Server
2
2 Mainly covering the Stellent Content Server (SCS) Some IBPM Basics of integrations Front end: your application to the SCS Back end: SCS to your application 50 ways to integrate And 20 of them are SOAP! Fairly technical overview Recommendations Which of the 50 is right for you? Agenda
3
3 Integration Basics SCS is a service-oriented architecture Easy to consume services from remote applications (front-end) Easy to customize services (back-end) Front End Integrations Execute services, access content from other applications J2EE Portal, ASP.NET, Desktop application Run services, receive data response, draw an interface Example: run a search, perform a check-in, access documents from CRM Back End Integrations Add services, modify existing services Access remote data or applications Example: custom check-in logic, RSS feeds, LDAP
4
Front-End Integrations
5
5 J2EE: Content Integration Suite (CIS) Standards compliant J2EE application for Stellent UCM Add-on product for Stellent Compatible with, and supported on, major app servers IBM WebSphere, BEA WebLogic, SunOne, Plumtree, Tomcat Complete coverage of Stellent API Common services available as objects-oriented API Can execute any UCM services Can also interface with IBPM
6
6 J2EE: Content Integration Suite (CIS) CIS is an application that connects to the content server CIS server connects to Stellent CIS client is used in your app to connect to CIS server CIS server caches results for faster performance in peak hours Supports several kinds of J2EE connectors Content Portal Suite (CPS) for J2EE Portal Server Uses CIS to connect to Stellent Contains several sample portlets for interacting with Stellent Search, Library, Contribution, Workflow, Admin, Image Server Search (I/BPM), Federated Search (Combined search over I/BPM and UCM)
7
7 CIS Integration Options 1. J2EE Application Server CIS client uses EJBs to communicate with CIS server 2. J2EE Portal Server Use CPS portlets to make calls to CIS server May also use BEA’s Service Provider Interface (SPI) with CPS 3. Tomcat, other basic Servlet containers CIS client uses RMI to communicate with CIS server 4. JSP Taglibraries Quick access to CIS through JSP tags
8
8 CIS Integration Options – cont. 5. Spring Framework More coherent, flexible, maintainable than straight JSPs 6. J2EE Connector Architecture (JCA) interface for CIS For J2EE purists, disabled by default for performance reasons 7. Java Messaging Service (JMS) interface for CIS Get higher performance with asynchronous messages 8. Stand-alone Java application For Plain Old Java Objects (POJOs) without a J2EE framework Initialize CIS server directly for a direct connection to Stellent
9
9 Simple Object Access Protocol (SOAP) An 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 Available as a free add-on (extra) for Stellent Download the SOAP component if version is before 7.5 SOAP support built into 7.5, but you still want the WsdlGenerator component 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 Much easier to use than pure XML
10
10 SOAP Search Request <SOAP-ENV:Envelope xmlns:SOAP-ENV= "http://schemas.xmlsoap.org/soap/envelope/"> <idc:service xmlns:idc="http://www.stellent.com/IdcService/" IdcService="GET_SEARCH_RESULTS"> dDocTitle <substring> `test` 20 desc dInDate
11
11 SOAP Search Response <SOAP-ENV:Envelope xmlns:SOAP-ENV= "http://schemas.xmlsoap.org/soap/envelope/"> <idc:document StartRow="1" EndRow="20" PageNumber="1" NumPages="1" TotalRows="8" TotalDocsProcessed="377" dUser="sysadmin"> dInDate 4 20 dDocTitle `test` dDocTitle+%3csubstring%3e+%60test%60 Desc True 1...
12
12 SOAP Search Response – cont.... <idc:row dDocType="ADACCT" dRevisionID="1" dWebExtension="txt" sCollectionID="" dOriginalName="test.txt" dDocName="1234" DOC_FN="c:/stellent/weblayout/groups/public/documents/adacct/1234.txt" dFormat="text/plain" dPublishType="" dID="554" dDocAuthor="sysadmin" dOutDate="" dGif="adacct.gif" dExtension="txt" dInDate="8/8/05 1:49 PM" URL="/stellent/groups/public/documents/adacct/1234.txt" AlternateFormat="" dDocTitle="test document" dRevLabel="1" dSecurityGroup="Public" dRendition2="" dRendition1="" > This is a test 1.0000 0 14 /stellent/ 14
13
13 SOAP Benefits All Stellent services available through SOAP Can create XML request manually, or use WSDL SCS 7.5 – 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 All the drawbacks of XML and HTTP Stateless requests – both good and bad Standard security problems with HTTP Verbosity presents performance challenges Don’t execute services until you need to
14
14 SOAP Integration Options Third-party toolkits exist for most programming languages 9. Java (Apache Axis) 10. C# 11. PHP 12. Python 13. Perl 14. C++ (Apache Axis) 15. Visual Basic (MS Soap Toolkit, Pocketsoap) 16. VBScript (XmlHttpRequest ActiveX object) 17. JavaScript (using AJAX toolkits) 18. Command line apps ( curl, wget, with IsSoap=1 in URL)
15
15 SOAP Integration Options – cont. Even more third party toolkits: 19. VB.NET 20. ASP.NET 21. C (csoap) 22. Ruby (built-in) 23. Flash (Flash MX Remote Scripting) 24. Appletalk 25. Tcl/Tk 26. Smalltalk 27. Ada 28. COBOL (partial)
16
16 Command-Line Java Applications Included with Stellent Content Server Not for advanced integrations, but can get the job done 29. IdcCommand single service request Make IdcCommand file to run an archive, check in a file Create a shell script to run the command Schedule that script with cron, or Windows Scheduled Tasks 30. IdcCommand batch files Multiple service requests: configure metadata, users, check in content Resubmit a large number of items for conversion 31. Batchloader Check in large numbers of items Can generate the batchloader file with a script
17
17 ActiveX Connectors Older than.NET, but still useful Legacy VB systems, VBScript in Office Applications 32. IdcCommandUX on an ASP SOAP-like interface, but with more features Used in Site Studio 33. IdcCommandUX in a VB/COM Application For admin tools only 34. IdcClient in a VB/COM Application For desktop applications: Publisher, Site Studio use it Can pop open a browser window for content check-in
18
18 Very Lightweight Integrations For situations where you only need to do something small and specific SOAP and CIS are sometimes overkill Perhaps your developers hate XML? Perhaps your integrators don’t have time to write an application? 35. Output content as RSS (RssFeeds component) Output search results, static lists, log files 36. Import RSS content (RssFeeds component) Download a feed from another server, display in SCS
19
19 Very Lightweight Integrations – cont. 37. WebDAV Interface with Windows Explorer, Microsoft Office Very easy to use interface, but limited functionality 38. Place IsJava=1 in the URL Returns a HDA data dump for debugging, or scripts 39. Display just SCS forms without navigation links Embed form in an IFRAME, or pop up a separate browser window Pass coreContentOnly=1 in the URL May additionally pass ClientControlled, but is trickier Publisher and Site Studio sometimes use this technique
20
Back-End Integrations
21
21 Security Integrations Security model just as customizable as everything else in SCS 40. Custom User Providers Connect to LDAP/Active Directory Do complex mapping from LDAP groups to SCS roles and accounts Mostly Java code, plus some configuration 41. Custom Web Security Plug-Ins For custom Single-Sign-On integrations at the web server Examples: SSL certificates, Kerberos tokens, Nettegrity Site Minder Mostly C++ code, fewer resources available at this level
22
22 Custom Java Components Need to know Java, and Stellent Component Architecture Anything you can do in Java, you can do here 42. Add new services Run reports, process content through custom life cycles, display data 43. Customize existing services Generate a list of ‘related items’ when you get content info about an item 44. Execute code when specific Filter Events occur When the server starts-up When an item enters workflow When an item is checked-in or deleted You can alter how the service is processed, or run independent code
23
23 Remote Repository Integrations Need to know Java, and Stellent Component Architecture 45. Custom Database Providers Connect to multiple databases 46. File Store Providers (SCS 8.0) Alter how and where content item files are stored 47. Records Management Agents Manage remote data as a record, even if it isn’t in the SCS repository! 48. Use Publisher to output content, and XML Import the data into another search engine
24
24 Site Studio Integrations For integrating Site Studio web sites 49. Use SSPU to output pages to remote web farm Export Site Studio pages as static HTML for maximum performance 50. Site Studio Extensible Elements A custom contribution element, accessible from Contributor application The ‘element’ is a URL to a web form you created Users fill out values in your custom web form Upon submit, your web form returns text to the Contributor Uses a special JavaScript method Useful for allowing users to generate raw HTML in a controlled manner Parameters for Flash plug ins, Applets, JavaScript, or any arbitrary chunk of text
25
Recommendations
26
26 What Should You Use? Are you integrating a Java front-end to the SCS? CIS/CPS/Spring is probably what you want SOAP with WSDLs a good choice for lighter integrations Are you integrating a non-Java front end? SOAP is the best choice WSDLs if you choose, not always the best idea IdcCommandUX has extra features, useful on an ASP Command-line apps discouraged, but sometimes useful Are you writing a desktop application? SOAP is a good choice for behind-the-scenes integration IdcClient if you wish to have a browser-like interface for check-ins WebDAV is too rigid for extensive use
27
27 What Should You Use? Are you integrating Stellent with a remote repository? Need Java component: custom Services, custom security plug-ins Remote databases, remote user repository, email server Connect with standard Java libraries from your code JDBC, LDAP, IMAP, SOAP, RSS If you need Records Management, use Agents Do you want to execute code when specific events occur? Example: on startup, every five minutes, when content is checked-in or deleted Need Java component: Filter or chained Service Handler Hundreds of filter events and services available for customization
28
28 My Company: http://bezzotech.comhttp://bezzotech.com My Blog: http://bexhuff.comhttp://bexhuff.com My Self: bex@bezzotech.combex@bezzotech.com Please complete the session survey before you leave today Visit the Stellent Solutions Center & Partner Expo to learn more! Access this presentation* at: http://www.stellentcrescendo.com/Crescendo/Sessions/index.htm * Log-in and password required to access presentations (watch for an email containing your codes) And finally – Questions!
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.