Archive for the ‘Business Objects SDK’ category

The New SAP BusinessObjects RESTful SDK: What It Means to You

October 21st, 2013


Meet the LWLabs Team!

We here at LaunchWorksLabs are busy getting into all kinds of mischief. Most notably, the ins and outs of the new SAP BusinessObjects RESTful SDK.

If you are familiar with SAP BusinessObjects, then you know it is the leading global technology in the area of business analytics and business intelligence. This includes Crystal Reports, Web Intelligence, SAP Dashboards (formerly Xcelsius) and many others.

And if you are a Java or .Net developer, then you also know that SAP BusinessObjects has allowed developers to create custom applications solutions using their classic Java and .Net SDKs for years. We at LaunchWorks have been right there alongside you.

But there is a new kid in town: The BusinessObjects RESTful SDK.

Designed for Crystal, Web Intelligence and the BI Platform, the RESTful SDK (RSDK) is the next-generation application programming interface (API) for manipulating and interacting with Web Intelligence reporting residing on your BusinessObjects server.

So what does it mean to me?

For starters, it means no more jar files. Or, if you are a .Net developer, merge modules and or .dll files. The RSDK is based on a lightweight, refreshing platform that literally requires no installation. All it requires is knowledge of a handful of URLs and configuring your BOE server for web services (which is already configured by default). And you are in business.

And since interacting with the SDK amounts to http calls, it is als platform agnostic, meaning, it no longer matters whether you are using Java, .Net, PHP, Python, or even Javascript: The SDK is supported. And universal. That is: Gone are the days when there were differences between what the .Net version and the Java version of the SDKs could do (good news for .Net developers who suffered a dire lack of SDK support in the past few years). For these reasons, the RSDK is destined to replace classic Java and .Net SDKs in the coming months and years.

But this unleashed version has a bit of a catch. In classic Java/.Net SDK programming, as a programmer you would interactive with an object model. But with the RSDK consisting of no more than a vast array of URL calls, guess what? Your are the object model! Now this is good news on one hand, since your deployments will be as lightweight as you want them to be. On the other hand, building a scalable, maintainable, and robust enterprise application will require careful planning.

And that is where we come in :) Our flagship offering, the RESTful SDK Bootcamp, is designed not only to equip you with what you need to know in order to take full advantage of the SAP BusinessObjects RESTful SDK, but also to kickstart your custom RSDK project with coverage of best practices and proven enterprise development design patterns around the new RSDK. Basically, we have already done the hard part for you.

And we will continue to do so daily as we get into even greater mischief testing and exploring the capabilities of the new RESTful SDK.


Author: Don Collins


Coming in 2013

December 3rd, 2012

This first post is a high level overview of the things on our horizon.  In upcoming posts I will be doing a deep dive into the new platforms, features and plans coming out form our development team, partnerships and customer projects.


Part of the plan at LaunchWorks has always been to create a better way to train our SDK specialists for our customer’s through our products and services.  We have been working on improving our use of  best practices, as well as, the use of the latest in web and mobile development technologies along with every version of BusinessObjects released.  One of the outputs of this years efforts will the larger availability of our internal BusinessObjects SDK training out to our customers.  With the release of the 4.0 platform and the needs for Customer Facing Reporting making it to the mainstream,  there are lots of things to share with customers that need the best understanding on how to deliver BI outside their firewall.


Last month we released the first in several new areas of our platform in the form of LaunchForms, our digital form creator for the enterprise.  2013 will see a major upgrade to the LaunchForms capabilities.


We are also releasing a new release of the LaunchWorks platform that will make customer facing reporting portal all the more attainable as a turn key system, whether its embedded or white labeled.  There are several new LaunchPortal modules, more integration with our LaunchApp mobile tools and the release of several new apps we have been developing for our customers.

We are excited about what is coming and look forward to meeting the needs of our leading edge customers and partners.  My next post will dive more deeply into the features and benefits each of the new platform additions bring. See you next year.

Lessons Learned from the 2011 BusinessObjects User Conference

October 16th, 2011

Just a few of the things that I learned at the User Conference

  • ASUG is actively creating great content in all areas of BI
  • The free access to ASUG fro BOBJ/GBN members is extended through 2012
  • The content delivered by experienced speakers is getting richer as 4.0 gets rolled out.
  • Make appointments with everyone you know is going to be there (I hit 5 out of 6 by scheduling times in advance)
  • There is an increasing desire in the user community to be heard, participate, and influence (See ASUG Strategic SIG for how)
  • Most companies still do not have a clear strategy for mobile BI
  • There are some very different ways to create enterprise BI systems that can scale globally
  • Tweeting consistently is hard work
  • I need an ASUG shirt
  • Lastly…
    The interest in the SDK is alive and well. For Non ASUG users that dont have access to our presentations our link is below.

    Kevin McManus

  • BusinessObjects SDK Best Practices

    May 23rd, 2011

    A series of the Best Practices that should be addressed when designing a BusinessObjects SDK Application.

    1) Where do I run the SDK in my application stack?

    There are 3 main architectures for SDK enhancement:

    a) InfoView Modification (i.e. hacking) – This involves changing and/or adding to the code that runs the InfoView application. While this seems like the shortest path it provides several challenges:

    i. The InfoView has several hooks for customization but not for things like changing menus, adding buttons, custom messages, etc.

    ii. Modifications will be eliminated as each BusinessObjects service pack, patch or upgrade is applied. This requires significant re-work, re-testing, and re-deployment procedures to be developed that could be used better elsewhere

    iii. This nullifies your support contract with SAP for the use of the InfoView at least.

    b) SDK Integration into a custom application – This involves adding the SDK libraries into the .NET or Java application that requires the enhanced functionality. The pro to this method is this provides a fully integrated application with connectivity Enterprise BI platform where you have full User Interface control and vendor support. The con to this choice include:

    i. The main application has been burdened with many additional libraries that must be integrated and deployed as part of its build process.

    ii. The main application has to be rebuilt and redeployed as each BusinessObjects service pack, patch or upgrade is applied even if there were no changes in functionality.

    c) Web Application Sharing (separate SDK application called from main application) – This architecture includes the same benefits of the first two options addresses the negatives of the prior two options while also allows a Service Oriented or Web Oriented Architecture where the functionality is available for reuse across multiple applications. The other benefits to this architecture include:

    i. The web server running the SDK application can be optimized for its use as a BI platform.

    ii. New BI functionality can be added as new BusinessObjects features and SDK’s become available with needing a build process and the related regression testing of the main application.

    2) Where do I run the SDK in my network stack?

    There are actually two answers in this area : For functions like authenticating the user, gathering a report and presenting a viewer there are both the Service Level SDK’s, as well as, a Web Services SDK. While the latter does not have all the same deep functionality as the service level SDK’s, it works extremely where in network architectures where direct access to the BusinessObjects server is not available. The Enterprise and related Crystal / Webi SDK’s use libraries that require direct IP access to the services running on the BusinessObjects Server(thin port 6400). The Web Services SDK can access the services through the web service application that can made available over the normal http access layer (think port 80)

    In terms of where should the application reside part of this best practice depends on your decision on the application stack above. If you are running an integrated SDK installation, then you need to install the SDK code on the same web application server as the main application. If you are going to create an shared application or just use the InfoView then it can run on the BusinessObjects server itself in the default web application server (think tomcat) or on a separate web application server (or cluster) specifically setup for web applications that can be called without logging into a single particular application.

    Another input to answering this question is the understanding of where the users that will use the application are located on the network and what access security is required to access the application.

    a) A publicly available URL (think will normally have at least one server in the DMZ(search demilitarized zone) where traffic can be monitored and direct access to the data is not required nor allowed.

    b) An internal application, or one requiring VPN access (search virtual private network) can have the web servers, Business Objects application servers, and database servers all on the internal network.

    3) Which SDK to Use for modifying Crystal Reports?

    There are two levels of “customization” when it comes to working Crystal Reports within the SAP BusinessObjects Enterprise system.

    a) When you need to add filters to your reports – This can be done using the Enterprise and Reporting SDK’s using the same features that allow you to add filters through the CMC in the report properties. This uses the normal Crystal Processing Server (i.e. previously known as the page server)

    b) When you need to modify your reports on the fly – This type of modification is deeper and touches the actual report object, although usually in the memory of the BusinessObjects Server. Examples of this type of modification uses the Report Application Server or RAS SDK to perform modifications such as add / remove fields, change database connections and handle the output of the report as a record set/stream/XML (in other words anything other than a viewer or export).

    Handling things like exporting the report content as a pipe (|) delimited file can now be done using the reporting SDK’s where earlier you would have to handle this through the slightly less scalable RAS SDK.

    4) Which SDK to use for modifying Web Intelligence reports?

    Until recently the only viable SDK was the ReBean SDK for working with Web Intelligence report modification. However….Recent updates to the Webi Extension Points has added a significant ability to customize the interfaces in both the web versions of Webi as well as the Rich client.

    a) When you need to add functionality to the Interactive viewer as the primary interface: – This can primarily be done using the Webi Extension Points along with some ReBEAN methods for managing output and storage

    b) When you need to add functionality using an alternative interface (i.e. simplified viewer) : the REBean SDK will give you all the power you need in 3.X. note that in 4.0 the ReBean SDK is more limited as there is a new Webi architecture underneath that will require subsequent versions before the full support through SDK’s is provided by SAP.

    5) Which SDK to use for managing the Security and Reports

    There are three main options for maintaining the security of the report objects

    a) Self Maintained – Where the main application stores the Users and reports along with the rights associated with those reports. This of ends in developing a reporting menu that has to be maintained so that it matches or is linked with the content in the BusinessObjects server.

    i. Pro: Integrated control of reports along with other application features

    ii. Con: Application security and reporting security are usually different and hard to match together. This usually ends up bloating the application security module needed to support reporting

    b) No-Security – The main application calls the reporting interface and users have access to all reports. Not a good long terms plan as business needs change often and things like providing use for users outside the company are not well supported

    c) Integrated : by using the strength of the BusinessObjects security as an authorization handler in coordination with the application authentication the best practice can be achieved.

    Is this valuable?

    Webi Extension Points

    May 12th, 2011

    Our team recently had the opportunity to start building with Webi Extension Points and I was impressed.  The ability to manage the Web Intelligence Interface has improved greatly since the initial release.

    The requirements were to create a report specific user interface that allowed the following in both the Webi Rich Client and the Webi Viewer:

    1) Only rollout extension to users that need it

    2) Export Panel only show if the report name matches the set of reports specified by the business

    3) Actions limited if other criteria of report does not match (i.e. Record Count = 0)

    If Prerequisite are met

    Create an Export panel in Webi

    – Populate with combo box of export formats

    – Create Save Button

    Gather File Name  from a variable Object value in the report

    If user has selected XLS or PDF and clicked on save

    – Stream IReport to XLS, PDF with file name defined in Name Object

    – Provide User confirmation on download.

    If user has selected ZIP

    – Show password text field on panel

    – Capture user password

    – Stream IReport to XLS, PDF with file name defined in Name Object

    – Create Zip file with password

    Provide User confirmation on download.

    In the initial execution we created the base functionality in Java and deployed a JAR along with the properties file.  In a production environment this is how it would be rolled out.  For moving quickly on the Prototype we shifted to Javascript which made previews a bit faster and made implementing swing almost fun.

    I was amazed at how quickly that we could get the interface pulled together and working.    This opens up all types of possibilities for our Launch tools and client’s needs.  I am hoping that the Extension Points are brought back in the 4.X platform.

    Typical Report Launch Requirement Q and A

    February 23rd, 2011

    Question: Is it possible to limit the report list view of a user in Report Launch? For example, if I decide to integrate Report Launch with an application for project A, we’d like to give the user access to projects reports only (and make the other reports the user has access to invisible).

    Yes: You can set the Report Launch list to show a root folder so that the list only shows reports below that folder even if they have access to other folders.

    We also have a category security model that allows your application administrators to control security on their folder of reports without giving access to the CMC

    Webinar: Leaping forward to offer your own SaaS

    November 18th, 2010

    We are very exited to present to the community what we have been doing since we first were certified as an SAP solution.  Beyond what can be presented on Ecohub or even our own web site, our customers have challenged us to leap forward in what BI concepts that Dashboard Launch can tackle for them.

    This webinar will challenge you to consider your own BOE system as a Software as a Service offering and what that means to how to offer advanced BI to your entire information supply chain.

    Feel free to contact me with any questions or ideas.  Registration links are below

    Kevin McManus
    McManus Software + Consulting.

    Internal (for SAP partners / employees with S User id):

    External (for customers / employees without S user id):

    OpenDoc vs. CallReport

    May 5th, 2010

    We get a lot of question on how Open Document compares to Report Launch. In a conversation with our sales team I tried to summarize the vast differences. Opendoc is a single URL that can only call a single report at a time ….and for Webi can only return to the viewer or PDF

    Report Launch’s “call report” is an application that will provide a consistent ways of calling both Crystal and Web Intelligence reports using single sign on.

  • On- demand refresh
  • On demand scheduling
  • Report List
  • Last Scheduled Instance
  • Last Bursted Instance
  • List of Historical Scheduled Instances
  • List of Historical Bursted Instances
  • It can also support the following formats

  • PDF
  • XLS
  • PPT
  • CSV
  • TXT
  • HTML
  • XML
  • These are the basics. There are also more complex features for complex solutions.

  • Cached Results
  • Report Parts by Name
  • On the fly Dimensional Slicing
  • – Challenge us with something you need and I can tell you if CallReport already handles that.

    Kevin McManus

    What I Do

    March 22nd, 2010

    What we do: Some asked recently for what was going on related to our tools. Here is a summary
    At a 50K foot level we have 5 tools

    1) Report Launch allows you to embed Crystal and Webi reports from any application without needing the SDK.

    2) Dashboard Launch (You will have to see this). Caches webi content and many other things for really fast dashboards. SAP certified too

    3) Admin Launch – bleeding edge web based BOE administration tool that you can train to do what you need it to do for you (beta just started).

    4) Audit Launch : Export extends BOE auditing for advanced analysis by syncing CMC attributes into an extended audit database. Audit Launch Import syncs security from 3rd party apps into BOE

    5) Activity Launch – allows you to create business activity monitoring events into report schedules and trach when a batch of schedules completes so you can continue the notification or event process

    All of our software is 100& web based on Java SDK so it runs on Windows, Unix, and Linux

    Java or .NET

    January 1st, 2010

    Recent Question: Do you have any recommendations on installing the .NET (IIS) vs Java (Tomcat) versions? I liked the ease with which we implemented the SSO hack in IIS on our XI R2 server but I’m not if we can do the same on the 3.1 version. Also I remember that on sometime the .Net versions sometimes did not have all the functionality as the Java version is that still true?

    Answer:I usually lean towards whatever web platform that IT has optimization expertise in. If they don’t have optimization expertise in either then for several reasons, I usually do the Java.

    However for SSO the IIS setup is less steps than the Java version. The IIS pass through can still be done but is not a great solution if you are doing things like scheduling out reports with email links back to the system and still wanting SSO.

    If you do go with Java,Normally I work with people to setup the Vintella Kerberos SSO so that there is only one web platform running on the server rather than the pass through.