[Article] Author: MDAChina.net members Alex.W Time: 2004-03-04 Source: yesky
The C language spent 20 years from a bloody road from the wild, Java worked hard into the nearly ten years, and C # was launched in the Beta version of two years ago, began to create an atmosphere through various ways, and smash the number. Dollar bills until now have not been fully accepted by mainstream applications. And the MDA (Model Driven Architecture Model Driven) Since 2002, it was raised by OMG (Object Management Group International Object Management Group). Follow the follow-up, about the topic of the topic of MDA, and it is in full swing.
However, what is MDA? What exactly brought MDA? What did the MDA bring to the IT industry? The MDA has uncovered a prelude to exciting the big era?
Pick the lights to see the sword
The founder of Michael Guttman, Corba, said in the preamble of "Application MDA" (the first translation of MDA technology in China):
"What makes MDAs like the three-letter abbotes with other countless floods in the software community, the first reason, MDA is driven by OMG, OMG is the largest alliance in the software industry, and OMG has enviable The glorious past - it releases and maintains some of the most successful standards, such as CORBA and UML. "
OMG is a non-profit organization independent of various manufacturers, its main purpose is to unify data exchange and interoperability between different commercial products and standards, thereby improving the incompatibility between software products of various manufacturers. CORBA is an OMG in a significant work results in the middle part level, however, this technique is not successful in commercial applications, and J2EE and DOTNET have rushed up in the middle of the middleware. Omg engineers began to put their eyes farther. They hope that this soldier is in a righteous situation, so, based on OMG, another very successful work - MTA, they present the concept of MDA.
The idea of OMG is to increase the current development behavior to a higher abstract level - analysis model level, complete the encoding work for a specific computing platform, which is automatically completed, in which business logic and implementation technology are successfully learned Coupling, both relatively independent changes, so the value of the model is maximized under the conditions of inclusive prior art. This purpose is rooted on the current situation of software development. In traditional software development methods, with the progress of the project, the UML model and code between the design phase becomes more difficult - the code in order to cope with new increase Demand and new ideas are constantly changing, but the model has stayed in place, this is the model lost its value after a while. OMG proposes a most fundamental solution - in the MDA, the model is no longer a auxiliary tool, but the product of the development process. A complete MDA application contains:
An authoritative PIM;
One or more PSM;
One or more complete implementations - developers decided to implement application implementations on all platforms supported.
On the basis of current technology, MDA has separated two abstract levels of model: PIM (Platform Independent Model Platform-independent model) and (Platform Specialize Mode platform related model), PIM is a purely regardless of the analysis model of implementing technology, PSM can be considered as a specific implementation technology, such as J2EE design model. Engineers only need to establish PIM expressing business logic, and the remaining work will be automatically completed by the MDA engine. The PIM describing business logic will have a long value, while PSM for a particular platform may quickly migrate as platform technology progress. During the MDA development, the final product of the development of the system is PIM, from PIM to PSM and the code implementation, all of which are completed by a third party's automation tool. In order to realize this macro conception of MDA, OMG has set a series of standards:
UML: UML is used by MDA to describe various models. It is not born for MDA, but as the most popular modeling language, UML has occupied 90% of the world's market share, which has become a factual standard for modeling languages, so OMG uses it as MDA technology. The foundation is naturally wise choice. It is the foundation of MDA and is the most powerful weapon of MDA.
MOF: MOF (META Object Facility Element Mechanism) is a higher level than UML, which is to describe the mode of extension of UML or other class UMLs that may appear in the future. From this we can see the "ambition" of OMG, although Mof is not born for MDA, but we can taste the Omg engineers and long-term attention.
XMI: XML-based metadata interchange is based on XML-based metadata exchange. It defines an XML-based data exchange format by standardizing XML document formats and DTDS (Document Type Definitions). This makes the model of the final product can be passed in a variety of different tools, which is very important, it guarantees that MDA will not break a new bondage after breaking a bondage.
CWM: CWM (Common Warehouse Metamodel Public Warehouse Meta) provides means for data format transformations, and CWM can be used on any level of model to describe mapping rules between two data models, such as regarding data entities The database is converted to an XML format. Under the framework of MOF, CWM makes the general data model transform engine possible.
In the OMG blueprint, a series of standards such as UML, MOF, XMI, and CWM solve the problem of MDA model establishment, model extension, model exchange, model transformation, etc.. OMG attempts to expand the application range of MDA by standardization definitions. At the same time, through such an extensible modeling language environment, IT vendors can freely implement their modeling languages, and mapping language to executable code, but no matter what, they must be under OMG standardization framework.
Sau smoke again
"The midfunction war has ended, the next battlefield is the model conversion!"
- This slogan from China's first MDA study organization Mdachina.Net clearly explains the next focus of software development.
Sensitive IT giants are more than anyone first, and OMG MDA ideas have been launched soon, IBM, Oracle, Iona, etc. are rushing to claim to integrate MDA in their own enterprise software solutions. Mold tool manufacturer Rotional and Together also state that their products have begun to join MDA support, and even the Kingdee software in one of the domestic ERP software leaders is not lonely. At the press conference of its BOS basic platform, the BOS system has successfully realized MDA. . Regardless of how the springs of all the tongue, the words from MDA are increasingly frequent from their mouth, you can see that MDA has become a fireline that triggers the next round of competition. The high point of the next battlefield. For commercial individuals in the calculation market, competition in the technical field is the battlefield without smoke. From the computer being invented by the IT industry, there has never stopped fierce competition since the inventive IT industry. Today, people have already god 5 in the battlefield of the calculation. Ten years.
50 years ago, the computer's history also stayed in the stone era, and people used the computers in the form of 0/1 sequences in the stone age, because the horm of the vacuum tube can only recognize the original machine code. Not only that, people have to race their brains for each byte of memory, and the high hardware cost makes the machine into calculation for each clock cycle.
Subsequently, the appearance of assembly language libenes people from the bitstream of 0 and 1, but the simple instruction set code thoroughly avoids the way of thinking of the human brain. However, it has to be admitted to this at the same time, which continues the life of the machine-centric calculation method.
In the 1960s to the 1970s, the transistor, large-scale integrated circuits, random storage technology, random storage technology, and random storage technologies, make people spend a lot of effort in order for several bytes of memory space and several cycles This makes the third-generation programming language (3GL) have become possible, and the programmers put down the huge burden of hand-knocking assembly code, start spend more energy in the application logic, and then structured programming is almost completely ruled. The golden age development of software development after the wave of the second computer.
Structured Programming brings people to creative thinking, while brings to programmers to loosen messages and difficulties in the trace, people have to consider problems from the perspective of the computer until The emergence of object technology. OO thinking makes people can finally calculate this world from the perspective as natural as possible until now, OO thinking is still the pillar of the entire program development industry.
In recent years, enterprise-class distributed applications rapidly become mainstream, bringing strict requirements for system performance, scalability, existing distributed systems, and integration requirements of a large number of heterogeneous platforms have triggered the war of middleware. Outbreak, the past decade, is a decade of enterprise application systems and middleware technology. People are no longer like a compilation of the memory loss, and began to use more energy to build a smart architecture, realize the multi-end business logic, so Java can be large, design mode, AOP, etc. The high abstract level of software theory is in the like.
Fifty years of calculation road is full of this fact, that is, the level of calculations that people need to consider are increasingly abstract, more and more concentrated on business logic rather than implementation details on the computing platform, from another aspect. For the view of "Application MDA" book: Calculation gradually shifts from the tasting of the punch and assembly to the current people-centered.
The root cause of abstraction is that software is getting more complicated, complex to human brain, can not simultaneously grasp all the details on the original abstract level, and the complexity of the software is rooted in the complexity of the problem solved by the software, and with the computer The more you use, this problem will also become more complicated, so the complexity of the software is the natural trend of the computer, and the abstraction gradually became an irreversible direction, and even if there is no possibility, 50 years of calculation is In this way, MDA thinking is just a new step. As far as MDA itself, although MDA is moving vigorously, the calm people will soon see the problems they exist. The biggest benefit of MDA is the lasting value of the business model, but the cost of pay is to increase the abstraction layer. At present, the conversion between layers is not as smooth, at least, at least, from PIM to PSM, from PSM to PSM Code, this implementation process is far more difficult than generating machine code from 3GL, we have to face much more about the compute set, and the ultimate dream of MDA - can directly perform a model of virtual machine, although the manufacturer is known A platform that can perform UML models is launched, but in fact it seems that the composition of hype is much more. In terms of modeling technology, UML is exposing its inherent defects, it needs to extend more mechanisms to support precise modeling and analysis models, although the current OCL provides a certain support for precise modeling, but this support is executed The ideal of the model is still far away. In addition, it has to be considered performance problems. Whenever we work on abstract hierarchical levels, it will inevitably require huge progress in hardware technology, so that it can guarantee the successful implementation of more complex calculations brought by the abstract layer, and now Can the hardware speed ensure the overhead required to perform the virtual machine of the model? The Java virtual machine is already enough to make the current mainstream configuration machine, more uml virtual machine.
But standing in history, the problem faced by MDA, perhaps only be called "growing troubles". For programmers, new ideas means new opportunities, new ideas also means new challenges. MDA will help a new generation of programmers get rid of encoded, how many software ideals have been near eye. For IT vendors, it has not been extinguished for the smoke in the middle of the market. A new battlefield has appeared in the horizon, no matter whether there is a cruelty, a new round of battle is inevitable, from which will stand up next twenty Year of the year. Yue Ma Yangwei
Number of romantic people, still see today!
MDA predicts the next software development of the golden age, the traditional manual code will be like today's assembly language, just in a very small number of special occasions, the model drive architecture will pass through every one from the client to the server. corner. The big waves, such as the previous change, the new opportunities brought by MDA will create a batch of new leaders. Today, the furhead, which will also step by step, may lead the trend in the next twenty years. And you are ready?
The history of industrial progress is that the machine replaces artificial history, and the operation of mechanical repetition is good at computers, and the most important thing is its creative activities. MDA will threaten the CODER that will only be translated into code with the design model, the next golden era IT person, only the part of the creative work will not be eliminated.
At the era of MDA, the code will be considered repeated and mechanical workpieces, and a wide variety of model translation tools will end out, they can produce a large number of code in a very short time. In the upcoming 3GL era, young Coders quickly shuttle in various platforms and language, they were proud of the "old guys", how many languages have been grasped in front of the project, and how many uses in the project A new framework, however CODER's prosperity is about to end the end - the cost of the code generator will be less than CODER, and the market will fundamentally abandon CODER. "Software Blue Collar" on the dust, naturally became a nonsense in front of MDA. Did you find your direction?
You can strive to become an expert. In-depth learning of business knowledge in a field, securely master business analysis methods, you may not need to design too much program, but model designers will benefit from your work.
You can go deep into the research system analysis and modeling technology. Under the current computer theory framework, the system in real realization cannot be implemented on a computer system without deviation. By establishing its operating model on the computer by analysis of the system. A solution to the problem is an essential step. After establishing a standard formal system model, the code generator can generate code from your model, and the virtual machine can even perform your model directly.
You may also be seen that the MDA technology is not the end of the coding work. Its architecture contains two important parts of PIM (platform independent model) and PSM (platform-related model). For actual applications, It is essential from PIM to generate PSM, so you can work on platform technology to develop its conversion rules, and you can continue to enjoy a little coding.
Perhaps the end you can try another class - "Missionary". MDA enhances the abstract level of software development, and the final product of the software industry will no longer be code, but independent of the model of the compute platform. The changes of products will bring changes in engineering methods, you can try to try new development methods and processes, your achievements will affect the work of other people, because you are the "missionary" of new methodology.
But in any case, the most fundamental point is: the opportunity is only a person who is prepared!
Big era
Do you think MDA itself is the ultimate way?
As mentioned earlier this article, MDA is only a small step that has continued for 50 years of calculation, it is just a charge number on the battlefield, far from the army knife, the movement of the horseshoe and the cold weapon Collision. It has created an era, in this exciting era, people pay attention to the analysis of the relevant coding, pay attention to the model is better than paying attention, paying attention to the business is better than the focus, and the model transformation is better than paying attention to the platform migration. Borrowing the declaration of agile alliances, "Although the latter also has value, we think that the former is more valuable."
"This is the best era, this is the worst era, we have to go to heaven, we will go to hell!"
This sentence of Diggiff, Diggiff, is used to describe the era of MDA's creation is most appropriate. MDA has brought new changes, and MDA is far from the end of change. It has created a new era, but it can't get rid of the shadow of the old age. The most important meaning of MDA is to show people such a direction, walking along this direction, is the Eden of the Software Industry.
The curtain has already opened, or for the dancer, or for the visitor, what do you do as a programmer?