orchestrating document and media management using · pdf fileorchestrating document and media...
TRANSCRIPT
Orchestrating Document
and Media Management
using CMIS
Technical Note - Integrating ActiveVOS with Alfresco
CMIS Services
AN ACTIVE ENDPOINTS TECHNICAL NOTE
© 2009 Active Endpoints Inc. ActiveVOS is a trademark of Active Endpoints, Inc. All other company and product names are the property of their respective owners.
2009
0
Copyright © 2009. Active Endpoints, Inc. Page 2 of 59
Content Introduction ......................................................................................................................... 3
Demonstration Scenario ................................................................................................. 3 About Content Management Interoperability Services (CMIS) ...................................... 4 About Alfresco ................................................................................................................ 4
ActiveVOS and CMIS Orchestration Overview ..................................................................... 6 UpdateRepositoryCatalog.bpel ....................................................................................... 7 Initiate Review Process ................................................................................................... 7 Get Directory Listing Process .......................................................................................... 8 Move Reviewed Doc Process .......................................................................................... 9 Alfresco Approval Group Process.................................................................................... 9
Demonstration Environment Setup and Configuration ..................................................... 10 Installation .................................................................................................................... 10 Update cmis-ws-context.xml file .................................................................................. 10 Create Alfresco ActiveVOS Project Spaces .................................................................... 11
Obtaining the Repository Id ..................................................................................... 15 Obtaining Space Ids ................................................................................................. 18
Setup and Deployment of ActiveVOS Processes ........................................................... 21 Step 1 - Download AlfrescoDemo project file .......................................................... 21 Step 2 - Deploy Workflow Processes ....................................................................... 29 Step 3 – Configure alfresco-config.xml file .............................................................. 32 Step 4 – Schedule the Initiate Review Process ........................................................ 33
Running the Demonstration Environment......................................................................... 37 Pre-requisites ................................................................................................................ 37 Testing Process ............................................................................................................. 37 Group Approval Process ............................................................................................... 42
Summary/Conclusion ........................................................................................................ 45 About Active Endpoints ..................................................................................................... 45 Appendix A - ActiveVOS Installation .................................................................................. 46
Step 1 – Run the ActiveVOS Designer Installer ....................................................... 47 Step 2 – Launch ActiveVOS Designer ....................................................................... 48 Step 3 – Configure the Embedded ActiveVOS Server .............................................. 50
Appendix B - Installing Alfresco ......................................................................................... 55 Step 1 – Download Alfresco 3.2 Community Edition ............................................... 55 Step 2 – Run Alfresco Installer ................................................................................. 55 Step 3 – Launch alf_start.bat ................................................................................... 57 Step 4 - Verify alfresco is running ............................................................................ 59
Copyright © 2009. Active Endpoints, Inc. Page 3 of 59
Introduction
Demonstration Scenario Document management systems typically offer the ability to invoke a
workflow on a pre-existing document or upon publication of the
document or media in the document repository.
Document-centric approaches have limitations. Such workflows tend to
be proprietary in nature and typically constrained to activities that can
only take place within the confines of a document repository. In most
implementation advanced capabilities such as parallel threads of
execution of the workflow is not possible.
When documents and media originates outside a document repository
and need to be handled by systems and users a different approach is
needed. As such a process (i.e. a workflow) that spans beyond the
confines of a document management system needs to be implemented.
How though does one integrate system and human interaction with
necessary document management functions?
The purpose of this document is to describe the use of ActiveVOS in
conjunction with the Content Management Interoperability Services’
(CMIS) web services interfaces.
The adjoining
demonstration project
combines ActiveVOS with
Alfresco’s CMIS services as
shown here.
The combination of Alfresco
and ActiveVOS leads to
easier integration and
development of solutions
for customers. One of the
key components of the
integration between
Alfresco and ActiveVOS is
the use of the CMIS web
services.
Copyright © 2009. Active Endpoints, Inc. Page 4 of 59
This approach provides content management systems such as Alfresco
with
Enhanced workflow capabilities o Human process governance o SLA monitoring/ escalations
Easier integration with services and applications
Better reporting and process visibility with ActiveVOS BAM/BI functionality
Access to document management for access to document and media content and metadata
About Content Management Interoperability Services
(CMIS) On September 10, 2008 a group of Enterprise Content Management
vendors including EMC Corporation, IBM Corporation and Microsoft
Corporation announced the publication of Content Management
Interoperability Services (CMIS) specification and a collection of
associated schemas, WSDLs, and XML instances. CMIS’s objective is to
define a domain model and set of bindings, such as Web Service and
RESTful AtomPub that can be used by applications to work with one or
more Content Management repositories/systems.
CMIS web services expose a series of vendor independent operations/
functions are exposed via the WSDL (or REST) interface. Through the
use of these services content management solutions such as Alfresco’s
enable access to content and media to applications and processes build
with ActiveVOS. For further information on CMIS, you can follow these
links:
http://www.oasis-
open.org/committees/tc_home.php?wg_abbrev=cmis
http://wiki.alfresco.com/wiki/CMIS
About Alfresco The demonstration orchestration project described herein and the
adjoining ActiveVOS project leverage Alfresco CMIS content
management APIs. Alfresco is a provider of an open source enterprise
content management platform depicted here.
Copyright © 2009. Active Endpoints, Inc. Page 5 of 59
To learn more about Alfresco please visit www.alfresco.com.
Copyright © 2009. Active Endpoints, Inc. Page 6 of 59
ActiveVOS and CMIS Orchestration Overview The demonstration environment includes an ActiveVOS Orchestration
project that you can download from the same location in the In-Depth
section where you found this document.
The Import the Alfresco Project section of the orchestration project
describes how to import the project’s content. To view the process
definitions, you can double click within Project Explorer after to see the
visual process representations.
The project contains the content shown here.
<- Alfresco space names <- Workflows to be deployed <- Reference configuration data files for demo <- Deployment files <- Sample data folder <- WSDL interfaces to Alfresco
Copyright © 2009. Active Endpoints, Inc. Page 7 of 59
UpdateRepositoryCatalog.bpel
This workflow is responsible for
updating the catalog file
containing the Alfresco
repository space id.
It uses a CMIS getRepositories
operation call to get the main
repository space id from the
Alfresco repository.
Via standard Assign/ Copy BPEL
operations, the alfresco-
config.xml file is updated in the
ActiveVOS catalog.
Initiate Review Process The Initiate Review process
(InitiateReview.bpel) queries the Alfresco
“ready” for review folder. For each
document in folder, it moves each document
to “Under Review” folder in Alfresco. Also it
initiates group review.
This process is scheduled to run periodically.
Refer to Step 4 – Schedule the Initiate Review
Process later in this document for details on
how to configure the process schedule.
Copyright © 2009. Active Endpoints, Inc. Page 8 of 59
Get Directory Listing Process This process (GetDirectoryListing.bpel) is invoked by
the Initiate Review process
“QueryDirectoryOperation” activity.
The “Query” activity invokes an CMIS function to get a
list of files in the “Ready” folder that needs to be
processed.
Copyright © 2009. Active Endpoints, Inc. Page 9 of 59
Move Reviewed Doc Process
This process is invoked by the
Initiate Review process’
“MoveDoc” activity.
It gets the folder ids from the
catalog file.
Based on the group consensus
(Accept or Deny), the file is
moved to either Accepted or
Rejected Alfresco folder using
a CMIS defined operation.
Alfresco Approval
Group Process The Alfresco Group
Approval Process
(AlfrescoGroupApprovalPro
cess.bpel) invoked from the
SendDocToReview activity
of the Initiate Review
Process makes a copy of the
Copyright © 2009. Active Endpoints, Inc. Page 10 of 59
document from the Alfresco folder. A human task is launched for each of
the 3 reviewers (approver1, approver2 and approver3) and a copy of the
same file is sent to each of them.
Demonstration Environment Setup and Configuration This section describes the setup and configuration steps necessary to run
the demonstration environment comprising ActiveVOS and Alfresco.
Installation This demonstration environment described in this document assumes
the following:
1. Windows XP Operating System - The demonstration environment can
be installed on a Linux platform but the steps for this are not
provided in this document. Please contact
[email protected] for assistance.
2. Alfresco Version - General Available (GA) version of Alfresco 3.2
Community Edition.
3. ActiveVOS Version - ActiveVOS 6.2.1 is used to illustrate the
examples.
Appendix A and B respectively describe the steps to download and install
ActiveVOS and Alfresco.
Update cmis-ws-context.xml file
If you are running with ActiveVOS 7.0 or later, as part of the setup, you
need to update “cmis-ws-context.xml” to remove the requirement for
timestamps on the messages.
You will find this file in a directory like
….tomcat\webapps\alfresco\WEB-INF\classes\alfresco
Remove “Timestamp” from wss4jInInterceptor id as shown below
Pre-edit version
Copyright © 2009. Active Endpoints, Inc. Page 11 of 59
Post edit version
Create Alfresco ActiveVOS Project Spaces The demonstration project relies on the existence of pre-named “spaces”
(or “folders”) within the Alfresco content management repository. From
the Alfresco administrative console GUI, it is easy to configure these
required spaces. From the main Alfresco GUI, using the Navigator, go to
“Company Home” and view entries for “User Homes”. After the initial
installation, this “space” will not have any items as shown below.
Copyright © 2009. Active Endpoints, Inc. Page 12 of 59
Select Import
Point to the ActiveVOS.acp file. This file is included in the
AlfrescoDemo.zip file in the folder “acp” see section
Copyright © 2009. Active Endpoints, Inc. Page 13 of 59
Now do a refresh on the User Homes
And now drill into the ActiveVOS space
Copyright © 2009. Active Endpoints, Inc. Page 14 of 59
At this point, you can delete the ActiveVOS.acp file
When you click on the ActiveVOS space, you should see a folder/
directory structure similar to the following:
Copyright © 2009. Active Endpoints, Inc. Page 15 of 59
Obtaining the Repository Id
As part of the workflows, it is required to obtain the repository Id.
You can get the repository id by running the
UpdateRepositoryCatalog.bpel process
An easy way to do this is the use the ActiveVOS Admin Maintenance
Scheduler.
Logon to ActiveVOS console (http://localhost:8080/activevos)
Goto Admin -> Maintenance -> Scheduling
Click on “Create Schedule” link
Copyright © 2009. Active Endpoints, Inc. Page 16 of 59
Now enter the appropriate values to define the one time schedule
Name: Alfresco Repository Id
Frequency: Once
Service Name: CatalogUpdatePort
Input Message : contents
<MessageInitiate xmlns="http://activevos.com/jdj/initiate">
<initiate/>
</MessageInitiate>
available from sample-data folder in file InitiateStub.xml
Copyright © 2009. Active Endpoints, Inc. Page 17 of 59
Select “Run Now” to have it execute. If you want to verify the
correct execution of this task, use the ActiveVOS Admin Console
Monitor Process Monitoring Active Processes
And click on the process instance
Copyright © 2009. Active Endpoints, Inc. Page 18 of 59
Obtaining Space Ids
As part of the workflows, you need to have the Alfresco space ids
(identifiers). To discover these values, you can use the Alfresco GUI to
discover the values.
Copyright © 2009. Active Endpoints, Inc. Page 19 of 59
From the Space Navigator, click on Accepted and then, select “More
Actions” & “View Details”
Copyright © 2009. Active Endpoints, Inc. Page 20 of 59
Record these spaceIds for updating the alfresco-config.xml in an
upcoming step.
Copyright © 2009. Active Endpoints, Inc. Page 21 of 59
Setup and Deployment of ActiveVOS Processes Now that the Alfresco components have been configured, you can start
on the configuration of the ActiveVOS workflow components.
Step 1 - Download AlfrescoDemo project file
As part of the example, there is an AlfrescoDemo.zip file
Import the Alfresco Project
At this point, you can import the ActiveVOS projects for the Alfresco
demo.
If you have copied the zip file to a location like:
C:\temp\Afresco\AcitveVOS demo
Copyright © 2009. Active Endpoints, Inc. Page 22 of 59
You can use the Eclipse project import capability to import the project
contents to your ActiveVOS Designer.
Use the File/ Import option
Copyright © 2009. Active Endpoints, Inc. Page 23 of 59
Click on “Open”
Select “Finish”
After the import is completed, you will see
Copyright © 2009. Active Endpoints, Inc. Page 24 of 59
Configure tomcat-users.xml
To modify the tomcat-users.xml file:
Goto the “Server” Tab and select you ActiveVOS Embedded server entry
Copyright © 2009. Active Endpoints, Inc. Page 25 of 59
Right click to bring up the menu and click on “Open”.
You will then see a screen like the following.
Copyright © 2009. Active Endpoints, Inc. Page 26 of 59
Expand “Configure Identify Provider” by clicking on the text
Now you can click on the tomcat-user.xml hyperlink to begin editing of
the identity XML file.
Copyright © 2009. Active Endpoints, Inc. Page 27 of 59
Switch from the “Design” to “Source” view and add the following lines
<!-- Alfresco demo integration users -->
<user username="approver1" password="approver1" roles="abTaskClient"/>
<user username="approver2" password="approver2" roles="abTaskClient"/>
<user username="approver3" password="approver3" roles="abTaskClient"/>
To the file, You can cut and paste from this word document).
You must restart your embedded server to have these new users take
effect.
To test the users, you can use the ActiveVOS console
Copyright © 2009. Active Endpoints, Inc. Page 28 of 59
Click on “Test” Tab
If the test for approver1 fails, stop and start your embedded server (from
the servers tab).
When the ActiveVOS embedded server has been restarted, test for the
“approver1” id again.
Copyright © 2009. Active Endpoints, Inc. Page 29 of 59
Step 2 - Deploy Workflow Processes
Click on Deploy Icon in ActiveVOS console.
Navigate and select “AlfrescoDemo.bpr” file in the
“../workspace/AlfrescoDemo/deploy” directory
Click Open
Copyright © 2009. Active Endpoints, Inc. Page 30 of 59
And then click on “Deploy”
Copyright © 2009. Active Endpoints, Inc. Page 31 of 59
You can typically ignore the warning messages.
Verifying successful deployment
Copyright © 2009. Active Endpoints, Inc. Page 32 of 59
Step 3 – Configure alfresco-config.xml file
The alfresco-config.xml will contain the Alfresco repository and space ids
as reference values in an xml file.
To edit, this file, launch the ActiveVOS console
(http://localhost:8080/activevos) and navigate to the Catalog/
Resources/ All page
Copyright © 2009. Active Endpoints, Inc. Page 33 of 59
Edit the above file to set the parameters for the Alfresco spaces. Use the
information collected in the Create Alfresco ActiveVOS Project Spaces
section
Click on Update when you have completed the changes.
Step 4 – Schedule the Initiate Review Process
To schedule the Initiate Review process’ execution, an ActiveVOS
schedule task needs to be configured. To do this, launch an ActiveVOS
Console session and navigate to:
Admin Maintenance Scheduling
Copyright © 2009. Active Endpoints, Inc. Page 34 of 59
You should see a screen similar to the following:
When you click on “Create Schedule”, you will see a dialog similar to
following screen
Copyright © 2009. Active Endpoints, Inc. Page 35 of 59
Configure the scheduling task with the following
Name “Alfresco Polling”
Frequency once – we will launch manually; in a production mode,
this could be set to run periodically (e..g 1/minute or 1/hour)
Service Name InitiateStub - if you click on the link “Services”, you
should see a list similar to the following
Input document see AlfrescoDemo/sample-data/
InitiateStub.xml file for contents for Input document
Copyright © 2009. Active Endpoints, Inc. Page 36 of 59
This will be used in the end to end testing of the Alfresco/ ActiveVOS
integration.
Copyright © 2009. Active Endpoints, Inc. Page 37 of 59
Running the Demonstration Environment
Pre-requisites Prior to running the end to end tests, you should have the following
installed and running:
Alfresco mySQL
Alfresco Tomcat application server with Alfresco software
ActiveVOS Designer with embedded server started
Testing Process The testing cycle is detailed below.
Step 1 – Add file to “ready” folder
Use Alfresco console (http://localhost:28080/alfresco )
Enter credentials and click on “Login”
Copyright © 2009. Active Endpoints, Inc. Page 38 of 59
If necessary login as “Admin”
Navigate to “Received” folder
Company Home User home ActiveVOS Received
Select “Received” hyper link
Copyright © 2009. Active Endpoints, Inc. Page 39 of 59
Now select the “Add Content” link and follow the prompts to upload
your file.
“Browse” to the file you want to upload.
Copyright © 2009. Active Endpoints, Inc. Page 40 of 59
Copyright © 2009. Active Endpoints, Inc. Page 41 of 59
Step 2 - The Initiate Review process must be scheduled
In the prior section, we configured the scheduler entry for this process.
You can now using ActiveVOS console to have the process execute
immediately.
http://localhost:8080/activevos/scheduling.action
Click the check box next to “Alfresco Polling” and then click on “Run
Now”. This will allow ActiveVOS to detect files and launch the workflow.
Copyright © 2009. Active Endpoints, Inc. Page 42 of 59
The InitiateReview process queries the Alfresco “ready” for review
folder. For each document in folder, it moves each document to “Under
Review” folder in Alfresco. Also it initiates group review.
Group Approval Process
The AlfrescoGroupApprovalProcess.bpel makes a copy of the document
from the Alfresco folder. A human task is launched for each of the 3
reviewers (approver1, approver2 and approver3) and a copy of the same
file is sent to each of them.
To make the approval or deny of the document, each of the human task
reviewers will login to the ActiveVOS inbox by starting a web browser
session ( http://localhost:8080/activevos-inbox )
Copyright © 2009. Active Endpoints, Inc. Page 43 of 59
Each reviewer (approver1, approver2, approver 3) to enter in their
username and password.
ActiveVOS – WS Human Task
© Active Endpoints
Approve or Reject Document
Alfresco Document
Copyright © 2009. Active Endpoints, Inc. Page 44 of 59
After 2 acceptances (Approved = true) or 2 Denies (Approved = false) are
received (from a possible 3 participants), the ActiveVOS process would
then launch the “move document” workflow
The document is then moved from Under Review folder to either
Accepted or Denied folder.
Check movement of file on Alfresco portal to appropriate folder by
logging into the Alfresco Console (e.g. http://localhost:28080/alfresco )
and navigating to the appropriate space
Company Home ActiveVOS Accepted
Copyright © 2009. Active Endpoints, Inc. Page 45 of 59
Summary/Conclusion Integration between ActiveVOS and Alfresco is simple via the CMIS web
service interface or REST API. The examples provided show the ease of
quick integration between the Alfresco repository and simple standards
based graphical process workflows within the ActiveVOS product set.
Please feel free to contact Active Endpoints for more details on the
integration.
About Active Endpoints Active Endpoints’ (www.activevos.com) ActiveVOS is the business
process management system (BPMS) that development teams will love.
ActiveVOS empowers project teams to create business process
management (BPM) applications using services, making their businesses
more agile and effective. ActiveVOS promotes mass adoption of SOA-
enabled BPM applications by focusing on accelerating project delivery
time with a complete, affordable and easy-to-use system. Active
Endpoints is headquartered in Waltham, MA with development facilities
in Shelton, CT.
To find out how Active Endpoints can help your business, visit
http://www.activevos.com, call +1 781 547 2900 and press 1 for Sales, or
email us at [email protected].
Copyright © 2009. Active Endpoints, Inc. Page 46 of 59
Appendix A - ActiveVOS Installation To install ActiveVOS download the 30-day evaluation version of
ActiveVOS from the following link: http://activevos.com/download-
trial.php
If you have any issues with the download, please send an email to:
You will receive a license file shortly after Active Endpoints staff contacts
you to learn more about your needs.
The installation of ActiveVOS is straight forward. At the appropriate
time, you will be prompted for your 30 day license key. Again, if you
have any issues with the license key, please contact
When you have completed the installation of the evaluation version of
ActiveVOS, you will have an all-in-one eclipse based environment with
Eclipse 3.4
ActiveVOS plug ins o ActiveVOS Designer
Copyright © 2009. Active Endpoints, Inc. Page 47 of 59
o ActiveVOS embedded server
In memory database (Derby)
The embedded ActiveVOS server will provide you with the execution
environment needed to run the demonstration integration project.
Step 1 – Run the ActiveVOS Designer Installer
After you have downloaded the Windows installer from the link,
Double-click to launch the installer.
You will be prompted for an ActiveVOS license key file. This is typically
emailed to you as a separate attachment after you make your initial
download request. If you did not receive your evaluation license key file
in an email message (please check your junk mail folders first), send an
email to [email protected] asking for assistance.
Upon successful installation of the ActiveVOS software, you will see a
screen similar to the following:
Copyright © 2009. Active Endpoints, Inc. Page 48 of 59
Step 2 – Launch ActiveVOS Designer
Launch ActiveVOS Designer from the ActiveVOS Start Menu created by
ActiveVOS Designer installer.
Next, you will be asked to select a workspace location where to create
ActiveVOS Orchestration Projects. Accept the default for the workspace
name and continue
Select the option “Use this as the default and do not ask again” for
convenience when you launch the ActiveVOS eclipse based tool again.
You can close the welcome screen when it appears and proceed directly
to the ActiveVOS Designer workbench screen.
Copyright © 2009. Active Endpoints, Inc. Page 49 of 59
Copyright © 2009. Active Endpoints, Inc. Page 50 of 59
Step 3 – Configure the Embedded ActiveVOS Server
As part of the ActiveVOS setup, you must configure an instance of the
ActiveVOS embedded server. To do this, click on the “Servers” tab to
bring into focus.
Now with your cursor in the server panel, <right click> to bring up the
“New” option as shown below
When you highlight the blue “New” option, you will have a chance to
select the “Server” option.
When you click on “Server”, you will get the following dialog screen
Copyright © 2009. Active Endpoints, Inc. Page 51 of 59
Select Next
Copyright © 2009. Active Endpoints, Inc. Page 52 of 59
Click on “Next”
Accept the port defaults. As appropriate, if there are port conflicts, you
may need to change these settings.
Copyright © 2009. Active Endpoints, Inc. Page 53 of 59
Click on Finish and you should see a screen similar to the following with
your new ActiveVOS server definition.
You can click on the green Server Start
icon and the ActiveVOS server will startup
Copyright © 2009. Active Endpoints, Inc. Page 54 of 59
A new pane “Console” will display the startup progress.
You will see a message in the console “INFO: ********** ActiveVOS Enterprise Started” when the server has
completed its startup process.
If you click back in the Server tab, you will see
That the server status is now “Started” versus “Stopped”
Copyright © 2009. Active Endpoints, Inc. Page 55 of 59
Appendix B - Installing Alfresco As part of the Alfresco software installation you will perform two main
activities:
Creating Tomcat application server instance with Alfresco software
Create mySQL database instance
These software components will be installed by running the single
Alfresco install wizard.
Step 1 – Download Alfresco 3.2 Community Edition
Download Alfresco 3.2 Community Edition software from
http://wiki.alfresco.com/wiki/Download_Community_Edition.
The file when downloaded should be approximately 370 MB
Step 2 – Run Alfresco Installer
Click/ launch this executable.
Copyright © 2009. Active Endpoints, Inc. Page 56 of 59
After specifying a root directory (e.g. C:\AlfrescoCE3.2) with the exe file,
and accepting the default directories, you will get something like the
following on your drive:
Hints:
1. Ports
To facilitate the construct of this demo, we set the Alfresco ports
to be 28080 (versus the regular 8080) to avoid conflicts with
ActiveVOS.
Copyright © 2009. Active Endpoints, Inc. Page 57 of 59
In addition, you should change the ports (e.g. 8005 -> 28005) in
the Alfresco Tomcat server.xml
This will be located in a directory like
“C:\AlfrescoCE3.2\tomcat\conf”.
2. Remove unnecessary .war and folders
To speed up startup of the Alfresco software, you may want to
consider deleting the following from the from the
C:\AlfrescoCE3.2\tomcat\webapps directory :
mobile.war
studio.war
\mobile directory
\studio directories
Step 3 – Launch alf_start.bat
In the root Alfresco install directory (e.g C:\AlfrescoCE3.2), you will see a
batch file alf_start.bat.
Click/ launch this file and you will create 2 windows:
a) MySQL – default database for alfresco tomcat instance
b) Alfresco tomcat instance
Copyright © 2009. Active Endpoints, Inc. Page 58 of 59
Copyright © 2009. Active Endpoints, Inc. Page 59 of 59
Step 4 - Verify alfresco is running
Start browser session with URL : http://localhost:28080/alfresco