- 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.