Model-Driven Applications: Using a Model-Driven Mechanism to Bridge the Gap between Business and IT

Model-Driven Applications: Using a Model-Driven Mechanism to Bridge the Gap between Business and IT

Tong-Ying Yu (Independent Consultant, China)
Copyright: © 2014 |Pages: 20
DOI: 10.4018/978-1-4666-4494-6.ch003


How to bridge the gap between business and Information Technology (IT) has always been a critical issue for both the developers and IT managers. The individualized, differentiated demands by different customers and situations, the constantly changing in both business and IT are great challenges to the applications for enterprises. In this chapter, the authors respectively discuss the left side (computer) in software engineering, with Object-Orientation (OO), Model-Driven Engineering (MDE), Domain-Driven Development (DDD), Agile, etc., and the right side (the business) in Enterprise Engineering (EE) with Enterprise Modeling (EM), and Enterprise Architecture (EA) of the gap. It is shown there are some fundamental problems, such as the transforming barrier between analysis and design model, the entanglement of business change and development process, and the limitation to the enterprise engineering approaches such as EA by IT. Our solution is concentrated on the middle, the inevitable model as a mediator between human, computer, and the real world. The authors introduce Model-Driven Application (MDApp), which is based on Model-Driven Mechanism (MDM), operated on the evolutionary model of the target thing at runtime; it is able to largely avoid the transforming barrier and remove the entanglement. Thus, the architecture for Enterprise Model Driven Application (EMDA) is emerged, which is able to strongly support EE and adapts to the business changing at runtime.
Chapter Preview

1. Introduction

The context of this chapter is the applications of Information Technology (IT), mainly, the software which supports the comprehensive operations (business and management) of an enterprise1, i.e., the “applications for enterprises” or “enterprise (business) applications”; another conventional name is Information System (IS). For many software developers, “enterprise applications” means a series of technical characteristics, but our focus on the demand, the applying targets and objectives, the environment, as well as the openness and collaboration between computers and humans, in particular the essential functional requirements including the adaptation to business changing.

IT and the applying enterprise / business are mutually independent fields, which have its own ecosystem, though IT should always services business in our context. It is not surprising that, there is an innate gap between them, which can be appeared in anywhere the IT needs to be aligned with the business; this is the basic issue we must face. Empirically, the biggest challenges to enterprise applications come from the differences and changes in the demands, also the running environment and the IT itself. First, there are some conflicts between the different needs from different customers, different situations, and developer’s pursuit to generic a solution; the latter is also a factor what makes the product to be bloated and complicated. Second, the uncertainty, constant and rapid changing of business requires the application system has higher flexibility and capability to evolve in runtime; this is a huge challenge to the existing software techniques. Third, IT itself is one of the most complex and rapid changing fields, which leads to an increasing requirements to the maintenance, governance, and the adaptation to the operating environment. Furthermore, in such the applying context, the problems that require solving by the application system is open; this will make a significant impact on the development and the whole life cycle of the application. Moreover, between the business and IT camps, and also the different roles in various phases, there are always the problems to the communication and understanding with the different professionals and standpoints; technically, this requires some common languages or media to represent the issues of business and IT they are faced. In addition, it seems we are already in the age of total computer information processing, that is, almost all data and their derivatives (e.g. forms or documents) should be stored, processed by a computer-based way; papers are only the complementary media in some special circumstances. However, have a review on those problems, it can be seen, such the information islands and the functional silos, which proposed about half a century ago, in our experience, are still not a substantive change, even more serious. Above challenges and issues, with such the cultural and regional differences, and so on, makes that bridging the business-IT gap, establishing strategic alignment or fusion of them, to be still the hard and most important subject for the industry. We believe, there are still more essential approaches that waiting for discovery and validation.

In this chapter, we focus on the role of models for the problem-solving by human with computer, and targeted at the relationship between a certain computer system and the outside world—the people and physical or abstract entities, their states, activities and events—especially in dynamic way at runtime. We start to demonstrate at the inevitable way to connect human, computer, and the real world: models and modeling. And then, around them, have some review on the two side of the gap (see Figure 1), respectively in software engineering and enterprise engineering. Based on the discussions, the Model-Driven Application (MDApp) is introduced, which is based on the principle we called Model-Driven Mechanism (MDM); further, the architecture of Enterprise Model Driven Application (EMDA) is presented.

Figure 1.

Inevitable model as mediator between human, computer, and the embedding world

Complete Chapter List

Search this Book: