Tuesday, February 19, 2008

Simple SOA


Simple SOA is the moto of Udi Dahan's presentation in the 19th meeting of the SOA Forum of the Israeli Association of Information Processing on February 17th. .
According to Udi, SOA architectures are sometimes too complex, the term Service is overloaded and may define different kind of entities.
Udi presented step by step a unique SOA model which was discussed by the forum members.

Model Highlights
The following highlights describe Udi's SOA model principles:
  • It is a Loosely Coupled model
  • Loose Coupling starts with the Business
  • Service definitions are Business definitions
  • A Service is a very coarse grained entity defining business functionality e.g. Customer Care, Sales, Fulfillment, marketing, Billing.
  • Each Service owns its database or files.
  • The communication between services is simple one way messaging. No Request-Response and no transactions are part of the model.
  • Business Processes are inter Services events
  • Events notification is message based using Publish & Subscribe.
  • Some of the events are complex events because there interpretation is based upon multiple messages from multiple services e.g Product Price change, definition of a group of customers as strategic and an Order by a customer are a complex event determining the price of a buying transaction. .
  • In case of an event each service extracts the data it needs and write it in its database or files in its dedicated format. Each Business function unit data infrastructure is independent on another Business Unit data infrastructure.
  • Service Level of a Service is independent on other Services and their availability
  • Each service is composed of Components, based on Business definitions.The Components are autonomous. Multiple components may serve the same technical contract e.g. Sale transactions above 10,000 USD Component will be separated from Sales of less than 10,000 USD. The contracts could be different and the message structure may be different. The separation is based upon Business rules distinguishing between the two kinds of transaction.
  • SOA transition process is a Top-Down process: Business Services mapping and analysis, architecture building and finally coding.

Benefits of model of this type
According to Udi, this kind of model is aligned with the Business, it is simple and clearly understood by Business people. Other benefits of this model are:
  • Services are clearly defined
  • Service Level of a Service is independent on other Services
  • Service Availability is less dependent on other Services.
  • No need for translations between different business models in different departments, e.g Fulfillment is Product Centric while Billing is not.
  • Technical Infrastructure decisions are justified by Business Value, e.g. buying a separate server for Strategic Customers sales is justified by high revenues from sales to these customers.
Open issues discussed during the meeting
  • Data inconsistencies because each business unit keeps identical data
  • Are the entities defined by Udi as Services SOA Services?
  • Is Publish& Subscribe a model capable of addressing all SOA interfaces?
My Take
  • Services granularity could be too coarse
Is it the return of the old Monolithic applications paradigm with a different integration pattern (Pub&Sub)? No, Components are included in the model.
Is it the return of one of the Component Based Development (CBD) models e.g. Paul Allen's model (Not the ex-Microsoft but CA's and previously Sterling Software's Paul Allen)? Yes, if the Components do not have explicit Business defined boundaries.
How can a Service be reused? Probably it will not be reused at all.

  • Service is an overloaded term. Component is not less overloaded term
The model could use the term Component for an entity another SOA model could use the term Service. The term Component could stand for: UML 2.0 Components, ERP Components, CBD Components, CBD2 Components etc.

  • The trade off: Simplicity vs. more extensive model
It is difficult to maintain a Complex model and to synchronize it with technical implementations (see previous posts: SOA and BPM: Too much Round Tripping? and SOA & BPM), however, a simple model may not always address properly all requirements. For example, other integration patterns in addition to Publish & Subscribe may be needed for addressing business requirements properly.

  • Loose Coupling is not always the right approach
The loose coupling of Business Services is nice and simple model with many advantages. A technological Loose Coupling is a derivative of the Business Loose Coupling. As mentioned by Udi, there is a hierarchy of loose coupling levels.
ZapThink's ZapFlash posted by Ronald Schmelzer on November 28th 2007 analyzes seven layers of Loose Coupling:
1. Implementation – Loose Coupling between Service provider and Service Consumer
2. Service Contract
3. Service Policy
4. Process
5. Data Schema
6. Infrastructure – independence on certain vendor infrastructure implementation.
7. Semantic Layer – Loose Coupling of Semantic Changes
Never the less, in some circumstances Tight Coupling or less Loose Coupling is more adequate. The 5th presentation in the SOA forum by Nati Shalom included examples of high intensive computing grids requiring Tight Coupling due to performance requirements.

  • Enterprise wide processes are not addressed by the model
Enterprise processes and sometimes processes spanning outside the enterprise are probably required in most large enterprises. As far as I understand, the model does not address such Business Processes. Enterprise Business Processes improvement and innovation is a key SOA implementations benefit.
The atomic unit of a SOA process is a Service. Which entity is the atomic unit of a process in this model? Is it a Coarse Grained Service? If yes, process agility could be limited.

  • Data is not necessarily in one centralized database or duplicated many times
In addition to the two cited data models, discussed in the forum meeting, a Federated data model is possible. Each of these three models has strengths and considerations.

  • Aligning IT Costs with Business Value is correct but it is not new
The model ties beautifully between Business Value of a Component or a Service and the infrastructure costs for deploying this Component or Service.
However, similar ideas are shaping current Business Service Management (BSM) for the last five or ten years.
For example the priority for fixing a server problem is determined according to the impact on critical business services.
Even some Y2K compliance projects prioritize tasks according to potential business risk and not according to technological dimensions.
In summary, Udi Dahan's simple model is interesting and in my opinion could be applicable and valuable for some enterprises especially SMBs. Unfortunately, other enterprises implementations require more complexity and will have to deploy other models.


Thursday, February 14, 2008

SOA and BPM: Too much Round Tripping?

A previous post  SOA & BPM referred the issue of bidirectional gateway between BPM modeling and BPM implementation. The build of updated model from changed implementation or vice versa could also be termed as Round Tripping.

Recently, I read an Industry Trends Report named "BRIDGING THE BUSINESS-IT DIVIDE IN ENTERPRISE CLASS PROCESSES" written by Bruce Silver Associates.

The trends report topic is BPM and its relationship to SOA. The report illustrates the difficulties of bridging between Business BPM Analysts and Information Technology experts and also between SOA type BPM based on BPEL and Human based BPM nased upon Business Process Modeling Notation (BPMN) OMG's standard. The Round Tripping of BPEL based execution and BPMN based modeling is another challenge.

Another issue analyzed is the requirement for bridging between Metadata model, Data model and Programming model developed by using different tool sets. The context of the report is limited to BPM and SOA, however bridging between Data model and programming model is not limited to BPM and SOA. It is an old and known issue, which is manifested in various ways, for example, in the O-R Mapping challenge in case of an Object Oriented Programming Model with a relational data base.

A major problem is the gap between Business and IT. Some consequences of the gap are usage of different tools and terms for Business people and IT staff. Bridging between the different tools resulted in another Round Tripping.

The second part of the report is about an innovative BPM tool M3O developed by Vitria.
Unlike, Second Generation BPMS, M3O eliminates the Round Tripping by usage of Web 2.0 technologies and wizards instead of improving the Round Tripping solutions.

Conceptually, the key for closing the BPM gap between IT and Business is abstraction: The abstracted layer is simpler and free from technical terms usage.

M3O architecture is similar to Human Centric BPM suites, but tries to address Enterprise SOA BPM processes unified with EDA and Human Centric BPM.
The key principles are:
  • Shared Repository for IT professionals and Business Analysts
  • Shared design time processes viewed partially according to roles.
  • No code generation and therefore no need for Round tripping
As code is executed probably it was created as part of the product and customized by
executing wizards.


My Take
Sharing artifacts instead of Round Tripping is viable option.
It reduces Complexity and error due to unsynchronized artifacts. On the other hand the ability of that architecture to support complex SOA and Human Centric processes should be validated. It also should be noted that Management and Governance of a shared repository is a challenge.

In my opinion a key question for assessing product without code generation or programing is: Is it capable of handling Complexity?
Addressing requirements of Enterprises with thousands users, hundreds systems and many complex processes will include such Complexity

Friday, February 1, 2008

Web 2.0 for Dummies – Part 6: Virtual Worlds

This post is the 6th post in the "Web 2.0 for dummies" posts, based on my Web 2.0 presentation in a conference. After tasting Web 2.0 (part 2) and understanding what it is (part 4) we will drill down to more specific Web 2.0 principles and implelentations.

What are Virtual Worlds?Virtual World is computerized simulation to which Real World laws apply (e.g. Time, Gravitation etc.). Participation is by using a virtual identity or virtual image called Avatar. Avatar’s communication with other Avatars is by text, sound and motion (gestures).
Virtual Worlds types can be classified into the following categories:
  • Single Player Games
    SIMS is an example of single player game in which the player creates a virtual reality. However, a Single Player Game scope is limited and it is not a Web 2.0 application. The player may even play using his local computer without Web connection.
  • Massively multi player online role playing games (MMORPG)
    These games are part of Web 2.0. The player interacts with other participants. World of Warcraft is an example of Multiple Players Game.
    The scope of those games is still limited, because in most cases it is a competition between teams or individuals.

  • All Encompassing Virtual Worlds
    These worlds are open for any real world interactions in a virtual context. In my opinion there is an immense potential for creativity and business in these kinds of Virtual Worlds.
Some of these Virtual Worlds are Metaverses a term coined in Neal Stephenson's 1992 novel Snow Crash: Non- Real World laws applied to the Metaverse in addition to Real World laws.For example in some metaverses an avatar can fly.
Flying is not the only wish which is not fulfilled in a Real World.
One way in trying to fulfill our unrealistic wish list is by acquiring a virtual identity which may fulfill someone's dreams. This can be achieved sometimes in the All Encompassing Virtual Worlds. However, even in the Virtual Worlds there are limitations as you can se in the following sections.

AvatarsThe origin of the term Avatar is in Indian culture. From the varied definitions available for Avatar I choose the following definition:
In Hindu philosophy and religion (and as defined here too), an avatar is the physical incarnation of the Supreme (or an aspect thereof). "It derives from the Sanskrit word daveed which means "descent" and usually implies a deliberate descent into lower realms of existence for special purposes
In virtual worlds the Avatar is 3D representation of a human being (or is his Alter Ego).


The Real World and the Virtual Worlds

Are the Virtual Worlds one hundred percent Virtual i.e. are they totally separated from the Real World?


The illustration on the right side answers this question graphically:Notice that each of the Virtual Worlds in the illustration is overlapping the Real World and is totally separated from other Virtual Worlds.
The overlap in the illustration represents interfaces between Real World business and culture and the Virtual World.
Although many of the Virtual Worlds model is based on free of charge participation, the company which manage and creates it charge for special services (e.g. bying an island or deploying multiple avatars for a single person in Second Life). The charge is in real world money using real world credit cards.
The interactions between participants may include selling and buying virtual objects or providing services using local currency. However, this money can be changed to real world money using the managing company services or one of the banks (virtual branches of reak banks).
Cultural activities, such as virtual art are also part of Virtual Worlds. The artist may present his work in a virtual museum or sell it to another avatar.


Considerations &Challenges
The general Web 2.0 considerations mentioned in "Web 2.0 for Dummies – Part 4: What is Web 2.0?" are applicable to Virtual Worlds:
Participants may misuse the trust for committing virtual crimes, and create improper objects, perform improper artistic shows.
In my opinion the following rule is applicable: The number, scope and variety of improper virtual events is higher when the Virtual environment is richer, more innovative and more people participate.

Three Examples of Virtual Worlds in a glance

Example 1: Entropia Universe

Descripotion

  • A Virtual World created by the Swedish company MindArk
  • A space colony build of islands
  • 640,000 registered users (probably not logged on concurrently)
  • Participant’s role is colony development
  • Local animals (very different from Real World animals)
  • Variety of minerals
  • virtual Crimes
Economics

  • Local currency: PED - Project Entropia Dollars
  • Exchange rate 10 PED – 1 USD

  • Turnover of 3.6 Billion PED in 2006

  • Real World Banks opened Virtual banks in Entropia Universe
  • Trading and Business initiatives
Example 2: Second Life
Description
  • Metaverse
  • One person can use more than one Avatar.
  • IM (Instant Messaging) enables an Avatar to send a message to a group of Avatars
    Business& Culture
  • Virtual lands acquisition

  • Virtual arts and museums Louvre
  • Concerts performed by real artists
    Susan Vega's concert was the first.
  • Software & Hardware vendors presenting their real world products
  • Embassies of Real Countries
    Moldav Islands, Sweden
Considerations & Challenges
  • Local Crime
    A Second Life Police role is to reduce the crime rate.
  • Improper Content e.g. Pronography
  • Copyrights issues
  • Biases in favor of large companies. Residents get less and pay more.
    Example 3: Stagacoach Island CommunityThis Virtual World is the cornstone of a revolutionary marketing approach of Wels Fargo bank. The bank created a Virtual World called StagenCoach Island. Playing includes financial training. Marketing by creating a Virtual World is directed towards the younger generation or the Web generation.The Web Channel is more effective than traditional channels such as Newspapers or TV, because the younger people allocate much of their time for Web activities.
    Future Directions
    One direction is standardization. A new IBM & Linden Labs initiative of 3D Internet standards was joined by Cisco, Google, Sony, Intel, Multiverse, Microsoft, Motorola, Philips and academic reaserchers.

    Stnadardization is one enabling element of The Virtual Grid.
    The idea is crossing boundaries of Virtual Words by avatars, similar to citizens of a real country crossing a boarder to another country. These avatars should own virtual passport which will be checked by virtual workers at the gate of a Virtual World.The benefits could be more cooperative and innovative Virtual Universe, which eliminate the necessity to create multi Avatars for one real human.

Public Cloud Core Banking: Hype or Reality? - Revisited

  More than 4 years ago I was asked if Public Cloud Core Banking is a Hype or a Short Term Reality? If you had read the post, you would prob...