Introducing Information Management for NoSQL

As Gartner warns in the report, adopting NoSQL storage can result in Information … read more

Introducing Quantitative Enterprise Architecture

It is rather ridiculous that the discussion on Data Driven Enterprise did not … read more

OWL Modelling for Information Architects

Business Abstraction delivered OWL training customised for experienced Information Architects. The target audience … read more

Application Re-Engineering for Agility

Changing business environment applies Darwinian pressure of enterprises, while public service is likely to come under increasing pressure to implement support for more and more policy changes as politicians are looking for solutions. Agility is the order of the day, and some system just cannot do it. As many old core systems cannot be maintained as experience developers retire, and young talent hardly can be enticed to learn, say, COBOL. Many enterprises will have to replace their core systems, and replacing them with the systems that are hard to modify will be inconceivable.

While Object-Oriented languages (C#, Java), Component-Based Systems (EJB), Business Process Engines and practically all other technologies marketed today claim to deliver superior agility, agility is not a function of technology alone. To be easy to modify, the solution should be designed easy to modify for this particular enterprise, with metadata, Business Processes and internally application of Design Patterns that assist flexibility applied where needed.

Business Abstraction developed and applied approach that allows explicit re-design for agility.

Approach

Capabilities of existing application[s] are abstracted to conceptual and business level, and then merged with new Requirements

Specific requirements for Agility are extracted from Business Motivation Model and the history of changes.

Business Abstraction facilitated the development of Computation-Independent Design that is cross-referenced to Agility Requirements. Computation-Independent Design is then used to produce Platform-Oriented Design that refers to code modules, DBMS, as well as metadata, Business Process Engines, and other technologies designed to maximize Agility.