Logo
Lose Weight
Windows XP
Windows Vista
Windows 7
Windows Azure
Windows Server
Windows Phone
 
 
Windows Server

Microsoft Dynamics AX 2009 : The MorphX Tools - Visio Reverse Engineering Tool

8/12/2011 5:59:39 PM
Dynamics AX allows you to generate Visio models from existing metadata. Considering the amount of metadata available in Dynamics AX 2009 (more than 30,000 elements and more than 7 million lines of text when exported), it’s practically impossible to get a clear view of how the elements relate to each other just by using the AOT. The Visio Reverse Engineering tool is a great aid when you need to visualize metadata.

Note

You must have Office Visio 2003 or later installed to use the Visio Reverse Engineering tool.


The Reverse Engineering tool can generate a Unified Modeling Language (UML) data model, a UML object model, or an entity relationship data model, including all elements from a private or shared project. To open the tool, right-click a project or a perspective, point to Add-Ins, and then click Reverse Engineer. You can also open the tool by selecting Reverse Engineer from the Development Tools menu. In the dialog box shown in Figure 1, you must specify a file name and model type.

Figure 1. Visio Reverse Engineering dialog box


When you click OK, the tool uses the metadata for all elements in the project to generate a Visio document that opens automatically in Visio. You can drag elements from the Visio Model Explorer onto the drawing surface, which is initially blank. Any relationship between two elements is automatically shown.

UML Data Model

When generating a UML data model, the Reverse Engineering tool looks for tables in the project. The UML model contains a class for each table and view in the project and its attributes and associations. Figure 2  shows a class diagram with the CustTable (Customers), InventTable (Inventory Items), SalesTable (Sales Order Header), and SalesLine (Sales Order Line) tables. To simplify the diagram, some attributes have been removed.

Figure 2. UML data model diagram

The UML model also contains referenced tables and all extended data types, base enumerations, and X++ data types. You can include these items in your diagrams without having to run the Reverse Engineering tool again.

Fields in Dynamics AX are generated as UML attributes. All attributes are marked as public because of the nature of fields in Dynamics AX. Each attribute also shows the type. The primary key field is underlined. If a field is a part of one or more indexes, the names of the indexes are prefixed to the field name; if the index is unique, the index name is noted in brackets.

Relationships in Dynamics AX are generated as UML associations. The aggregation property of the association is set based on two conditions in metadata:

  • If the relationship is validating (the validate property is set to Yes), the aggregation property is set to shared. This is also known as UML aggregation, visualized by a white diamond.

  • If a cascading delete action exists between the two tables, a composite association is added to the model. A cascading delete action ties the life span of two or more tables and is visualized by a black diamond.

The end name on associations is the name of the Dynamics AX relationship, and the names and types of all fields in the relationship appear in brackets.

UML Object Model

When generating an object model, the Reverse Engineering tool looks for Dynamics AX classes, tables, and interfaces in the project. The UML model contains a class for each Dynamics AX table and class in the project and an interface for each Dynamics AX interface. The UML model also contains attributes and operations, including return types, parameters, and the types of the parameters. Figure 3 shows an object model of the most important RunBase and Batch classes and interfaces in Dynamics AX. To simplify the view, some attributes and operations have been removed, and operation parameters are suppressed.

Figure 3. UML object model diagram

The UML model also contains referenced tables, classes and tables, and all extended data types, base enumerations, and X++ data types. You can include these elements in your diagrams without having to run the Reverse Engineering tool again.

Fields and member variables in Dynamics AX are generated as UML attributes. All fields are generated as public attributes, whereas member variables are generated as protected attributes. Each attribute also shows the type. Methods are generated as UML operations, including return type, parameters, and the types of the parameters.

The Reverse Engineering tool also picks up any generalizations (classes extending other classes), realizations (classes implementing interfaces), and associations (classes using each other). The associations are limited to references in member variables.

Note

To get the names of operation parameters, you must reverse engineer in debug mode. The names are read from metadata only and placed into the stack when in debug mode. You can enable debug mode on the Development tab in the Options dialog box by selecting When Breakpoint in the Debug Mode list.


Entity Relationship Data Model

When generating an entity relationship data model, the Reverse Engineering tool looks for tables and views in the project. The entity relationship model contains an entity type for each AOT table in the project and attributes for each table’s fields. Figure 4 shows an Entity Relationship Diagram (ERD) with the CustTableInventTable (Inventory Items), SalesTable (Sales Order Header), and SalesLine (Sales Order Line) tables. To simplify the diagram, some attributes have been removed. (Customers),

Figure 4. ERD using IDEF1X notation


Fields in Dynamics AX are generated as entity relationship columns. Columns can be foreign key (FK), alternate key (AK), inversion entry (IE), and optional (O). A foreign key column is used to identify a record in another table, an alternate key uniquely identifies a record in the current table, an inversion entry identifies zero or more records in the current table (these are typical of the fields in nonunique indexes), and optional columns don’t require a value.

Relationships in Dynamics AX are generated as entity relationships. The EntityRelationshipRole property of the relationship in Dynamics AX is used as the foreign key role name of the relation in the entity relationship data model.

Note

The Reverse Engineering tool produces an ERX file. To work with the generated file in Visio, you must start Visio, create a new Database Model Diagram and select Database, and point to Import and then Import Erwin ERX file. Afterward you can drag relevant tables from the Tables And Views pane (available from the Database menu) to the diagram canvas.



Other -----------------
- Windows Server 2003 : Planning Fault Tolerance and Avoidance (part 2) - Disk Arrays
- Windows Server 2003 : Planning Fault Tolerance and Avoidance (part 1) - Protecting the Power Supply
- Windows Server 2008 Server Core : Creating System Connections - Communicating with Telnet
- Windows Server 2008 Server Core : Creating System Connections - Working with Remote Access Server
- SQL Server 2005 : Testing Database Routines - Introducing the SQLQueryStress Performance Testing Tool
- SQL Server 2005 : Performance Testing and Profiling Database Systems
- SharePoint 2010 Search : Relevancy and Reporting - Custom Ranking
- SharePoint 2010 Search : Relevancy and Reporting - Managed Metadata Service
- Automating Dynamics GP 2010 : Automating reporting with Report Groups
- Automating Dynamics GP 2010 : Controlling reporting dates with Beginning and Ending Periods
- Microsoft Lync Server 2010 Front End : Installation (part 2) - Enterprise Edition Installation
- Microsoft Lync Server 2010 Front End : Installation (part 1) - Lync Server Topology Builder & Standard Edition Installation
- Microsoft Lync Server 2010 Front End : Active Directory Preparation
- Microsoft Dynamic NAV : Setting up Periodic Activities, Stylesheets, and Rapid Implementation Methodology - Job Queue
- Microsoft Dynamic NAV : Performance Tuning - Investigating the performance of the database
- Implementing Exchange Server 2010 Security : Configuring Compliance and Messaging Retention
- Implementing Exchange Server 2010 Security : Auditing Exchange Server Usage
- Configuring Small Business Server 2011 in Hyper-V : Creating a Virtual Machine (part 2) - Machine Settings
- Configuring Small Business Server 2011 in Hyper-V : Creating a Virtual Machine (part 1) - Creating a Basic VM
- Configuring Small Business Server 2011 in Hyper-V : Initial Configuration
 
 
Popular tags
Microsoft Access Microsoft Excel Microsoft OneNote Microsoft PowerPoint Microsoft Project Microsoft Visio Microsoft Word Active Directory Biztalk Exchange Server Microsoft LynC Server Microsoft Dynamic Sharepoint Sql Server Windows Server 2008 Windows Server 2012 Windows 7 Windows 8 Adobe Indesign Adobe Flash Professional Dreamweaver Adobe Illustrator Adobe After Effects Adobe Photoshop Adobe Fireworks Adobe Flash Catalyst Corel Painter X CorelDRAW X5 CorelDraw 10 QuarkXPress 8 windows Phone 7 windows Phone 8 BlackBerry Android Ipad Iphone iOS
Top 10
- Windows Phone 8 Apps : Camera (part 4) - Adjusting Video Settings, Using the Video Light
- Windows Phone 8 Apps : Camera (part 3) - Using the Front Camera, Activating Video Mode
- Windows Phone 8 Apps : Camera (part 2) - Controlling the Camera’s Flash, Changing the Camera’s Behavior with Lenses
- Windows Phone 8 Apps : Camera (part 1) - Adjusting Photo Settings
- MDT's Client Wizard : Package Properties
- MDT's Client Wizard : Driver Properties
- MDT's Client Wizard : Application Properties
- MDT's Client Wizard : Operating System Properties
- MDT's Client Wizard : Customizing the Deployment Share
- Windows Server 2012 : Software and User Account Control Administration (part 5) - Maintaining application integrity - Configuring run levels
 
Windows XP
Windows Vista
Windows 7
Windows Azure
Windows Server
Windows Phone
2015 Camaro