Friday, August 31, 2007

OBA - Architecture or another Marketecture?

OBA: the concept is not new,

At the recent Tech-ed 07 in Gold Coast, there were quite few sessions on Office business applications. Microsoft's idea of Office Business Applications (OBAs) is not that new. It is new from Microsoft but it exists before in some shape from some other vendors like IBM's lotus notes that allows embedding application interfaces in email clients and integrating them with the database.

[Side note: Though I personally believe a number of times Microsoft copied a technology/trend but they master it with such perfection that original inventor got left behind (like Netscape), probably because they can afford huge investments in technology. Check this interesting news item where Sony is complaining about this tactic though what we see in a tight competitive market such copying is being done by almost all top vendors ]

Feedback on OBA,

Coming back to OBA, I have received a mixed feedback from the developers community. Critics believe that it is more about marketing Microsoft Office Suite when today they are facing real threats from open source and free applications providers, like Google docs, Zoho Officiall Suite, Open Office etc. Once you develop OBAs, you are actually locking your users with Microsoft Office, guaranteeing continue revenue streams for Microsoft. Also some people who tried developing OBAs found a lot of difficulties in implementing real world scenarios and they say OBAs look good in a Microsoft presentation but not in a real world.

I will come back to these issues later but first I will talk about what OBAs are and what they can do for us.

What OBAs can do for us?

OBAs are built around the idea that why do we need a user to get out of their daily-use work tools (like email app, word processor, spreadsheet etc where user spends most of their time) and then log in to another LOB (line of Business) application, perform some business operation and then go back to their work tools to communicate/share the results to some other worker for further processing. OBAs are to be built inside these work tools and integrated with business logic and back-end databases. Web services + Sharepoint provide an ideal mechanism for integration. With office 2007, a developer can modify the user interface of office applications (outlook, excel etc), develop application interface and integrate it in office tools allowing users to enter and share the data then and there.

Few imaginary scenarios where OBA might help us,

1. A sales person gets an email from a customer asking about some new product and sales person wonders how much business do we do with customer?
2. A business analyst doing market analysis in Excel, needs more business data from an existing system
3. A sales person preparing a quote for a customer, to be sent through email, needs customer and product information, from two different systems, to fit in the email template and then needs to save the quote information to a database for future follow-up

These scenarios are commonly seen at work place.

So how can OBAs help?

1. Modifying user's outlook interface, enabling him to fetch the customer profile on a single click
2. Using excel services,business analyst can fetch data directly into his spreadsheet and perform further analysis
3. A user can fetch the product information in predefined format and upon sending quote to customer, outlook automatically parse the email and stores the quote data inside a sales application database for future reference

Check this case study

OBA Tools,

Microsoft VSTO (Visual Studio Tools for MS Office System), Sharepoint portal server 2007 enables the developer to develop OBAs and though office 2003 provides some functionality to host OBA interfaces, office 2007 is the right tool to be used to fully utilise OBAs powers, through its new set of features like custom task panes, ribbon extensibility, the Business Data Catalog, Open XML file formats, and many others..

OBA Marketecture?

Now coming back to the discussion that is OBA another Marketecture? I personally believe that OBAs will provide some real business value for the users and it will cut their time they spend in operating numerous business applications. From development point of view, if your applications expose business logic through web services then the good thing is that you will be able to reuse existing services and cut new development times. With a lot lesser time you can integrate your existing LOBs with Office 2007. Such interfaces will decrease the user dependencies over system generated reports where they can them self pull the required data and prepare the reports in the way they like, using word,excel or outlook.

Issues with OBA,

One of the main issue I see is the maintenance of the OBAs. I fear a mushroom growth of OBAs in an enterprise if OBA initiative is not planned well. Development teams should be cautious in jumping to the OBA development. In an enterprise, this should be done as part of some development framework so that the application interfaces developed should not duplicate the functionalities, developed following some discipline and will be easy to be maintained and replaceable in future.

Thinking about locking up the user with MS Office issue, I personally feel, as a fan of open source development, this won't be good for overall IT industry. I know today how difficult it is for IBM Lotus notes users to migrate to MS Exchange, simply because over the times they would have got a whole range of applications built using Lotus notes. I won't like to see similar thing happening with Office in future. Having said that, I don't see Microsoft is wrong on this strategy as, for the time being, I see it is a win-win model where both Microsoft and user will get benefited. We will have to wait for an year or so to see what other competitors bring to the market.

OBA Resources,

There are few good Internet resources to find more information

Lewis Levin on Office Business Applications :
Building better OBAs

Case study

Architectural talk

VSTO Tools blog