BusinessObjects, Web Intelligence , Crystal Reports

The Building Blocks of Embedded Analytics

June 19th, 2017 by Kevin McManus No comments »
Building Blocks of Embedded Analytics

Building Blocks of Embedded Analytics

The building blocks of embedded analytics.

What we wanted to share today was just a few of the universal truths that we’ve found over the last twenty years of studying embedded analytics and delivering solutions for our customers. Whether it is embedding on-premise data in a cloud application or creating a shared reporting service any analytics solution needs a few key features in order to flow properly. We conceptualise those features into six Building Blocks that your application will need to have. Some applications only have a basic functionality in any one block but will will go much deeper into others. For instance your application may be for internal user only and your company has standardized on Windows Active Directroy (AD) making Single Sign On (SSO) straightforward. However if you are maximizing the ROI and using your analytics for both internal and external application then additional SSO methods may be necessary. Likewise how you allow users to interact with the data may be performed pre-query results or post query results. Both methods has its benefits and drawbacks but no matter the focus of your application each of the building blocks needs to be considered up front.

User Authentication, User Interface, and User Interaction compose the first layer of an embedded analytics architecture.

User Authentication

The first building block for the application is to have a single sign on function capable of authenticating users from another application and or third party identity management system. In some way the identity of the user needs to be verified and passed into the analytics solution without the user being forced to login more than once.Or even login at all, in some cases .

The main point of the authentication process is to allow access to only the content that the user is authorized for has based on the security permissions they have been granted. After the user has been identified through the parent application’s security, their authorization gives them access to the business intelligence platform or analytics platform. The user interface for this is far better as a dynamically coded security protocol rather than a hard coded html page. For example as many users keep the ecosystem of their data spread out between the cloud and on-premise systems, two great standards for communicating between cloud based applications are OAUTH and SAML. These types of standards can help to securely pass the user authentication between the layers in your BI applications across cloud and on-premise networks in a way that is easier to support and expand on as standards change.

User Interface

The second thing the application needs to have is some type of report access. This could come in the form of a menu in the parent application. It could also be a list, or even something as simple as a link or button. The user interface simply functions to provide a user, once they have passed security, with access to reporting business intelligence content.

This method is often determined by the parent application or by the application that is delivering the analytical content. For Example some applications allow for simple links or a URL to be added where others will allow a tab of HTML content be added directly into the interface.

Example of Embedded Analytics

Example of Embedded Analytics

What you don’t want to do is build static html pages that are hard coded to reports that users should have access to execute. The reason for this is that, as your security changes and evolves with your software, it is much easier to implement dynamic security than hard coded security. So that the list of reports is dynamically updated, and so that, in the case of links or buttons are dynamically being updated in the user interface parallel with any changes made to the users security permissions.

It takes a bit more work to implement such a system, but it leaves the application far better equipped to deal with your evolving user base and the changes in security and permissions that entails .

User Interaction

A third thing your embedded analytics application needs is a form of interaction between the report and the user. Report interaction is where the user gets to decide what the content is within the information that they are getting back. Most often this feature is implemented through prompts. Prompts allow for parameter values that “act” on the query or report object to return on the information needed. Such actions occur before the report is run.

The user is asked through the interface what parameters they would like to place on the report such as date range, geographical area, or product line. This can shown as selectors on a screen and also be achieved through hyperlinks or drill filters coming in from the parent application. Note that the application needs to support that the prompts that are shown should only bring back a list of values based on the users level of access. This may come as part of the BI platform being connected to, but in some cases may not be available or it might be a clunky solution that requires the application to have that support explicitly added, along with with direct-to-data-source connections that adhere to any data security settings. For example, a sales person running a report with access to a specific area, be it geographically or organisationally, should only receive values pertinent to that area.

In the context of an embedded analytics solution the salesperson could have already clicked on the state of Texas within their map. At that point she is passing through the information she is looking to filter from her report based on what she selected in the parent application. Likewise, she or any other user, should not be able to change a URL and get access to data they are not entitled.

In a more advanced system you can control precisely what data within a report that a user gets access to see. As an example: if a VP of Sales user has no limits they legitimately need and are granted access to all the sales information across all regions and products for all times. But a limited user perhaps only gets access to information about what quantity of a product was sold and does not get to see the sales commission’s related to those product sales. Their access to information is limited by their security level. Where the application stores the security can be either the BI platform or the application. Each option has its own pros and cons in relation to how data interaction adheres to the security level of the user while providing the best performance.

Report Execution

In the second tier of embedded analytics architecture, there are three more key points for functionality. Report processing, storage, and distribution.

Firstly, report processing is where the really heavy work, in terms of actually generating the report, should be handled by the BI or reporting platform. The capture of information is generally going to happen through some type of query. This query may be connecting to one or more data sources. For example a report could be asynchronously connecting to a web service, a multi dimensional cube, a relational database, and a no-sql database.

At some point the system is going to be capturing the user input based on the requirements that you’ve specified in your report template. Based on the user interaction the report execution is going to be dynamically parameterized based on the report interaction and the user security. Once that data is captured it needs to be formatted. At this point the layout should be controlled by the template that you define in the BI platform to take that information returned from query and present that in the format that the user is looking for for making the decision prompting the query. An example of this is when drilling from a map to the underlying transactions shows as a cross tab by product by month for the city chosen. The layout , colors, fonts and display of totals were predefined in the report template. The data comes from the underlying query also predefined. The selection of state will have been sent at run time. All are necessary to create the expected output needed to make the next decision.

Report Output

The second part is the efficient storage of the data and metadata. At this point the end result of this report needs to taken and stored some place where the rest of the analytics process can take place. However, there is a lot of flexibility here and depending on your platform you could have several options. The storage location could be :
a) Returned to the user and not stored at all
b) Kept all in memory
c) stored on disk
d) a combination of the three.

Your requirements for Report Storage and Data Interaction will determine your preferred solution. Many platforms have restrictions on how information is stored so as to enable efficient search and retrieval processes. In other cases, especially where formatting is more important, or content needs to be accessed by users in static format, the output can be exported into network accessible storage and exported as Excel or PDF files.

User Data/ Interaction

Your application may have several requirements around the content once you get it back from the underlying platform, depending on what you want users to be able to do with it. In a highly interactive context the user will continue to author the report. This is where I, as a user, brought back the data and maybe I want to turn it from a table into a graph. Alternatively the data may be something that I just want to interact with it at different levels of a hierarchy.

An example of this would be where the report template brings the data back at a summary level, and I then want to drill through that information to the data underneath. This detailed data may be part of the original query and presentation, or it may require a secondary query or even a secondary execution of the report, parameterized further by the selection of the drilling activity. The earlier example of a map fits in well with this scenario

A third way of interacting would be filtering. In this case I’ve brought back a thousand rows, but to get the answer I’m looking for I need to filter that information.

Final Distribution

One of the reasons we do analytics and business intelligence is to help us make decisions that steer your business in the right direction. Distribution is the final piece of the puzzle that, based on your architecture, you need to determine “how do you want to exchange that information between users?”. At a basic level when saving the content do I get to choose whether it’s only accessible by my account or shared or access by my department. If the latter is true then should have ability to save that information in a way that secures it for users outside of my my department within the platform or in a network storage location with similar security controls.

The second option is to deliver the content. For instance: I’ve now understand this information and I want to email it out for someone else to view that may or may not have access to the application or BI platform used to generate the content. There are lots of different ways that distribution cab be accomplished such as emailing an excel spreadsheet or it bursting out spreadsheets every day by putting them out onto a website to be access by users with access.

In our next article we will go deeper into each of these areas of application design bringing out even more advanced embedded analytics application features.

Please feel free to comment and ask for the specifics of area that you are interested in more information on.

Embedding SAP Analytics into SalesForce, Sharepoint or any cloud application

January 28th, 2016 by Kevin McManus No comments »

I cannot believe that my rant on Embedded BI from the BOB forum never made it to my blog.  So here it is…
When it comes to integrating BusinessObjects into Salesforce.com there are 3 areas of connection to address

1) the integration of the data for ETL and reporting using system accounts – Using the various drivers available for both SAP Data Services and the Information Design Tool (IDT Universe) it is straightforward to install a driver using a system account to query the data in SalesForce.com. Some drivers are better than others when it comes to providing the metadata needed to represent the tables and columns needed for the Universe design so test out the latest from Samba, Data Direct, and RSS Bus. at our company we have licensed Relational Junction from Sesame Software to be part of our products as it also provides some key advantages that we label as data caching which is more efficient then bulk data loads between cloud and on premise data sources. BOE 4.2 and Crystal Reports now will share the same driver which is a more stable driver providing a more consistent view of data

2) The Integration of the logged in user – in order to get the data using the account of the user that is logged in using the security rules that have been implemented in SalesForce.com a query services needs to use the session of the user in real time. To address this need we developed a self service query tool called Touch that can pickup the session using the appropriate SalesForce.com API’s so that the data returned via the web services has only the data the user is supposed to see but in a format that can be used in various tools including Webi, Dashboards and Design Studio. If you have a team of developers familiar with the SFDC API’s this can be developed internally. Note these API’s change often so don’t underestimate the effort to keep them working.

3) The integration of the reports themselves into the user interface of SalesForce.com completes the picture so that users only need a single interface to do their jobs. The goal is a user can login to SalesForce.com from any device and have an effortless view of reports, graphs , dashboards and they don’t have to jockey between SalesForce.com and their LaunchPad. If the user is only logging on to Salesforce.com through their desktop while on a SSO enabled network (i.e. Windows AD) there is some linking that can be done through a SSO enabled link to opendoc for meeting some basic needs. If users want access to a complete report list in a Tab or screen, report parts integrated into pages, SSO across devices and without VPN or want to see both SalesForce.com reports and Webi reports in the same report list then go to launchworks.com for the LaunchWorks SalesForce Integration Kit for SAP BusinessObjects aka Report Launch.

If you have other ideas, solutions or needs please post them here or contact us @ solutions@launchworks.com. We live and breath BOE Integration with Salesforce.com and want to know what people want and need to make it happen.

IF AT FIRST YOU DON’T SUCCEED,TRY,TRY AGAIN!

April 28th, 2015 by Kevin McManus No comments »

I recently saw an amazing advertisement that included the founder of Go Pro talking about how he felt after his previous failure.  The feeling of “letting down” those he had convinced of the validity his idea was especially resonating.  Obviously he persevered and “got over it” as Go Pro is an exciting product that has taken his company public based on nothing more than being the best at creating the robust camera product and marketing the heck out of it.  (Side note is he didn’t invent the camera, the underwater camera, or the mobile video recorder. They just made it cool to have one that would not break when you crash with it.)

Are we being trained into mediocrity to not even try at the risk of failure?   Below is an info-graphic giving examples of the number of times that successful start-ups and entrepreneurs to failed or be were told ”no”before they got a ”yes”.


source: http://fundersandfounders.com/how-many-times-should-you-try/

Historically quotes from  entrepreneurs through-out history , tell us of how a great success mostly comes after many failures.

“I have not failed. I’ve just found 10,000 ways that won’t work.” – Thomas A. Edison 

Do we have the tenacity to dare to fail again after failure?

“Only those who dare to fail greatly can ever achieve greatly.” – Robert F. Kennedy 

Why then do we often stop before trying one more time? According to an unknown author “obstacles are there to signify how bad you want something.”

While the person on the bottom of the graphic above shows a man dejected. I propose that is rarely the case in real business life.  In reality we can persevere even when the cards have not turned out the way we want but there can also be time when you have learned something through the process that can be success enough to not continue down the same road.  Sometimes this is a the knowledge that we take with us to do even greater things.

“The only real mistake is the one from which we learn nothing.” – Henry Ford

When I was discussing an idea I had in early 2005 , during the internet start-up hype, at a point of indecision one of my mentors wisely told me that I “could not loose”.  If it succeeded then it would provide a valuable service. , and if it did not I would learn a tremendous amount that would help me grow. I was rewarded with the latter.  I look fondly on that time even through it did not work out the way I expected.  Other times it is experience that is gained instead of the monetary success prestige that we had intended.  Things such as a new perspective, a reputation or a network of contacts will return more in the long run.

“What is the point of being alive if you don’t at least try to do something remarkable?” – John Green

Let’s keep on doing the remarkable things that others say can’t be done.  Even if they can’t be done, its better than not trying at all.  Anyone can do that!

Kevin McManus
Founder
Launchworks.com

Answering the question of “Where?” Why our Partnership with Centigon matters

June 28th, 2014 by Kevin McManus No comments »

As requirements for Geo Analytics continue to evolve and BI data sources expands to require cloud and on premise data the questions of “What” data to present and “How” to present it are answered with intelligence self service mapping application like CMaps Analytics.

The remaining question of “Where” to put the mapping interface and related reports and documents for users to find continues to challenge enterprises.

  • BI Platforms like SAP BusinessObjects and others have their own interface for managing and presenting content.
  • Corporate Portals are locations for information to be shared and collaborated on.
  • Cloud Platforms like SalesForce.com provide cloud based web interfaces for sales operations and customer facing communities.

Where should the data go so users can find it, use it for making decisions and not require complex application development initiatives?  All of them.

Fortunately embedded analytics platforms our like Dashboard Launch answer the question of “Where?” and make it so easy it doesn’t require a developer at all to embed the map, report or dashboard into any and all of the platforms above where users go to access data.

Check out more about the expanded LaunchWorks Partnership with Centigon for bringing CMaps Analytics directly into Salesforce.com using the embedable Dashboard Launch Application http://news.centigonsolutions.com/2014/06/centigon-solutions-releases-cmaps.html

BI 2014 Nice May 21-22

May 16th, 2014 by Kevin McManus No comments »

Come see us at the LaunchWorks Q&A session on Embedded Analytics and our presentation on best practices on your move to BOE 4.1.

 

Some references

http://wiki.scn.sap.com/wiki/display/BOBJ/SAP+BI+Platform+Support+Tool

 

http://scn.sap.com/docs/DOC-33183

 

BOE Migration Process Flow 3-11-14

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

October 21st, 2013 by Kevin McManus No comments »

 

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

don.collins@launchworks.com

877-857-7407

Quality First

August 1st, 2013 by Kevin McManus No comments »

The ASUG BusinessObjects Strategic SIG would like your feedback for a Business Intelligence Quality survey. This survey will allow us to gain insight into the current BI ecosystem and in return help us to provide you with more tailored content to suit your needs. Please take a moment to fill out the brief survey, we look forward to hearing from you. The survey closes Friday, August 2, 2013, at 4:00 p.m. ET.

Survey Link –> http://goo.gl/4wHI1I

Where are the vegetables? – Innovation via the SAP App Store

April 6th, 2013 by Kevin McManus No comments »

The IT groups of each company I see being are driven to innovate and deliver at a faster pace for businesses to stay competitive. IT based products and services that generate real revenue are outpacing the cost savings initiatives. The momentum of these demands is colliding into IT services that have been stripped down to bare minimum operation levels with the majority of its operations outsourced via master service agreements that wrap the simplest service into forms and week long turn-arounds [rant]. That does not put IT in a great position to innovate a design into a solution let along deliver it. If your company has a surviving R&D department go pat the CIO on the pack for having some long term vision past the IT as a cost center mentality.

Ironically what I see on the flip side of this demand for innovation is vendors that are innovating great things with hopes of finding customers that need the solution to validate them. The challenge for IT is not finding staffing partners that can help IT innovate as any company will take an idea and develop it from scratch learning along the way. Its connecting the partners that have already innovated the solution they are looking for. These partners don’t show up with staff . they come to the table with a shard vision and pure passion to see the idea succeed a sit has their name on it as well as the customer funding it.
There in lies the value of the App Store. Launchworks has always been about taking ideas from concept to reality. The days we get a customer to find us on the web via SEO, Facebook, linked in or email initiatives and have a need we can demonstrate are some of the very best. How do we better connect with the customers that are looking for turnkey solutions at the time of the demand vs 9 months later after a frustrating POC or failed internally staffed project?

App Stores can be the grocery store of innovation aligning leading or even bleeding edge solutions solutions with the companies that need them. There are several keys to an App Store being effective

1) Having enough apps in the beginning so that a customers first trip is not a turn off. Even if they don’t find what they are looking for the first time they are now connected to a community that has as pure purpose of connecting them with the solutions they need. On the first day of a cry cleaners business notice how there are already clothes on the racks? This takes a proactive search for innovation by the App Stores manager to provide new and relevant content as easy to find as the vegetable aisle in the store

2) Solutions need to have the same ability to be found regardless of the employee size or revenue of the development team. Let the customer decide if they care if the bits and bytes were delivered by a staff across 3 continents over a ear or on a single night on the developer’s kitchen table. Customers can rank it later if its really that bad of a solution. Cluttering the store with multiple SKU’s of the same tool or ranking the results based on size of the developers marketing budget will ensure an early death of the App Store’s relevancy for an innovation connector.

3) Apps need to be easy to find based on what the customer needs. This is where the challenge is for the developers of these apps. Categories, tags, and key words only work well if they match the terms the searcher thinks of at the time they are searching. As a long time Ecohub partner I know a customer looking for a “reporting plugin for their Tibco portal” will not find our solution for an “embedded BI portal framework”. This is where innovations from the Apple, Google and Netflix and my local grocery store should provide ample methods of connecting the searcher using standard methods followed up by proactive communications.
a) Dynamic categories that can be updated based on common search terms not necessarily what the App Stores manager things users search on.

b) Proactive recommendations based on data captured during search and evaluation steps.

c) followup to customers post  search to remind them of the resource and alerts on new sources of innovation available since their last visit.

With Apple, Google, Microsoft, Amazon and Netflix all investing on these technologies like never before my hope is that the SAP App Store located in the near future at http://www.sapstore.com takes what works already in the area of consumer and mobile and allows for the innovation of their diverse community to be connected with the customers that need it for the enterprise.

 

Coming in 2013

December 3rd, 2012 by Kevin McManus No comments »

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.

Training

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.

LaunchForms

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.

LaunchPortal

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.

ASUG BOBJ Strategic SIG survey for Roadmap

August 17th, 2012 by Kevin McManus No comments »

Please help us all and fill out the ASUG  BOBJ Strategic SIG survey for Roadmaps…its a quick one http://svy.mk/PsFMKe