InfoQ

News

Article: Beyond SOA, a New Type of Framework for Dynamic Business Applications - Part II

Posted by Jean-Jacques Dubray on Jul 08, 2008 11:16 PM

Community
Architecture,
SOA
Topics
Domain Specific Languages ,
Enterprise Architecture ,
Composite Application ,
Business Process Management ,
Application Servers
Tags
Domain Driven Design ,
JBoss ,
Java EE

In the second part of their article, Vasile Buciuman-Coman and Michael Chervenic explore the architecture of Dynamic Business Application after having defined a new Enterprise Framework in Part I.

there is a fundamental difference between architecting software applications and designing other engineered products. Because software works with information, and information is the “carrier” for change, then change has to be built into the system architecture at the most basic level.

The core of the proposed solution is based on two frameworks:

These two frameworks allow us to handle and coordinate changes in business operations and technical team operations effectively and efficiently. For the design process, business operations and technical team operations can be considered two distinct adaptive systems, each with their own requirements.

The authors note that:

...architecting a client-server application capable to run at the enterprise level is orders of magnitude more complex than a desktop application. The main complexity of the server-side application derives from the fact the it must support two adaptive systems, one for the technical team and one for the business team, each with their own operations and controlled hierarchy.

The architecture style of Dynamic Business Applications (dubbed Adaptive Enterprise Operating Platform -AEOP) is focused on productivity for the technical team operations, the business operations and the development team. Increased levels of productivity are reached through an entity lifecycle/event-based architecture style. However,

the EDA (Event Driven Architecture) model found in the literature is different than the AEOP event model. The EDA is built around a stream of unstructured events, while the AEOP is built around a stream of structured events that are linked together by a clear set of lifecycle templates.

After describing in great details the architecture of Dynamic Business Applications, the authors conclude:

AEOP standardizes the architecture for server-side applications, something that is missing from current IT

Technologies and architecture concepts like SOA play a minor role in this architecture. Components like BPM engines, schedulers, messaging have a clear role in this architecture, however they have very little impact on the design.

Interview with Grady Booch and the software's "dirty little secret" by Vasile Coman Posted Jul 9, 2008 1:12 PM
Very interesting ideas by Harmen Dijkstra Posted Jul 16, 2008 9:34 AM
  1. Here is an interesting quote from an interview Grady Booch gave to Scientific American about software few days ago (June 17, 2008)
    Software's Dirty Little Secret - An interview with Grady Booch, the Indiana Jones of computer programming :

    "Q:You say there's a "dirty little secret" when it comes to writing software. Care to share that with us?"
    "A: In other disciplines, engineering in particular, there exist treatises on architecture. This is not the current case in software, which has evolved organically over only the past few decades. All software-intensive systems have an architecture, but most of the time it's accidental, not intentional. This has led to the condition of most software programming knowledge being tribal and existing more in the heads of its programmers than in some reference manual or publicly available resource."

  2. Back to top

    Very interesting ideas

    Jul 16, 2008 9:34 AM by Harmen Dijkstra

    Hi, I've read both papers last weekend and must say that you propose some very interesting concrete approaches to deliver on the contents of the DBA paper by Forrester. I'm eagerly awaiting part three where you promise to describe a practical implementation, as I do have some doubts as to how the containers are implemented technology wise. Harmen

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.