Settings for Running Business Objects over HTTP
Settings on the Server:
- Register the Business Object.
- Add required Business Object Registry entry. Add a key with the
progID
of the Business object as the text under the following:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\
Services\W3SVC\Parameters\ADCLaunch.
Settings on the Client:
There are no settings required on the client.
Settings for Running Business Object over DCOM
DCOM through RDS does not require Internet Information Server at the server
side.
Settings on the Server:
- Register the Business Object.
- If the Business object is an In-Process COM Server, then a surrogate
process needs to be set to host the business object.
This can be done using the Oleview utility or by adding a LocalServer
key for the business object and setting it to the path of the default
surrogate process Dllhost.exe. This .exe file is in SYSTEM32 directory.
Here are the steps for setting up a surrogate process:- Run the OleView Tool (Oleview.exe) that comes with Visual C++.
- Select the object in the left pane treeview for which you want the
surrogate process to be set.
- Go to the Implementation tab in the right pane and select the Use
Surrogate Process check box.
- Enter "c:\winnt\system32\dllhost.exe" (this is the default
surrogate given with Windows NT) in the "Path to Custom Surrogate"
edit box.
- Set the launching permission to the launching user. Security can be
modified by using the utility "DCOM configuration" (Dcomcnfg.exe) on the
Server.
Settings on the Client:
- An entry key under HKEY_CLASSES_ROOT must
contain a mapping of the
ProgID to the ClsID. For example:
HKEY_CLASSES_ROOT\<BusinessObjectPROGID> = <BusinessObjectCLSID>
- Under the following key there needs to be proper subkeys to set the
business object safe for scripting and initialization as explained in
the RDS online documentation:
HKEY_CLASSES_ROOT\CLSID\<BusinessObject ClassID>\Implemented
Categories
[HKEY_CLASSES_ROOT\CLSID\<ClassID Of BusinessObject>\Implemented
Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}]
[HKEY_CLASSES_ROOT\CLSID\<ClassID Of BusinessObject>\Implemented
Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}]
Special Considerations when Invoking an Object on the Same
Computer
If you use RDS.DataSpace to create an instance of a business object on the
same computer as the client by giving the name of the computer, it fails to
create the object. For example, if the client and server are on the same
computer called "MyServer" using the following fails:
Dim ds as New RDS.DataSpace
ds.CreateObject("YourBusinessObjectProgID", "MyServer")
If the business object is on the same computer as the client, you should
invoke the object locally by specifying an empty string for the second
argument rather than a server name. For example:
ds.CreateObject("YourBusinessObjectProgID", "")