Sunday, April 27, 2008

Write your app, not billing code: collect and share Experiences!

Nowadays, development is done following a bottom-up direction where development focuses on writing, or better rewriting sub-systems and even more systems without leveraging experiences.
An experience is a practical contact with and observation of fact or events. The culture of thinking in the direction of Software As A Service, let development to be - ideally - committed and packaged in an Experience where all the behaviors of the implemented scenario are collected, stored and executed.
Experience is a sense's feature that relies on the SOA paradigm and collects in a single point all the information about what a system or a sub-system does.
Relying on the SOA paradigm this, in a sense scenario, means:

  • they are thought as a Service;
  • they declare a Service Level Agreement contract;
  • they declare what to do when there's no capacity to perform more requests
  • they are manageable through customizable web 2.0 console in terms of operational management and business management

Experiences let developers to focus on what primarily an application is doing: revenues. An experience must be described by a SLA contract that declares the different suffering algorithms of the experience and the logic on balancing on different experiences instance of the same experience family.

Suppose a company would like to sell goods on a target customer. They would like to try several different campaigns on the target proposition without loosing to much money.

Loosing money is for the Experience a SLA status and reflect a good wellness status of Gaining Money. The experience packages itself all the service, components and objects needed to provide the service. It declares the SLA status and some hooks that collect all the KPI (Key Performance Indicator) of the application that is evaluated by a business algorithm.
The business algorithm correlates of all the KPIs and instructs the platform the experience status.

Once installed and assimilated the experience starts pooled as an instance of the same family, and starts working having its status associated. When sense allocates it by thinking it is a valid experience for the current session calls, the Experience starts to collect KPIs associated to it and correlates them by pulsing the result in the Experience status grid.

KPI are real time propagated to console too.

What is inside an Experience is almost all, can be a Service or an external application that turns in a business service level agreement scenario. Experiences are portions of knowledge that satisfies a custom business behavior in a SOA oriented fashion.
Experiences can be identified like ACID portions of knowledge. They are Atomics, Consistent, Isolated, and the providing business is Durable.

No comments: