In the future of software development, is it MDA/MDD/oriented model/Plug-in IDE?
I. Problems:
1. Is there a fast J2EE development tool similar to PB?
2. How can we ensure the development efficiency of the J2EE system when the customer's requirements are uncertain and changeable?
Recently, an EJB3.0 + JSF business system has been developed. Developers are confident in terms of technology and development time. However, the boss and the customer feel that the development efficiency and user interface operations are not ideal.
The reason is that the boss and customers think that there should be rapid development tools such as PB and Delphi to quickly develop complex J2EE distributed systems. With Jbuilder, Eclipse, and one-way Code Generation Based on Annotation and Tag, the development efficiency still cannot satisfy them, especially when the business needs are variable and unstable.
Ii. What is the direction of MDA to solve the problem?
In order to please the boss and the customer, I am eager to find out whether there is an IDE to solve this problem. At last, we found the general direction of developing software for a complex application system, such as J2EE, efficiently to cope with variable and uncertain requirements.
In the future, mainstream development methods and support tools will certainly not follow the path of PB and Delphi. Instead, it uses MDA/MDD (model-Driven and development) and Pattern Driven (Mode-Driven) to support the path of the plug-in IDE.
Development tools (such as PB and Delphi) with fixed technical models (business + Interface Composition) cannot support the unique business needs and various types of client interfaces of different customers. This is why Borland wants to sell IDE.
The future of Eclipse lies In its Plug-In system.
With MDA/MDD (model-Driven and Development), Pattern Driven (Mode-Driven), and plug-in-supported IDE, enterprises can develop their own tools (IDE) based on their businesses, quickly generate code that conforms to your own Framework.
Therefore, J2EE development tools on the market do not provide ready-made components. They use a fixed mode to implement development methods like PB.
Iii. How can I achieve efficient development by supporting the plug-in IDE with MDA/MDD and Pattern Driven?
When MDA is adopted, the structure of the project team must be adjusted. Simply put, the gap between the rich and the poor is widening. The more important the experts are, the more common the programmers are.
1. BA and SA:
Only need to communicate with the customer, get the requirement, determine the function, determine the Model (Domain Model, or E-R diagram), write the requirement function documentation. They only need UML plotting (PIM level) at most, without in-depth technical details. Identity is close to "consultant", and business knowledge is their value.
2. Architect:
Based on SA feedback, determine the technical solution as soon as possible and create the Framework.
After determining the Business and Gui frameworks, the architect defines the Pattern Plug-In and Transaction templates based on the MDA specifications and specific tools ).
One-way Code Generation Based on Annotation and Tag is rarely used.
He is the soul of the project, Framework + Code Conversion Board, he helped the project to generate the core code, especially the business side (such as EJB, database Association Layer ).
3. SA, elevation:
According to the Domain Model, convert to MNS.
Generate the business component class code according to the Pattern Plug-In model driver template. For example, if a Session Bean is generated for an object, the Command mode code is generated.
SA and elevation. manually adjust the MSPs as appropriate and generate Java code that complies with the enterprise Framework according to the code conversion template (Transaction. For example, EJB or Hibernate is generated based on the entity class. The Code required by the client (Gui) is generated based on the Session Bean and other components (the management Bean of JSF, the Action of Struts, or the layout code of Swing ).
They need to master the specific language technology and model knowledge. SA can better design the business model by understanding the technology.
Here, you can generate all the business (middleware layer) code, such as entity class, Session Bean, and business proxy class.
If the demand changes, such as adding or decreasing fields, after modifying the Domain Model, the changes can be synchronized to the Code. Besides, it does not overwrite the manually entered part of the Code. Implement bidirectional synchronization.
4. Programmers:
In the early stage, we assisted BA and SA to design the prototype. Based on Customer needs, use a quick development tool to draw an interface and simulate interactive operations without binding to a data source. For example, you can use JSF or Swing to draw a Gui.
From the current MDA tools and interface technology, it is not very realistic to rely on tools to automatically generate Gui code, whether it is Swing or Jsp. Therefore, you only need to use tools to generate a Gui code framework.
The Business Code mainly lies in the middleware layer, which is generated by tools. Therefore, in addition to the layout, the Gui simply calls the business interface of the middleware. Therefore, the main job of programmers is to implement interfaces and unit tests.
4. Use Rational Architect to implement rapid development based on MDA
Theory must be practiced. Everyone is confused about the future of MDA. Then, through the project, we should first use Rational connector ECT to implement it gradually; through the results, we can see to what extent the current MDA tool can do.
1. Adjust the intermediate layer Framework according to the business characteristics of the new project.
2. Through the custom Pattern Plug-In, the entity class model (E-R) is converted into the relevant spsms EJB3.0. It mainly generates fine-grained Session beans.
3. Manually define the coarse-grained Session Bean in the SMS.
4. Use the custom Pattern Plug-In to generate a Command for the business interface of the coarse-grained Session Bean.
5. Use the custom Pattern Plug-In to generate a Gui code framework for each object, and implement the Swing-based architecture first.
6. When the business changes, you only need to increase or decrease the fields in the object model of PIM to synchronize the update to the MSPs.
7. When the business logic changes, adjust the details of the Session Bean method in the sm to synchronize with the code changes.
8. When the business side changes, the Command is regenerated. Programmers manually adjust the Gui to adapt to the changes in Command interface details.
Trackback: http://tb.blog.csdn.net/TrackBack.aspx? PostId = 621754