Max Family full name is a model-based scalable application series Model-based Application Extensible Family, is a MDA development method. MDA (Model Drive App Modeling Driven Application) is a revolutionary software design method, which is characterized by using dynamic object models to establish a new information system. In MAX, it mainly reflects two ideas: First, when generating a company's specific model, make full use of the best examples of knowledge and practice, and behave in the use of enterprise reference model; second, in dynamic companies, company The information system can accommodate the rapid change in the company's environment, which is manifested in the MDA Tool - Max Builder.
1? The three main advantages of MDA: ?? Faster, fast, compact enterprise modeling tools, reduce the difficulty of this process by using a predefined business template. The software structure of flexible high MDA can change accordingly as the business process changes without changing the code. The quality of quality MDA improves the quality of corporate modeling because it uses a simple way to make it very complicated. At the same time, it avoids direct writing code and generates BUGS. 2? Max's four main components: ?? Modeling tool Max Builder It can use graphical description of the organization, functional characteristics, and order of service processes. Enterprise Application Templates Max Progeny These templates provide a reference for establishing this corporate model for companies, or different enterprise applications (PDM, CRM, HIS ...) in various industries. These systems are derivatives built by Max Builder. ?? Enterprise-Level Report Max Report Based on the Flexible Reporting System Applications. Provide powerful, flexible report definition tools, as well as efficient and rich report generation systems. Enterprise Model Management Tool Max Configuration System Management and Workflow Definitions and Implementation. 2.1? Modeling tool Max Builder This part is the difference between Max Family and a general enterprise application system. The general enterprise application software is a customized effect by user-defined fields, user interface personalization. However, this kind of custom method cannot fundamentally define a flexible system, just on the basis of existing software. When the user's demand is relatively large, it is still necessary to implement business logic by writing code. However, in Max Builder, we use a range of visualization tools to make users "for what they want", not only can customize fields, and methods, and relationships between objects and objects. Then, the interface and database structure of the software are generated according to user-defined class models. The generated user interface UI can also be changed by the user, such as layout, language, and so on. The definition of class model, data model, and user interface is saved as an XML file. Class model and data model format can refer to mapping file format in MS ObjectSpaces; UI defines the format that can be referred to MS XAML (XAML is used in the interface definition language in the next Windows version). 2.1.1? Class Model Definition Tool This tool is similar to the Rational Rose or Visio's static class definition tool. Users define the properties, methods, events, and relationships between the various business objects in this visualization tool. The final interface should be similar to the figure below: • In this visual environment, developers can define the properties / methods of classes, and their types (public, private), define the relationship between classes (Inherited, Association, Aggregation, Composition). Modeling methods can reference the Rational Rose Logic View or Visio class definition method. At least the package view should be supported, and if possible, you should also support the class level map (which can clearly reflect the inheritance relationship of the class). According to the current direction of development, it is determined to only support only inheritance. Provide script editing for methods and events. The script is intended to use VB.NET and C # .NET. This way is directly supported by .NET CLR, it is easier to implement; and it is compiled (unlike the script explained), it will have an advantage. 2.1.2? Database Structure Generation According to class diagrams, Max Builder can automatically generate database structures and relationships between data sheets. For example, each class as a table, the attribute of the class is a field of the table, and the Object property is used as the outer key of the table. At the same time, it is also provided that the method allows the user to make data mappings. For example, for read-only Class, you can map to View.
Or map one or more tables in other application system databases. The difficulty of this part is how to achieve efficient and database structures that are independent of the database platform. 2.1.3? User interface defines the default user interface definition according to the user's class model. The default user interface is more following: ?? All public properties correspond to visible controls (for example, the String property corresponds to the TextBox, the Boolean property corresponds to the checkbox, the Object property, corresponding to listView, etc.). For <> <> <> <
> Method, actual processing (only <
> Just read reading, only
> Just write).
The generated interface should support multiple control properties. For example, the attribute of the String type should make the user indicate whether it can be empty, default, whether it can be repeated, the maximum number of characters, whether to edit, and more.
The control is arranged in a certain default order (the order of user definition, or alphabetical order?)
?? General public method, corresponding to the toolbar buttons and menus on the object window
Users can specify the order and icon of these methods, and shortcuts and other information. If possible, can you give a user to specify available / unavailable conditions. When the toolbar button or menu is clicked, the method script is executed.
?? There is no interface, and the system triggered the event script.
Event should include object events and attribute events.
The default user interface should be flexible to modify. For example, the size of the window, data type (single record window is still multi-record window), the location, font, color, control type (list box or popping button), etc.
Below is an example, a window interface that is automatically generated by the Customer class, where you can see the interface that uses the property window to customize the property of Customerid:
?
?
Single record view
Multi-recorded view
In addition, in the Max Progeny (generated by the Builder), some appearances can also be adjusted, and remain at the client, which can realize the interface personalization. It can be seen from the above figure, the user is set by setting the interface elements corresponding to the class, achieve flexible appearance. This interface generator (also called UI Factory) can generate the corresponding UI element according to the user's definition, then whether a web element can generate a web application system? I think it can be realized, but is it worth it? For the next Windows version (released in 2006), in fact, B / S mode and C / S mode have been completely mixed. The application of C / S is not required to be installed without a client installation, and is downloaded from the server.
2.1.4 • Code generation and compilation definition After the class model, the data model, and the UI generates the code of the .NET platform according to these definitions, and then compile into a .NET IL (Intermediate Language) DLL. The code is not persistent, exists only in memory while compiling, and the generated DLL is stored on the server. 2.2? Enterprise Application Templates Max Progeny In fact, each different industry, or different applications have its own characteristics. Therefore, a complete "universal" system does not exist. Even with flexible modeling tools like MAX Builder, it is difficult to implement. For example, document management features in the PDM system, users often upload / download files, and Check In / Check Out files. These file operation requirements are high performance, and the combination of other modules of the system is very close. It is undoubtedly difficult if these objects and functions are fully implemented through modeling and scripts. At this time, we can use the Enterprise Application Template to solve this problem. We can build a "PDM Application Template", in this template, we have established an internal class "maxfilecontrol" in advance, then as long as the other objects associated with this FileControl class, such as the archive class, document class, all have Upload / download files, and the function of the Check IN / Check Out file. In this way, for these common and core functions, we can solve the problem by adopting "internal classes". Another function of the application template is that for the user (developer), it may not know what a business application is specifically. What modules and functions should PDM? How does HIS architecture and build? If we provide standard application template, users can develop on the basis of our template, not from a blank model. Here, it reflects our understanding of enterprise applications, and part of the system value added. Here there is an architecture problem, how these "internal classes" is associated with our defined models, "Internal Class" features how to associate with the entire system, need further research, now tentatively use .NET Custom Attributes (Attribute) Method implementation. 2.3? Enterprise Model Management Tool Max Configuration is a peripheral part of the enterprise application system, but it is also very important. The contents offered are: 2.3.1? System Tools include portions of all systems such as log management, user management, permission management, storage management. 2.3.2? Workflow definition tools simply say that workflow is a series of interconnected, automated business activities or tasks. Through this visual tool, the user defines the workflow and maps to the class of the model. Thus, for an example of a class, you can take a predefined process. The model of the workflow can refer to the standard of WFMC. The development of this tool is a difficult point. May be similar to the following interface:? 2.4? Report design and output tool Max Report is also a critical part. The design of the report should be simple, but it also supports complex report design. The output of the report can use a third-party tool (such as Crystal Report, VS Report, but need to be closely coupled to our system, allowing users to be flexible and convenient to design and output reports. This tool should block the database and the user will only see the class in the model. This part of the work is mainly architectural issues. Due to similar architectural experiences, I think this part may be a master of Max Family.