cancel
Showing results for 
Search instead for 
Did you mean: 

Java SDK protocol

Former Member
0 Kudos

Hi,

We are preparing to setup our environment to accept a application that will utilize Business Objects. We have been told that the application will use both the Java SDK and Web Services.  In our infrastructure we will be installing tomcat on a different severs than CMS.  We will be using an F5 load balancer to distribute the load between the Tomcat web servers and clustering our CMS servers.  We need to ensure all protocols are secured but we aren't clear on the communication paths.  We know that the webs services over SOAP/HTTP(s) are routed through the Tomcat web servers but aren't clear on how the Java SDK calls are routed from the application

a couple questions.

1) When using the Java SDK will the communications be routed through the Tomcat Web Servers then to CMS or does the application using the SDK connect directly to the CMS cluster?

2) does the Java SDK use CORBA as the communication protocol?

2) Are all communications between the Tomcat Web Servers and the CMS services over CORBA?

Dell requested I begin a new thread for this question.

Thanks in Advance

Accepted Solutions (0)

Answers (4)

Answers (4)

former_member185165
Active Participant
0 Kudos

Hi Manuel,

We have a similar solution in place. You need to have all the web services written on the tomcat. This tomcat has to be in other than CMS. The communication between Tomcat and CMS SDK should be through COBRA.

1) When using the Java SDK will the communications be routed through the Tomcat Web Servers then to CMS or does the application using the SDK connect directly to the CMS cluster? Yes when you have to invoke some web services to use the services, else direct to cms

2) does the Java SDK use CORBA as the communication protocol? Yes

2) Are all communications between the Tomcat Web Servers and the CMS services over CORBA? Yes

Regards,
Vijay

Former Member
0 Kudos

Hi Manuel,

Mitesh is absolutely right.

Also want to add some points over here that the use of BusinessObjects Enterprise SDKs is not supported/recommended in a standalone application because the BusinessObjects Enterprise SDK is only intended for use in web applications. To build standalone applications, use Business Objects web services.

All request is always first goes to Web application server i.e Tomcat which is only accept the http request & if you are designing the stanalone web service application, it is also sending the http request embedded in the form of URL to web app server to connect to the CMS.

So the conclusion is you can only send the http request to achieve any task using BusinessObjects SDKs. CORBA architecture is only the internal infrastructure of BusinessObjects to communicate with the other servers which is internal to BOE architecture.

Please refer the link and BusinessObjects Administrator Guide Architecture Overview section for detailed information about communication protocols.

Hope this helps.

Thanks,

Shailendra

DellSC
Active Contributor
0 Kudos

Shailendra Sharma wrote:

Also want to add some points over here that the use of BusinessObjects Enterprise SDKs is not supported/recommended in a standalone application because the BusinessObjects Enterprise SDK is only intended for use in web applications. To build standalone applications, use Business Objects web services.

I think I have to disagree with you on this point Shailendra.  I use the SDK almost exclusively in applications that have no GUI interface at all.  They do things like create Enterprise aliases for all WinAD users, export/backup files using the BIAR Engine, pull various information out of the CMS and export it to .csv files, etc.  I use the regular SDK for either 3.1 or 4.x and I have no problems with passing along various information on the command line or through properties files.  The Web Services SDK does not have all of the functionality I need to do the types of things that I'm doing.  So, the regular SDK is more than capable of working in a non-web app situation.

-Dell

Former Member
0 Kudos

There are two ways to connect to business objects using sdk, one is java based or .NET sdk and another one is Webservices SDK.

Webservices SDK will always use SAOP.

Regarding Java SDK, there are two ways you can connect to Business Objects using Java SDK.

- Either Deploy the java program on application server : this would be either servlet or jsp or any other bean which would be deployed on application server. This application server will contact the CMS server directly. The communication would be done on HTTP, from Client to Application server.

- Another way is to write a program and execute the program on third party tools like Eclipse, RAD or even command prompt. This will also hit the CMS server directly, however, the communication not be on HTTP.

CMS server will always communicate on CORBA communication layer. Any communication happening from CMS to any other server in Business Objects is done on CORBA layer.

Java will be a client to tool over here and any client tool which will communicate to CMS will be working on CORBA communication layer.

I will research more on this and will get back to you on this thread.

Regards,

Mitesh Joshi

DellSC
Active Contributor
0 Kudos

There is a third way to connect if you're on BI 4.x - the RESTful web services.  They can be used with any programming language that can build HTTP requests and consume HTTP responses.  The responses are in XML or JSON format, depending on how you set up the header on the request.  The best thing about them is that you don't have to install any runtime/development libraries.  However, the RESTful web services are still evolving so not all the functionality of the Web Services or the regular Java and .NET SDKs is available yet.

-Dell

DellSC
Active Contributor
0 Kudos

1.  The communication from the regular Java SDK will go directly to the CMS, not through Tomcat.  The Java Web Services SDK communication will go through the web server.

2.  I don't think so.  I think CORBA is only used for communications between the server processes on the servers in your CMS cluster.  If I'm wrong, hopefully someone will correct me.

3.  I don't think so - see above.

Also, by default, the CMS and the various server processes that are part of BO will run on a set of mostly random ports between 6400 and 6499.  However, in the Central Management Console (CMC) each process can be configured to use a specified port.  If there's a firewall between the CMS cluster and the Tomcat servers, best practice is to configure the specified ports and open those ports in the firewall.

Another best practice that I've used with my clients is to configure SSL at the load balancer instead of on Tomcat.  You can then configure the load balancer on the outside of the firewall with the URL for BO on the standard SLL port then open port 8080 through the firewall for communication with Tomcat and have your Tomcat servers inside the network.  With this configuration you frequently don't have to configure specified ports.  You can get more information on this type of question by posting in the BI Platform space - it's not specific to any of the SDKs.

-Dell