BO SDK Development

SDKs might appear appropriate choice, but choosing the wrong one could waste a lot of your time and money. Discover which SDK "belongs" to each Business Objects product you've installed. By choosing the best one you can get your development project off to the right start. Understand the differences between the component SDKs and the Enterprise SDKs, when each is most appropriate, and how you can easily upgrade component technologies to server-based technologies. You'll leave this breakout with a solid understanding of how each SDK fits into the Business Objects and Crystal product roadmap, and how you can find resources to help your development projects.

Business Objects provides a full stack of BI Products
full-stack-bo-products.jpg

There are some critical questions to be answered before proceeding, such as:
• Does your company need a desktop or a web application?
• Does your company need centralized report management?
• Does your company have existing investments in Crystal Reports, WebI Reports, Desktop Intelligence/Full Client Documents,
or MS Office documents that needs to be integrated?
• What kind of load does your company expect on your application?
• How fast do your reports need to run?
• Architecture, are there numerous firewalls I need to navigate?
• How will I scale this application as my needs grow?
• Do I build security or do I want to piggy back off an existing security infrastructure?
• Do I have to use a specific programming language?
• Do I need to modify or create reports at runtime?

To get answer to all the questions above you can contact us today at 212-600-1333

Let us show you the SDK Overview Diagram
DAIGRAM-900

Diagram created by SAP. Click here for FULL PDF version.


What are the differences between the Java and .NET SDK

The Java and .NET versions of the SDK are identical in functionality. The two versions of the SDK are generated from the same Web Service Definition Language (WSDL) files. As a result, they have similar class names and inheritance patterns. There are differences between the two, however, that are addressed in this section.

Note: For more information on the Platform Web Services WSDL, see Using the WSDL instead of the consumer API .

Organization of plugin classes

In Java, classes are organized in packages where the name of the plugin is part of the package. For example, the CrystalReport class is located in the com.businessobjects.enterprise.crystalreport package and the Folder class is located in the com.businessobjects.enterprise.folder package.

In .NET, classes are organized in namespaces based on the plugin type. There are separate namespaces for destination, authentication, desktop, and encylopedia plugin classes. For example, the CrystalReport and Folder classes are both desktop plugins, so they are located in the BusinessObjects.DSWS.BIPlatform.Desktop namespace.

There is also a separate namespace for system rights in .NET.

Representation of class properties

WSDL class properties are generated differently in Java and .NET. In Java, properties are generated as accessor methods (getX and setX, where X is the name of the property). In .NET, properties are generated as fields.

Here the term property refers to both the field in .NET and the corresponding accessor methods in Java.

Capitalization of method names

In Java, method names begin with a lowercase character. In .NET, method names begin with an uppercase character.

In this guide, the convention is to refer to a method by its Java case.

Instantiation of classes

The factory pattern of instantiation is used in the Platform Web Services Java SDK. For instantiation in the Platform Web Services .NET SDK, the new operator is used.


Using the WSDL instead of the consumer API

When using Business Objects web services in your application, you can either use the consumer APIs that are provided with BusinessObjects Enterprise XI Release, or you can generate the API from the WSDL that is exposed by the web services provider. The WSDL follows the WS-Interoperability Basic Profile 1.0.

This SDK provides packaged consumer APIs for both .NET and Java.

If you use the consumer API from the WSDL that is exposed by the web services provider, you can use Business Objects web services with a wide range of technologies in addition to Java and .NET. In .NET, the consumer API is generated by the IDE when you add a web reference to your project. In Java, you can use the WSDL2Java tool that is provided by the Apache Axis2 project to generate the consumer API.

Use the consumer API provided by Business Objects, or generate the API based on the exposed WSDL?

Whether you generate your own consumer API, or use one provided by Business Objects, either consumer will work the same way; however, using the provided consumer API offers these advantages:

  • You save time by not having to generate the consumer API yourself.
  • You gain an optimized consumer, because you do not need to pass the session ID to every service methods call made.
  • You can retrieve service connection URLs with theGetAssociatedServicesURL method of the Session service. In a generated consumer, you would have to create a method to retrieve service connection URLs.

Note: Only the Java and .NET consumer API provided by Business Objects is supported. Consumer API generated from the WSDL is not supported.

 

What are the differences between the Java and .NET SDK


Using the WSDL instead of the consumer API

Use the consumer API provided by Business Objects, or generate the API based on the exposed WSDL?
Whether you generate your own consumer API, or use one provided by Business Objects, either consumer will work the same way; however, using the provided consumer API offers these advantages:
  • You save time by not having to generate the consumer API yourself.
  • You gain an optimized consumer, because you do not need to pass the session ID to every service methods call made.
  • You can retrieve service connection URLs with theGetAssociatedServicesURL method of the Session service. In a generated consumer, you would have to create a method to retrieve service connection URLs.

Note: Only the Java and .NET consumer API provided by Business Objects is supported. Consumer API generated from the WSDL is not supported.
 

CONTACT RITNOA 4 SAP Solutions

Complete the form below: