Thursday, July 31, 2008

What does it take to create Mashup Corporations?

I was recently discussing with a Business Objects report designer regarding a customer's requirement for Ad-Hoc Reports. The Ad-Hoc Reports are targeted for Business Users, who are not really IT savvy. That scenario flashed me an interesting thought on the lines of web 2.0.
If the business-users/Operational users are comfortable in composing 'Ad-Hoc Reports' on their own, why not 'Ad-Hoc Solutions'?. 'Ad-HoC solutions'= 'Mashups'.
If the business users are provided a platform for composing their own mashups, I am sure they would love to compose their own solutions. The million dollar question is - How easy the mashup platform would be for the end users to compose their own solutions?
But beyond Technical limitations, I see the cultural factors play a stronger role in rolling-out Mashup platforms
- Need for educating/informing the business users regarding the new 'Empowerment' of composing apps on their own
- The comfort factor of the new empowerment from all quarters including the security department
- Joint Governance of mashups created by both Business IT

Whether a user constructs a data mashup or a business process mashup, the need for a mashup will typically arise from the respective business user's curiosity/ambition and deeper commitment towards his day-to-day operations. One can correlate this scenario to a well- known situation - How can we make the business users interested towards using Business Intelligence solutions? There is no easy way to sell BI solutions. Similarly there is no easy way to sell web 2.0 or Mashups as well.
They are not just IT solutions. These are solutions have deeper impact in a person's motivation, organization structure and culture.

Sunday, July 13, 2008

Risks in Composite Applications

Here is my recent experience on Composite Applications. Yes, Composite Applications are cousin brothers of Mashups in Enterprise World! :-). While Mashups are situational apps that are predominantly built using Web Interfaces (SOAP/REST), Composite Applications are custom applications that are defined around existing assets in the enterprise. The assets can belong to any technology and be available in any consumable form, not necessarily in the form of Web Services.
If you google for Composite Applications, You will get different definitions from different vendors each of them woven around their own set of products/technology stack. But, Ultimately they all define the same. These are the applications that are composed to serve the unstructured needs of the customer. For the same reason, you will find Microsoft weaves around Office Business Applications, IBM tells the story around Lotus Notes and SAP has Adobe Forms. And have a look at this Microsoft blog which explains the architectural differences between traditional apps and composite apps.
Of couse, the very idea of 'Composing' apps (and not 'building' apps) looks tempting and interesting!. Of couse, the idea of getting apps to the clients, instead of clients reaching out to apps, looks enriching and rewarding!.
Some of the interesting apps could be - clients accessing a purchase order information from SAP without even leaving his Microsoft Outlook and working through the Order collaboratively with his peers.
But, be warned for the following reasons:
- We are increasing the number of tiers in the application. Two-Tier / Three-tier no longer hold good.
- We are increasing the number of COTS in one vertical slice of the application. Its no longer pure custom app (100% coded). You will have participants from multiple platforms/products/technologies in a single business process.
- Security. The whole game would be easy if all the tiers in the app belong to single vendor/single technology/single OS. The moment where we compose the app out of assets from different participants, the security reconciliation of ID and Roles will be cumbersome!. In my recent experience, I realized that a Security platform, something like TransactionMinder, that would ensure end-to-end security across all tiers will help.
- System Management. If your custom apps have some footprint of desktop elements, then we are going a couple of decades back (unknowingly) in the app architectures. Performance - In Three tier web apps themselves, there is no single product/tool that is available in the market that would give me end-to-end performance of a vertical slice in the app. Imagine the amount of complexity involved in tracking the performance and other SLAs in a multi-tiered composite apps!.
- Last but not the least - the composite apps are pervasive and multi-channel enabled. We need new set of tools and techniques to manage the SLAs across channels for a single business capability that is exposed as composite!.

Tuesday, July 08, 2008

Analytics beyond Technology Boundary!

This is another interesting story from Outlook Business. There was an interview with Future Group Chief Kishore Biyani in this month edition. In this interview, Kishore talks about his future plans in retailing & customer experience. Future Group is a large Indian business conglomorate that has its presence in vairous sectors including Retail, Media, Logistics and Finance. The Flagship business of this group is Retail and its one of the pioneers in low-cost large-scale retailing in India.
When we consider Technology and Business Intelligence as key sources of increasing sales in retailing business, Kishore thinks differently. This is what he has to say about his plans...
"We have a chief customer director. We have also appointed mythologists, sociologists, and anthropologists. We monitor everything that is happening in this country, and we try to respond as fast as possible. We’ve been building this team over the last six to eight months.".
I can understand psychologists. But look at the list - he has mythologists, sociologists and anthropologists. And for me who is from a Tech mindset, this perspective was a revelation!.
Yes, Technology, BI and Analytics alone may not be enough for driving business in your stores. While at one end, we are increasingly codifying the user experience using personalization, rule engines, inferencing and recommendation engines, the other end, another set of people are seriously looking for ways that would interact with Humans with Humanity!. And that is unique!.
Am sure, this approach will certainly and significantly improve the customer experience at Retail stores in the days to come...!
My thought is - How to match that unique customer experience in online stores using Technology?

Now, SaaS is a Corporate Social Responsibility!

WoW!. It was quite a revelation when I read the column by Arun Maira, Senior Advisor, Boston Consulting Group in Outlook Business titled 'Look beyond Products and Profits'.
In this column, Arun proposes five new dimensions to the next generation of business models. The article is completely technology-agnostic and talks purely about inclusive growth. When I was reading one of the dimension for the new framework of business, he says - "The second is the distinction between having access to a product or service and owning it. The more business models are geared towards providing access rather than insisting that people own the stuff, the less stuff will be put through our production and supply processes, and the less will be the pressure on the earth’s resources".
After reading this, I said to myself 'Wow!', How clearly this dimension correlates with SaaS business model? It makes the end consumers to access the resources without owning it, and that saves not just money, but lot of resources, including earth's resources'.
Now, I would say 'SaaS is a corporate social responsibility'. Like various other social-sensitive initiatives like recycling paper, green IT - SaaS also makes a company unique by consuming less resources.

Friday, July 04, 2008

A new language for SOA!

While the end objective of SOA is to achieve enterprise agility, the actual path to achieving the same is 'counter-agile', as Thomas Erl states. The actual process of building and hosting the services in a distributed environment is not simple. And on top of it, if you add the products that promise to implement successful SOA, the complexity will only multiply.
This post is a continuation of my two previous posts - IT industrialization and Product Line Architecture. When I was discussing with my fellow Architect in this regard, we concluded that the need of the hour is 'simplicity'. And I can no way refer any of the existing products in this category.
And there is also lot of discussion going on in the web about the promise of SOA. Someone has asked, if SOA is evolutionary and promising to bring tremendous benefits to the enterprise, how come we are building SOA with same old technologies?. - very thought provoking. You may say - Web services is new technology. But, the fundamentals are still the same.
The only way I see the complexity can be reduced is by bringing a fundamentally new technology or language that would simplify 'building' SOA. And I am not wrong!. Check out this language - Somebody is not only thinking but working on those lines.
Another way of looking at simplicity is use of 'Domain Specific Languages'. I see DSLs are the only thing that is common between Agile Camp and SOA. Both of them agree to gain benefit out of them. While the 'Agile' camp approaches DSL for productivity/Accleration in Development cycle, SOA approaches DSL from 'semantics' perspective. Both stand to gain from it. I believe well designed DSLs would make the 'building' part of SOA lot more 'faster', not necessarily 'simpler'.
But unfortunately, it looks like DSLs are going to become obsolete even before they mature! Yes, Microsoft is planning to adopt UML instead of DSLs for modeling SOA.