Mumbai, India
ecmnotes.com parag@ecmnotes.com

SBO Implementation

  • A service-based business object doesn’t map to a particular object type in the Docbase. Instead, it provides general purpose functions for your application to use. Service-based objects can be used across docbases, even accessing multiple docbases at once. These service-based objects are intended to be called from your own custom GUIs or as convenience functions from within your type-based objects.
  • Service-based objects were designed and optimized for multi-user, mutli-threaded, multi-docbase web applications.

Create SBO in Documentum Composer:

  • Create an interface IMyService that extends IDfService
             public interface IMyService extends IDfService {
                //your method that executes your code
                //it is possible to define more than one method
               public void setAttributes(IDfSysObject sysObj, IDfSession session) throws DfException;
                }
  • Create the implementation class for your interface: MyService.  Make sure it extends DfService and implements your service.
           public class MyService extends DfService implements IMyService {
           //implement your method(s) you have defined in the interface
           public void setAttributes(IDfSysObject sysObj, IDfSession session) throws DfException {
             sysObj.setTitle("Accessed from the SBO!");
             sysObj.setAuthors(sysObj.getAuthorsCount(), “Parag Doshi“)
            }
           }
  • Package the interface and implementation in 2 different jars.
  • Create JAR Definition-artifacts for the 2 jars (i.e. my_service_impl and my_service_inter)
  • Create a Module-artifact of type SBO.  Use the full packagename of your interface as the SBO-name
  • Build the project, and install it in the repository
  • To check if your SBO is installed:
    • Browse to /System/Modules/SBO
    • Check if your SBO is present
    • If your SBO uses other modules or dependencies, you can check there if they are correct.

Leave a Reply