Monday, May 6, 2013

A Social Network for Enterprise Applications


Put together a few day-dreamers, high skilled innocent techies who can be taken on a fantasy ride, some chilled beer and the beautiful spring evening of Pune city; what you end up with is a crazy concept and a design document written on tissue papers and thick-paper coasters, for the wackiest  and unimplementable idea one could ever come up with. If only one could get some venture capitalist or seed funders on the same table; the next one year could be a well funded sabbatical for most of us around that table. Two fantastic experiences I still savour in from last evening. The build-up of the wacky concept and the associated technical design document (if you can call it that) and the green tea with fresh ginger to end the night!

The big idea - a social network for enterprise applications. A space where different applications on heterogeneous platforms, from different enterprises could reach out to each other on a need basis or otherwise, to befriend one another, share and exchange both data and intelligence for mutual benefit and in a secure manner without violating privacy laws. The applications decide their privacy settings and create trust groups with trust levels of various degrees. I guess by now you guys would have gauged the height and depth of lunacy that prevailed around that table. I state again, there was just beer on the table, nothing else!

Straight thru collaboration between enterprises has always been looked at as a fictional idea. Enterprise IT Policies, data governance mandates and zero tolerance towards alien incoming traffic into enterprise network have prevented straight through collaboration. Management will power always gave way to the logistic nightmare of establishing trust relationships between enterprise networks, working thru the mindsets of enterprise IT teams, enterprise risk teams and IT auditors. Cloud and particularly Azure services seem to have unknowingly offer a solution in this space.

Some of the elements needed for straight thru collaboration between enterprises for consumer's benefit :

  1. Authenticating consumers , employees and partners for the scope of the collaboration in focus.
  2. Persisting session data across multiple systems belonging to different enterprises and  enabling these systems to access this data. 
  3. Persisting Master Data of the consumer to be accessed by collaborating enterprises,  their respective processing partners and the consumer himself, subjected to data access rules of these organizations.
  4. Data transformation outside of enterprise networks as needed by enterprise apps, partner apps and consumer's personal apps enabling these systems to understand the data against the backdrop of diversity in codification of master data and other data items. 
  5. A very effective 2 phase commit of transactions across collaborative systems, one that is non-intrusive.

There are a lot more demands that STC ( straight through collaboration) will place, so the list if not truly a complete representation of all the challenges that would need to be met.

Azure services such as :
  • Identity (AD on the cloud)
  • Caching (App Caching and content caching on the cloud)
  • Business Analytics ( BI and Hadoop Services)
  • Messaging services ( Queues and Service bus on the cloud)
  • Data Services ( Sql Db, Tables and Blobs on the cloud)
can be meaningfully stitched together into a solution around the scope of collaborative services enterprises want to offer to their consumer. As enterprises start authenticating with the Aadhaar framework, ability to collaborating on a non-intrusive mode will get a further boost. I hope enterprises see merit in authenticating not just consumers but all actors needed to get collaboration going, being authenticated by credible third party services.

Ability to transform data, run transactions to their logical end with asynchrony as a key element of the collaboration fabric, with 2 phase commit as the final goal across collaborating systems, would have been impossible without Azure messaging services ( queues and service bus on the cloud).

Azure business analytics services that unlocks enterprise intelligence to empower it further with big data outputs, will add the winning elements of context, timing and relevance to the collaboration services being delivered to the cloud. Getting these three elements right for a single large enterprise is itself a complex activity, getting it right across multiple collaborating partners is a near impossible task without the ability to transform and interpret data on the cloud. This is the reason why we need multiple services as bullet-ed above to be stitched together into a solution. 

The other issue that crops up is that enterprises would not like to remain wedded to it's partners to get STC going for delivering value to the end consumer. The collaboration arrangements could run out of relevance with passage of time , sometimes under 3 hours ( example: credit card companies wanting to collaborate for discounts with in-mall merchants for 2 hours). We need a framework where enterprises could negotiate online the terms and conditions of collaboration, do an online hand shake and get the collaboration going. This is very similar to the scenario where we allow apps to connect to our facebook profile, accept friends invitations on facebook and keep tuning our privacy settings and keep categorizing our friends to get a meaningful discussion / collaboration going. A similar framework will need to be evolved for enterprises to hook-on and hook-off with each other for various transactions that need collaboration between their systems,  their partners systems and consumer's personal apps and devices. A social network for enterprise applications!

What started as a fun fantasy discussion, quickly spiraled into some serious paper napkin drawings of architecture design and some specifications bullet-ed down behind a few thick paper coasters   We were not completely insane, so there were some assumptions that were made. We assumed systems would be intelligent enough to decide whom to befriend and decide on the degree of trust they would like to establish with the system seeking to connect. We decided to tackle the implement-ability of such a scenario on a later date, and focus for now on other issues to get this concept moving forward! 

I need to mention here why I picked Azure. The way Microsoft is approaching the cloud computing paradigm, empowering it with platform services that enterprises need, putting in frameworks for extending these to mobile clients and keeping an open mind on heterogeneity of personal devices and strong preferences of the enterprises to have the flexibility of the cloud with the comfort of implementing their corporate policies. Most of Azure services could literally be an extension of on-premise digital assets as enterprises evolve their view around the right model of governance , security and  management for leveraging the power of the cloud.


written for :

No comments:

Post a Comment

Followers

Google analytics