Deploying a Service Business Object in 5.3
This one is closer to my heart since i spent a lot of time trying to figure this one out what with being a novice in Documentum and tight deadlines and the works. I had a faint idea on how to deploy a SBO with 5.2 which if I am correct is like this:
1. Build a jar with your source files
2. Add an entry to your dbor.properties file, something like a descriptor for your Business Object, which looks something like this:
com.myexample.sbo.ITestService = service,com.myexample.sbo.impl.TestService,1.0
(Interface class = service, Implementation Class, version)
3. Place this jar on each client machine, so that it figures in the machine’s classpath
Easy. Not the best way to do it, but still pretty easy.
What changed with 5.3 is that you can add your Business Object as a module in the docapp and upon connecting to the docabase the jar file will be automatically downloaded to the client machine. No need to add it to the classpath and no need for an entry in the dbor.properties file. Elegant solution.Yeah, but the problem is that there is more documentation on how to actually code a SBO than there is on deploying it through the docapp.
I sifted through dozens of forum threads and docs online but never quite got it working. In the end, what I figured out was that everywhere there was some crucial step missing or some information assumed to be already known to the user and hence left out. Two very helpful links I found during this quest: http://www.dmdeveloper.com/articles/dfc/bof_practical.html and http://developer.emc.com/developer/Articles/BOF2Registration.html
Especially the one at EMC is really helpful and the most complete document available on this subject.
So now since I got it working, let me retrace the steps:
1. While installing Content Server, enable the docbase as a Global Repository, even if you are using only ONE docbase.(My perception was that you need a docbase configured as Global Rep. only when you are working with multiple docbases or repositories. But it turned out that you need your Global Repository even if you are working with one docbase.)
2. Build your implementation and interface jars and add them to the docbase as a new module.
3. Add the following lines to your dfc.properties file:
dfc.bof.registry.repository=test_docbase
dfc.bof.registry.username=test_docbase_bof
dfc.bof.registry.password=f3n3A5KP+A0DG3WGA==
Substitute the corresponding values with whatever is applicable to your environment. The key thing here is that you need to set the user dm_bof_registry to active before doing this. Although the EMC article states that you need to set the property dfc.bof.registry.username to dm_bof_registry, from my experiences I found that dmadmin will also work fine here, infact any user will be fine until he has access to BOF Registry. Also you can encrypt the password with the cmd line utility mentioned in the EMC article.
They also have a nifty little utility code to test if your global repository is working fine.
1 comment so far
Leave a reply
Hi,
Do you know if you can use a mixture of BOF 5.2 and BOF 5.3?