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 http://arstechnica.com/news.ars/post/20060628-7154.html ]

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 http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=201115


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 : http://channel9.msdn.com/showpost.aspx?postid=203534
Building better OBAs http://msdn2.microsoft.com/en-us/library/Aa905315.aspx


Case study http://msdn2.microsoft.com/en-us/library/Bb245765.aspx


Architectural talk http://drowningintechnicaldebt.com/blogs/dennisbottjer/archive/2007/05/24/Office-Business-Applications-Architecture-Talk-with-Colin-Cole.aspx


VSTO Tools blog http://blogs.msdn.com/vsto2/

Thursday, August 30, 2007

bits and pieces - from Tech.Ed 07



It's been quite a while since I attended recent teched 07 in Gold Coast and I thought to put some memories of the conference here before I forget them.

Overall impression,
A nice experience, very well organised with a balance of knowledge + fun, good speakers and plenty to learn at one's own pace through sessions or hands-on labs, provided opportunity for networking and catching up with some old fellows + finding what others are doing/thinking in the industry ........

New things coming,
Well not exactly new as most of the things presented there were already out there in the market or at lteast known. The things I pick were

  1. Office Business Applications (OBA) Wave, Microsoft looks real serious about that

  2. further growth of SaaS trend (Software As a Service),

  3. Architectures moving furhter away from dedicated synchronous calls to asynchronous messages, like system A sends a message to B, B to C and C to D and then D replies to B and A, invloving C whenver required => Mesh of messages (thinking of WCF, WWF ?)
  4. .Net 3.5 and C# 3.0 with loads of features
  5. Establishment of SDC (Solution Development Centre) at Microsoft in Sydney where Microsoft will develop the solutions with its partners, with the support of an ideal environment equipped with right machines, software and Microsoft Technical expertise to speed up the development and bring the innovative solutions. http://www.microsoft.com/australia/services/consulting/sdc.mspx

An interesting debate,

After attending a session on "using the web to develop connected systems" which talked about an idea of using http infrastructure and messages (like 404 etc) to run communication between layers (UI, Middle tier etc) of an enterprise application, I really did not like that session and then had an interesting & hot debate with my collegue Fernando with Mundeep as a mediator :D, Fernando's argument was (if my memory is working)
  1. This was some new idea and really simple and workable, a unqiue and different session at tech-ed where all other things were routine but this one was innovative thing
my argument was



  1. It could be a nice idea for a lab or close group discussion not for tech-ed which is not a research conference and we have very limited sessions to attend

  2. Personally, We have already got enough crap on internet, we have hardly managed to come to some standards like Web servies and WS-* and please no more crap on a crappy infrastructure

and then my last argument gave rise to another inconclusive debate between us on scrapping of the internet as it was not designed for the entire global family or should we wait and it is bascially evolving? { http://www.livescience.com/technology/070413_ap_new_internet.html } I took the stand I would love to scrap it because we are basically doing workarounds to overcome the limitations but I know practically it is not possible so we have to live with it, Fernando's opinion was nothing can be built in one day and it is basically going through evolution and no need to scrap it. At the end it was good mental exercise :)



Some interesting junk info: where will our data live?

Here =>


This football stadium size structure has 9 floors, 6 with storage disks & disks & disks and 3 floors with cooling fans, it belongs to Microsoft where our data (hotmail etc) will be stored.
The interesting part is its location, it is in middle of no-where, it is located in west Washington, near-by a Dam, ? Why? Because this is the place where electricity is cheapest in USA, the big players (Microsoft, yahoo, Google) believe that whoever provides the cheapest data storage would win the war of free internet spaces,
But the most interesting part is the right top corner of the bigger picture and right bottom (not visible). The top corner building belongs to Yahoo and towards right Google is constructing its own building :) They are keeping an eye on each other,

More Junk,
How does Microsoft come with its codenames? For Visual studio they looked for areas near Seattle and chosen the names like Everett, Whidbey, Orcas island and now Rosario. check this interesting blog for more detail http://blogs.msdn.com/bharry/archive/2006/12/20/what-s-in-a-code-name.aspx