06 - Documentum Java Method Server

11
EMC Documentum’s Java Method Server Kamel BELGACEM – S.C. Euroscript-Certitude S.R.L. January 2011

description

documentum jms

Transcript of 06 - Documentum Java Method Server

Page 1: 06 - Documentum Java Method Server

EMC Documentum’s Java Method Server

Kamel BELGACEM – S.C. Euroscript-Certitude S.R.L. January 2011

Page 2: 06 - Documentum Java Method Server

Java Method Server - Summary

Method Servers Java Methods Anatomy Skeleton Deployment Tracing Running JM Server Checking JM Server Known Issues

Page 3: 06 - Documentum Java Method Server

Java Method Server – Method Servers

Method Server ?– A way for server-side scripting in Documentum– Hosts and executes server-side methods

Available Method Servers– Docbasic Method Server– Java Method Server

Page 4: 06 - Documentum Java Method Server

Java Method Server – Java Method Server

Java Methods in Content Server– Run as separate processes– Hosted by Apache TomCAT (customized)– Called by

Jobs Operating System (system exec) Custom client application (API exec, HTTP call)

Java Methods vs Java Applications– Multiple instances of a JM, without spawning multiple JVM processes

Saves memory and resources => improves performance

– JM Server is a separate process, could be maintained without recycling the Content Server

Page 5: 06 - Documentum Java Method Server

Java Method Server - Anatomy

Anatomy– Implements IDmMethod interface– Implements the execute() method– Creates a new session– Throws an Exception instead of exit()– Releases the session once finished

Page 6: 06 - Documentum Java Method Server

Java Method Server - Skeleton

Skeleton

import java.util.*;import java.io.OutputStream;import com.documentum.mthdservlet.IDmMethod;import com.documentum.fc.client.*;import com.documentum.fc.common.*;

public class MyServerMethod implements IDmMethod { public void execute(Map params, OutputStream ostream) throws Exception { // Log on the to docbase and get a session manager like this: // IDfSessionManager sessionMgr = dfClient.newSessionManager(); // and get a session from the session manager

// Add your business logic here …

} catch (DfException e) { ostream.write("A DfException occurred".getBytes()); ostream.write(e.getMessage().getBytes()); e.printStackTrace(); } finally { // If session is not null release the session to the // session manager here. }

}

Page 7: 06 - Documentum Java Method Server

Java Method Server - Deployment

Deployment– Compile the method (i.e.: MyServerMethod.class)– Stop TomCAT if running– Copy your method to $DM_HOME/dba/java_methods– Restart TomCAT– Open Documentum Administrator– Click Administration > Job Management > Methods (left pane)– Click File > New > Method (menu bar)– Write a name for your method (i.e.: dmc_MyServerMethod)– Write a verb (better use fully-qualified name of your method class)– Select java as Method Type– Check Run As Server (to get all privileges)– Uncheck Launch Direct (to prevent OS's execution)– Check Use Method Server– Click Finish

Page 8: 06 - Documentum Java Method Server

Java Method Server – Tracing & Server Start-up

Tracing– Outputs and logs of JMs could be activated

Open $DM_HOME/tomcat/webapps/DmMethods/WEB–INF/web.xml Set the trace parameter to true for the servlet DoMethod

– Logs are stored in $DM_HOME/tomcat/logs

Running JM Server– Binaries are located in $DM_HOME/tomcat/bin– Windows: Start > Programs > Administrative Tools > Services

<init-param> <param-name>trace</param-name> <param-value>t</param-value></init-param>

Page 9: 06 - Documentum Java Method Server

Java Method Server – Checking JM Server

Checking JM Server– URL: http://<host>:9080/DmMethods/servlet/DoMethod– You should see “Documentum Java Method Server”

Page 10: 06 - Documentum Java Method Server

Java Method Server – Known Issues

Known Issues– Asynchronous method execution is to avoid

Sessions opened are limited The execution agent launches hundreds or more external method processes

=> Higher load on Content Server and Oracle Database TomCAT's limitation of simultaneous processes is weak

– Synchronous method execution could fail Under heavy load, DO_METHOD method fails Whenever your application gets a failure, keep retrying

Page 11: 06 - Documentum Java Method Server

Thank you very much!Vă mulţumesc !