Wednesday, September 3, 2008

Business Application Development

Business people in charge of a particular business process in a company should graphically model it and the supporting business application should be automatically generated.

Of course this is only the tip of the iceberg since a lot of "things" have to happen in order for the above to work. These "things" are what I'd like to discuss in this blog and, with your help, conclude something that helps steer things in that direction.


Business or Enterprise Applications (ERP, CRM, MRP, etc.) operate in very similar ways, especially if you look at them from a technical point of view. You have different data entities that are created, used and/or transformed in different processes following certain rules. In order to retrieve data from these systems some kind of reporting tool is provided. Parametrizations are posible to change certain behavior, there are security settings as well as auditing functionality.

By generalizing these functionalities and trying to define components that would help us build such applications, I came up with the following list (by no means comprehensive):


Model

  • Business Process Modeling Language (Workflow & Metadata)
  • GUI editor
  • Business Entity Class definitions

End User Interface

  • Mashup composer (for different platforms/devices, not necessarily web)
  • GUI generator

Business Process

  • Business Process Engine
  • Business Rules Engine

Services

  • Business Services
  • Auditing Services
  • Communications Services
  • Task Management Services
  • Document Services

Data

  • Reporting Engine
  • Data Warehouses, Data Marts, etc.
  • Business Objects Repository
  • Master Data Management


With these components, the way we develop enterprise applications will change forever (I will be editing this list by adding/removing components or finding better names for the components).

Until next time...

1 comments:

Jaime Contesse said...

Check out this article by Phil Gilbert. Especially the section titled BPM Basics. It compares traditional Enterprise Application Development vs a BPM approach.