I am going to keep editing this post till I am satisfied I have recorded all I have experienced
Good things
Not so good things
Migration specific issues
BusinessObjects, Web Intelligence , Crystal Reports
I am going to keep editing this post till I am satisfied I have recorded all I have experienced
Good things
Not so good things
Migration specific issues
We get questions from lots of people on how to integrate the users that are accessing externall BI portals with the users on the internal BI system. Here is the link to the ROI with your BI SaaS presentation I gave at the ASUG BOUC conference talking about options on how how to deliver secure external reporting portal for BusinessObjects (aka Outward Facing)
It goes over the concepts involved on how to provide the simplified view of reports and dashboards to external users that most people want and also how LaunchWorks software specifically can help when you don’t want to start from scratch with the SDK development needed.
Specifically there are three ways to handle the security including
1) using a Windows AD/LDAP centric user account
2) Enterprise based account (which can be automatically setup upon first signon).
3) You can technically use a system account , however ….
a) you will loose auditing
b) may have issues with incorrect caching between sessions
c) probably be out of compliance unless you have CPU based licensing.
Would love your questions and comments
Thanks
Kevin McManus
www.launchworks.com
Just a few of the things that I learned at the User Conference
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.
http://t.co/HCYvErOy
Kevin McManus
www.launchworks.com
Excited to present next week at the following sessions
• SDK Best Practices session 0109
http://boucschedule.asug.com/Agenda/Details.aspx?SID=117
Tuesday, October 11, 2011 2:45 PM – 3:45 PM
Room Number : Australia 3
• How to use BOE as a BI SaaS solution with the Launch Platform session 4003
http://boucschedule.asug.com/Agenda/Details.aspx?SID=114
Monday, October 10, 2011 1:30 PM – 2:30 PM
Room Number : Northern Hemisphere A-1
Please also look for our team at the LaunchWorks booth where we have some great give aways that will keep on giving throughout the year
Gabriel Braun asked in his Linked In post “What does Socializing Data or Social Intelligence mean?”
Here is a point per point response
1. How will your company gain value from the cache of data within its social networks?
It depends whats being said within its social networks. Do you have questions you want answered or are you looking for general customer sentiment. Do you rely on tweets and Facebook links or combine it closely with phone and web surveys?
2. What kind of predictive models and metrics can be devised from your social sources?
I propose since human communication by nature relates to what “has happened” the vast majority of open communication wont qualify. To get the answers you want you have to drive the conversation and not expect your community to migrate there by themselves.
3. How can intelligence be shared within private or public social networks with privacy being a cornerstone of BI data?
Sounds like a data modeling question, and one that most companies struggle with. When is aggregation not enough? What dimensions should not be connected? Who is the audience of this information and is there a value to the information it provides that can be commercialized?
4. How will real-time collaboration find its way into serious business dashboards?
Dashboards have been read only for the vast majority that I have seen. When a dashboard is designed that answers a complete question (not just a metric) and the time and money is spent to design and document a workflow that allow the viewer to write back a transaction or workflow hand-off down the supply chain based on the approval of the answer the dashboard presented then collaboration will be effective
5. Is Social Intelligence fool’s gold or the next big thing?
Social Intelligence must have several pieces in place to present even a partial picture
a) A pipeline for capturing customer sentiment at different points in the chain of the transaction i.e. pre-purchase, post-purchase, post-reception, post-use.
b) Clearly defined metrics – i.e. tweets per day,
c) ability to tie metrics across dimensions such as time, marketing [promotions , product changes, etc
d) a Two way street – If your product is getting slammed because its broken on receipt and you change your shipper or packaging are you communicating that change back to the community in which you have measured the negative impact?
Do you concur?
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 reports.mycompany.com) 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?
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.
When Crystal Decisions was purchased by BusinessObjects the Crystal Report designer tool was a Windows executable and had just integrated a full semantic layer that would allow multiple reports to access multiple connections and include multi-level business logic definitions in the form of a Business View. BusinessObjects already had a mature Universe semantic layer as part of its platform and was already moving to a Java based report editor accessible over the web as well as on the desktop.
While the BusinessObjects reporting tools becaome integrated into the existing Crystal Enterprise based server engines, the semantic layers remained independent. Each tool’s implementation of semantic layer management was quite different and each had its strengths. In the XI version Crystal could access both the Business View as well as limited support to connect to the same Universe but the integration stopped there.
In the upcoming SAP BusinessObjects Enterprise release there is a new semantic layer that begins to bring the best of the Universe and the Business View into a single Information Management tool. SAP Crystal Reports for Enterprise will be able to take advantage of the new semantic layer in a consistent interface as it’s Web Intelligence and Dashboard Design (previously Xcelsius ) cousins.
For connecting to other data connection types the SAP Crystal Reports 2011 product will be released to replace its 2008 predecessor. Later on these two versions will be combined into a single release. Te get access to either you buy a single license…meaning by one and you get the other.
Both Crystal Reports for Enterprise and Crystal Reports 2011 are now also available as a Java application that allows installation on Windows and Linux based desktop machines.
1) Alerting to BI Launch Pad. Moving alerts from the report level to the User Interface
2) Charting tooltips in Webi
3) Join multiple data sources in new UNX design tool at a Data Services Layer
4) The “Data Preview” pane in new UNX design tool that allows you to see your data as you test and object query
5) Text Analysis moved into Data Services
6) Schedule report packages of Crystal and Webi Reports
7) For SAP Crystal Reports, you can embed the content of onereport in an email.
For Web Intelligence documents, you can embed thecontent of one report tab in an email.
9) Export reports to the Excel 2007 workbook
10) How new versions of enteprise software creates real jobs
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