Enterprise Architecture

February 13, 2008

An application is never an island. An application is a part of an application portfolio an organization(like an enterprise,smb or web site) manages. Usually the application portfolio is associated with a line of business – a division or group with a specific business context – including different distribution channels(presentation and application). The organization needs to build an organization IT architecture which implements the business and IT strategy defined. This brings into the picture business processes which usually lead to composite applications. the composite applications are built using services and bring to the surface the enterprise service bus. In order to provide for real time capability applications are event enabled. Business events are emitted to a central engine providing Complex Event Processing and Operational Business Intelligence. This as you may recall is the “BIG PICTURE“. Internally an application may grow is size and would require splitting it to modules which have a specific business subject and are self contained. Modules manage their own data and have no dependency on other modules. The out come of all of the above is the enterprise architecture.

The following diagram is an example of the infrastructure architecture a hosted enterprise on MashupFactory will use :


As we saw before with applications the offering has to provide at least an equivalent quality of service copared to the on premise solution. In this case MashupFactory delivers a comparable and similar solution.

In my next post I will present the full stack of technology used to support the Platform as a Service environment.

Platform Feature review

February 10, 2008

When talking about the benefits offered by a level 3 platform we need to provide the high level description of the main benefits and then drill down to the specific issues in each dimension of IT we address. Lets start with the main benefits we expect to get from a platform product :

  • Build for Planning & Governance – Govern and Control projects in a clear and simple manner.
  • Deal with Business Domain only : Business Rules,Objects and Data – 70% code reduction and the use of proper abstractions and languages.
  • SOA, EDA, CEP and BPM Support – Advanced tooling for Enterprise Nervous System.
  • Focus on IT LifeCycle Management – Holistic view addressing all aspects of IT.
  • Support CMMI, ITIL, 6 Sigma -Industry bestpractice, excellence and efficiency.
  • Build to deliver unlimited scalability – Grid and Software infrastructure hide complexity.
  • Service Management, Monitoring & SLA – Tooling is Built in to the product itself.
  • Channel to Operational to BI to DataWareHouse – Addressing the business need at the core.
  • A platform product which fails to address these main concepts will be a far less productive option to consider. Each and every one of them is a true benefit by itself and a part of a critical mass enabling a true market change in the global IT market.

    Below we can see the platform feature diagram. These are the category groups of features a product should deliver in order to provide a full alternative to today’s on premise solution :


    We can add the following Dimension details :

    • Strategy :
      • The portfolio contains all projects and enables Architects to define the proper configuration for each one.
      • Role assignment confine project members to their proper level of work.
    • Development :
      • The use of Domain Driven Design as a basic development concept.
      • The focus on Domain Specific Languages.
      • The development of Enterprise specific language.
    • Operations :
      • Built in Audit, Control and Monitoring.
      • Built in Profiling, Prioritization and Diagnostics.
    • Data :
      • Persistence Type : Relational,Object,HashMap,Files.
      • OnLine Operational BI.

    In my next post I will discuss the layering of a modern on premise application and compare it to a Platform as a Service application.

    Who will use a level 3 platform and why?

    February 6, 2008

    A level 3 platform – Platform as a Service – is looking to be the possible alternative to the on-premise stack of development and operation tools. but who will use it and why ? lets start with the why:

  • No Data Center operations – in the cloud economy of scale, lower TCO.
  • Unlimited SLA based scalability – Agile and reliable computing resources.
  • End to End In Browser SaaS solution – no configuration, plug and play productivity.
  • Portal based process oriented holistic environment – A higher level of IT productivity.
  • Business Domain development only – smart reuse of technology stack, Shorter TTM.
  • Environment Management and Deployment – Instant deployment to many environments.
  • Full Service Management and Monitoring – Built in to the technology stack.
  • BusinessEvent Bus -Enterprise Nervous System.
  • Overall order of magnitude IT cost & time reduction.
  • We can see that such a platform offers an order of magnitude improvement in the Strategy, Development and Management of IT for ISVs, Enterprises and Web sites. For those looking for shorter TTM and lower TCO this is the most appealing option.

    However there are attributes which we find in today’s on premise technology and architecture which may become a barrier when considering the use of a level 3 platform product. I will address them in my next post.

    Level 3 Platform

    February 6, 2008

    What is a level 3 platform and why do we need it?

    Lets start with the why. What is the problem with Enterprise IT(and for that matter Web IT and SMB IT) :

    1. IT asked to deliver Business Value, Differentiation & Agility but stuck on data center ops.
    2. IT – Business Alignment fails due to lack of Governance and Control in a fractured environment.
    3. Development, Vendor and Tool integration is repetitive ,slow and costly.
    4. Architecture Concepts : SOA BPM EDA CEP – very complex to create Enterprise Nervous System.
    5. Ops requires a host of costly Management tools.
    6. IT itself is not process and control enabled.


    The above is the essence of issues we see today in IT. Lets expend on each of them :


    1. Value, Differentiation & Agility are the fundamental expectations from the IT team. These are concepts which reside partly in the Business Strategy domain and partly in the IT Strategy domain. They are the main power source for positive change and express themselves in Architecture,Methodology,Planning and Execution. Data Center operations is not part of that. This activity “does not matter“. It can be view as a commodity and the only reason for it still being a part of IT is due to Software,Hardware and Networking issues. However this has changed lately with the Advent of Grid and Utility Data Centers and the emergence of web services and service oriented architectures. CPU power,Storage and networking can be bought by the pound and should be completely hidden and virtualized as an infrastructure stack.
    2. IT – Business Alignment is the main factor driving IT Governance and Control. It is very important to have the supporting tools and environments to perform and enforce all the rules defined. However most of today’s IT environment is completely fractured. Portfolio management is self contained. no tooling exists to govern architecture and design of projects in order to properly fit them into the enterprise architecture. There is no rule repository for consistent business behaviour and service governance is not properly tied to the development.
    3. Development of software is 70% repetitive. In order to express the business behaviour you have to build the “technical stuff” over and over again. The main issue in addition to that is that current development technology is ill equipped to do Business Software Development. Java,C++ or C# do not provide the level of abstraction and the business expresivness business domain based development expect today. Tools and the Methodology are another issue. Agile or RUP and their tool stack are both “over qualified” for Business software development which mostly implement the porter “Value chain” concept.
    4. As we progress in time specialization increases in the software field and the know how to create complex business systems becomes out of reach for in house development. Enterprises look to commoditise as much as possible the technology stack and focus primarily on their domain development. a platform providing the tooling required is a necessity.
    5. As today’s operations environment is heterogeneous and complex, accommodating various different ISV products each with specific requirements, the task of delivering high service level and operational excellence requires a multitude of tools and bears high cost.
    6. The IT environment itself is not built based on the concepts of process and control. This issue reduces productivity and prevents IT from delivering the service level expected.


    The platform should addresses all the above shortcomings and provide a cloud computing alternative which delivers a higher value for a lower cost. The virtualization of services and resources will enable the development, deployment and management of IT services transparently in the changing on-line economy. The SaaS Model maturity and the Web Service infrastructure are the big enablers of this market change.