Friday, July 2, 2010

Business Objects v/s Microsoft BI

Business Objects (BO) is platform agnostic and so is MS BI to a "certain" extent. In BO, you can build a semantic layer (named Universe) and hide technicalities from the users. Users in turn can build their own reports using this semantic layer using a module called Web Intelligence or WebI (thin Client over the web). What makes the semantic layer so powerful is that it hides core stuff from the end user and you as a designer / architect give meaningful terms within the semantic layer which is visible to the end user. Security can also be built into the semantic layer. In MS BI, there is no such thing as a semantic layer. You build a report using SQL or a Stored Procedure and publish the report which can then be consumed by the end user. Both technologies allow report scheduling and delivery in various formats (Excel, PDF etc.,) although BO I personally like BO's report delivery mechanism.

BO supports report bursting (only relevant people can see relevant data), although, report bursting is not to be confused with security. MS BI has no such feature yet. (MS BI is still evolving in comparison with BO)

BO WeBI reports can highlight data changes between various refreshes, MS reports cannot.

MS BI includes OLAP technology. In BO, you can expose the OLAP DB as a universe to the end user. MS BI allows end users to access OLAP cubes via Excel Pivot tables. This is an excellent and an extremely powerful medium, especially to end users who love MS-Excel.

As for costs, BO is fairly expensive (depends on the licensing model and based on the modules you select such as Dashboarding, Scorecards, OLAP, Web Intelligence etc.,) MS BI can also be fairly expensive and if you are licensed to use the Enterprise edition of the SQL Server Database, you get OLAP, Reporting services as part of the package.

BO is fully supported on VMWare platform thus reducing the cost of running it on a physical server. This also helps you recover and be up and running quickly in case of a disaster. MS technology on the other hand does not explicitly support its DB / infrastructure on a VMWare platform since MS-HyperV is MS's own virtual technology. Installation wise, BO is a little involved than MS.

MS BI Includes an ETL layer called SSIS (SQL Server Integration Services) which you can use to get data from heterogenous systems. SSIS is part of SQL Server Enterprise edition and you don't pay extra for it. BO has its own ETL layer called Data Integrator and you pay extra for it since it is not bundled with BO.

There is always a learning curve with any BI tool, be it MS tools or BO or Cognos etc., MS technoloogy in my opinion requires a technical person to build reports for end users. With tools such as BO or Cognos, you build the semantic layer and using which an end user can build many reports. One very important point to remember when you build BI / DW subject areas for your company, please ensure your end user needs are met. "You build it and they will come" approach will not work, especially with a BI implementation.

The key benefits of the MS stack is a consistent security model and the ease (from a developer standpoint) of creating solutions. It is not easy for end-users to create or derive information and reports without the involvement of IT.

The key benefit of the BO stack is "ease of use" from an end-user perspective (with minimal training and Web Intelligence, end-users can be very "productive".

I put these in quotes because with the universe model (or a semantic model from other vendors... this is not a BO-only problem), it is as easy for end-users to get the wrong answer as it is for them to get the right answer. There is almost no way for end users and it is very difficult for IT professionals to understand why they got the right or wrong answer. Because everything is hidden behind the Universe model, tracking from a report back to the base data is a non-trivial task.

The security model under BO is highly fractured. Universe-level security bears no resemblance to report security which bears no resemblance to database level security which bears no resemblance to portal-level security. You have to get all these right to keep your data secure.

Because BO relies on other vendors for the data store (this may change now that SAP owns Sybase), performance tuning is also highly complex. There is no facility for aggregation (like Analysis Services or other OLAP platform). In order to get pre-aggregated results, you have to work with DBAs to manually create aggregation tables and integrate them into the Universe.

Managing and maintaining BO is also very convoluted. You have to understand that it is an amalgamation of products from Business Objects (prior to the SAP acquisition), Crystal Reports (prior to the SAP acquisition, CR was acquired by BO) and other vendors. They each have their own vision of security, management and administration. Then there is the data-store level (see above).

You need many disparate skills to do a full BO implementation.... Universe modeling/design/implementation, data warehouse modeling/design/implementation, Java skills, Tomcat (or other J2EE platform), security (AD integration is problematic, integration with other LDAP platforms is a nightmare).

Overall, I prefer the Microsoft stack. I acknowledge that it takes more effort from IT to get a set of reports going and new reports often require someone from IT be involved, but overall it is a more managable, more secure and less expensive solution. I see Business Objects as a consultants dream.... an endless font of billable hours.

While I agree with Philo that SSAS is an aggregation layer between transactional data and the business user, it is absolutely not a semantic layer.

A semantic layer provides translation services between an underlying data store and business-level language (the business semantics that end users will be familiar with). BO's Universe semantics layer does the translation between a business semantic (an Order, an Employee, a Line Item, etc) and the underlying data store (tables, joins, aggregation tables, etc).

 Licensing and hardware costs fall under the heading "initial acquisition costs". Throw in the consulting and knowledge transfer costs (training, etc) and that will give you a pretty complete idea of what the initial costs will be for a solution (Business Intelligence, Data Warehousing, ERP, CRM, buying a car, buying a house, etc)

In any IT project, the bulk of the costs are day-to-day operations over the expected life of the solution (generally 3-5 years). Initial costs may be as little as 10% of the overall costs.

I'd rather spend $100,000 initially on a system that will cost me $500,000 over the expected life of the solution than $75,000 initially on a system that will cost me $750,000 over the life of the solution.

Yes, there are budget realities to be considered (I may only have $75K in my budget this year and no chance of getting the $100K... but amortizing the higher cost into the future may be acceptable).

What I like about the Microsoft stack is I can leverage skillsets that I already have in-house (SharePoint, Windows Server, SQL Server, .NET developers). With BO, I would need headcount dedicated to BO (Universe design, implementation, maintenance, security). Since BO skils are not generally transferrable to other skills I need, those extra heads blow the budget for me.

No comments: