Chapter 1. Architectural overview

In this chapter

Introduction

AX 2012 five-layer solution architecture

AX 2012 application platform architecture

AX 2012 application meta-model architecture

Introduction

AX 2012 is an enterprise resource planning (ERP) solution that integrates financial resource management, operations resource management, and human resource management processes that can be owned and controlled by multinational, multicompany, and multi-industry organizations, including those in the public sector. The AX 2012 solution encompasses both the AX 2012 application and the AX 2012 application platform on which the application is built. The application platform is designed to be the platform of choice for developing scalable, customizable, and extensible ERP applications in the shortest time possible, and for the lowest cost. The following key architectural design principles make this possible:

Image Separation of concerns An AX 2012 end-to-end solution is delivered by many development teams working inside Microsoft, in the Microsoft partner channel, and in end-user IT support organizations. The separation of concerns principle realized in the AX 2012 architecture makes this distributed development possible by separating the functional concerns of a solution into five globalized, secure layers. This separation reduces functional overlap between the logical components that each team designs and develops.

Image Separation of processes An AX 2012 end-to-end solution scales to satisfy the processing demands of a large number of concurrent users. The separation of processes principle that is realized in the AX 2012 architecture makes this scaling possible by separating processing into three-tiers—a data tier, an application tier, and a presentation tier. The AX 2012 Windows client, the Enterprise Portal web client, and the Microsoft Office clients are components of the presentation tier; the Application Object Server (AOS), the Enterprise Portal extensions to Microsoft SharePoint Server, and Microsoft SQL Server Reporting Services (SSRS) are components of the application tier; SQL Server and SQL Server Analysis Services (SSAS) are components of the data tier.

Image Model-driven applications An AX 2012 application team can satisfy application domain requirements in the shortest time possible. The model-driven application principle that is realized in the AX 2012 architecture makes this possible by separating platform-independent development from platform-dependent development, and by separating organization-independent development from organization-dependent development. With platform-independent development, you can model the structure and specify the behavior of application client forms and reports, application object entities, and application data entities that run on multiple platform technologies, such as the AX 2012 Windows client, SharePoint Server, SQL Server, and the Microsoft .NET Framework. With organization-independent development, you can use domain-specific reference models such as the units of measure reference model; domain-specific resource models such as the person, product, and location models; and domain-specific workflow models such as the approval and review models, which are relevant to all organizations.

AX 2012 five-layer solution architecture

The AX 2012 five-layer solution architecture, illustrated in Figure 1-1, logically partitions an AX 2012 solution into an application platform layer, a foundation application domain layer, a horizontal application domain layer, an industry application domain layer, and a vertical application domain layer. The components in all architecture layers are designed to meet Microsoft internationalization, localization, and security standards, and all layers are built on the Microsoft technology platform.

Image

FIGURE 1-1 AX 2012 five-layer architecture.


Image Note

The layers in the AX 2012 five-layer architecture are different from the model layers that are part of the AX 2012 customization framework described later in this book. Architectural layers are logical partitions of an end-to-end solution. Customization layers are physical partitions of application domain code. For more information, see Chapter 21, “Application models.”


The AX 2012 application platform and application domain components are delivered on the Microsoft technology platform. This platform consists of the Windows client, the Office suite of products, Windows Server, SQL Server, SSAS, SSRS, SharePoint Server, the Microsoft ASP.NET web application framework, the .NET Framework, and the Microsoft Visual Studio integrated development environment (IDE).

The following logical partitions are layered on top of the Microsoft technology platform:

Image Layer 1: Application platform The application platform layer provides the system frameworks and tools that support the development of scalable, customizable, and extensible application domain components. This layer consists of the MorphX model–based development environment, the X++ programming language, the Windows client framework, the Enterprise Portal framework, the AOS, and the application platform system framework. For a description of the component architecture in the application platform layer, see the “AX 2012 application platform architecture” section later in this chapter.

Image Layer 2: Foundation The foundation layer consists of domain-specific reference models in addition to domain-specific resource modeling, policy modeling, event documenting, and document processing frameworks that are extended into organization administration and operational domains. Examples of domain-specific reference models include the fiscal calendar, the operations calendar, the language code, and the unit of measure reference models. Examples of domain-specific resource models include the party model, the organization model, the operations resource model, the product model, and the location model. The source document framework and the accounting distribution and journalizing process frameworks are also part of this layer. Chapter 19, “Application domain frameworks,” describes the conceptual design of a number of the frameworks in this layer.

Image Layer 3: Horizontal The horizontal layer consists of application domain workloads that integrate the financial resource, operations resource, and human resource management processes that can be owned and controlled by organizations. Example workloads include the operations management workload, the supply chain management workload, the supplier relationship management workload, the product information management workload, the financial management workload, the customer relationship management workload, and the human capital management workload. The AX 2012 application can be extended with additional workloads. (The workloads that are part of the AX 2012 solution are beyond the scope of this book.)

Image Layer 4: Industry The industry layer consists of application domain workloads that integrate the financial resource, operations resource, and human resource management processes specific to organizations that operate in particular industry sectors. Examples of industries include discrete manufacturing, process manufacturing, distribution, retail, service, and public sector. Workloads in this layer are customized to satisfy industry-specific requirements.

Image Layer 5: Vertical The vertical layer consists of application domain workloads that integrate the financial resource, operations resource, and human resource management processes specific to organizations that operate in a particular vertical industry and to organizations that are subject to local customs and regulations. Example vertical industries include beer and wine manufacturing, automobile manufacturing, government, and advertising professional services. Workloads in this layer are customized to satisfy vertical industry and localization requirements.

AX 2012 application platform architecture

The architecture of the AX 2012 application platform supports the development of Windows client applications, SharePoint web client applications, Office client integration applications, and third-party integration applications. Figure 1-2 shows the components that support these application configurations. This section provides a brief description of the application development environments, and a description of the components in each of the data, middle, and presentation tiers of the AX 2012 platform architecture.

Image

FIGURE 1-2 Application platform architecture of AX 2012.

Application development environments

The AX 2012 application platform includes two model-driven application development environments:

Image MorphX Use this development environment to develop data models and application code by using the Application Object Tree (AOT) application modeling tool and the X++ programming language. This development environment accesses AX 2012 application server services through remote procedure call (RPC) technology.

Image Visual Studio Use this development environment to develop .NET Framework plug-ins and extensions for AX 2012 clients, servers, and services; to develop for Enterprise Portal; and to develop SSRS reports. This development environment accesses the AX 2012 application server services through RPC.

Data tier

The SQL Server database is the only component in the data tier. The database server hosts the SharePoint Server content and configuration databases, the AX 2012 model and application database, the SSRS database, and the SSAS database.

Middle tier

The middle tier includes the following components:

Image AOS The AOS executes MorphX application services that are invoked through RPC technology and Windows Communication Foundation (WCF) technology in the .NET Framework. The AOS can be hosted on one computer, but it can also scale out to many computers when additional concurrent user sessions or dedicated batch servers are required.

Image .NET Framework These components can be referenced in the AOT so that their application programming interfaces are accessed from X++ programs. The Windows Workflow Foundation (WF) component is integral to the AX 2012 workflow framework, and WCF is integral to the AX 2012 application integration framework.

Image SSAS These services process requests for analytics data hosted by the SQL Server component in the data tier.

Image SSRS and AX 2012 reporting extensions The reporting extensions provide SSRS with features that are specific to the AX 2012 application platform. These extensions access the AOS through WCF services and access SSAS through HTTP and HTTPS.

Image Enterprise Portal framework This framework extends the SharePoint application platform with features that are specific to the AX 2012 application platform. The Enterprise Portal framework composes SharePoint content with AX 2012 content accessed from the AOS through the .NET Business Connector and RPC, and content accessed from SSAS and SSRS through HTTP and HTTPS. Enterprise Portal is typically hosted on its own server or in a cluster of servers.

Image AX 2012 Help web service This web service processes requests for Help content.

Image Web services hosted by Microsoft Internet Information Services (IIS) AX 2012 system services can be deployed to and hosted by IIS.

Image Application Integration services These services provide durable message queuing and transformation services for integration clients.

Presentation tier

The presentation tier consists of the following components:

Image Windows client This client executes AX 2012 MorphX and .NET programs developed in MorphX and Visual Studio. The client application communicates with the AOS primarily by using RPC. The client composes navigation, action pane, area page, and form controls for rapid data entry and data retrieval. Form controls have built-in data filtering and search capabilities and their content controls are arranged automatically by the IntelliMorph rendering technology. The client additionally hosts Role Center pages rendered in a web browser control.

Image Enterprise Portal web client This client executes MorphX application models, X++ programs, and .NET Framework programs developed in the MorphX development environment, Visual Studio, and the SharePoint Server framework. Enterprise Portal is hosted by the AX 2012 runtime, the ASP.NET runtime, and the SharePoint runtime environments. SharePoint and ASP.NET components communicate by means of the AX 2012 .NET Business Connector.

Image Office clients The Microsoft Word client and Microsoft Excel client are extended by add-ins that work with the AX 2012 platform.

Image Third-party clients These clients integrate with the AX 2012 platform by means of integration service components such as the file system, Message Queuing (also known as MSMQ), Microsoft BizTalk Server, and a WCF adapter.

AX 2012 application meta-model architecture

AX 2012 application meta-model architecture is based on the principle of model-driven application development. You declaratively program an application by building a model of application components instead of procedurally specifying their structure and behavior with code. The AX 2012 development environment supports both model-driven and code-driven application development.

A model of an application model is called a meta-model. Figure 1-3 shows the element types in the AX 2012 application meta-model that you use to develop AX 2012 Windows client applications.

Image

FIGURE 1-3 Element types of the AX 2012 meta-model for developing Windows client applications.


Image Note

To keep the diagram simple, the figure does not list all type dependencies on model element types.


Application data element types

The following element types are part of the AX 2012 application data meta-model:

Image Base enum Use a base enumeration (base enum) element type to specify value-type application model elements whose fields consist of a fixed set of symbolic constants. For example, you can create a base enum named WeekDay to name a set of symbolic constants that includes Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday.

Image Extended data type Use an extended data type element type to specify value-type application model elements that extend base enums, in addition to string, boolean, integer, real, date, time, UtcDateTime, int64, guid, and container value types. The AX 2012 runtime uses the properties of an extended data type to generate a database schema and to render user interface controls. For example, you could specify an account number extended data type as an extension to a string value type that is limited to 10 characters in length, and that is described by using the Account number label when bound to a user interface text entry control. Extended data types also support inheritance. For example, an extended data type that defines an account number can be specialized by other extended data types to define customer and vendor account numbers. The specialized extended data type inherits properties, such as string length, label text, and Help text. You can override some of the properties on the specialized extended data type.

Image Table Use a table element type to specify data entity types that the AX 2012 application platform uses to generate a SQL Server database table schema. Tables specify data entity type fields along with their base enum or extended data type, field groups, indexes, relationships, delete actions, and methods. Tables can also inherit the fields of base tables that they are specified to extend. The AX 2012 runtime uses table specifications to render data entry presentation controls and to maintain the referential integrity of the data stored in the application database. The X++ editor also uses table elements to provide IntelliSense information when you write X++ code that manipulates data stored in the application database. Tables can be bound to form, report, query, and view data sources.

Image Map Use a map element type to specify a data entity type that factors out common table fields and methods for accessing data stored in horizontally partitioned tables. For example, the CustTable and VendTable tables in the AX 2012 application model are mapped to the DirPartyMap map element so that you can use one DirPartyMap object to access common address fields and methods.


Image Note

Consider table inheritance as an alternative to using maps, because it increases the referential integrity of a database when base tables are referenced in table relationships.


Image View Use a view element type to specify a database query that the AX 2012 application platform uses to generate a SQL Server database view schema. Views can include a query model element that filters data accessed from one table or from multiple joined tables. Views also include table field mappings and methods. Views are read-only and primarily provide an efficient method for reading data. Views can be bound to form, report, and query data sources.

Image Perspective Use a perspective element type to specify a group of tables and views that are used together when designing and generating SSAS unified dimensional models.

Image Table collection Use a table collection element type to specify a group of tables whose data is shared by two or more AX 2012 companies assigned to the same virtual company. An application administrator maintains virtual companies, their effective company assignments, and their table collection assignments. The AX 2012 runtime uses the virtual company data area identifier instead of the effective company data area identifier to securely access data stored in tables grouped by a table collection.


Image Caution

The tables in a table collection should reference only tables inside the table collection unless you write application extensions to maintain the referential integrity of the database.


Image Query Use a query element type to specify a database query. You add tables to query element data sources and specify how they should be joined. You also specify how data is returned from the query by using sort order and range specifications.

MorphX user interface control element types

The following model element types are part of the MorphX user interface control meta-model:

Image Menu item Use a menu item element type to specify presentation control actions that change the state of the AX 2012 system or user interface or that generate reports. If you specify a label for the menu item, the AX 2012 runtime uses it to name the action when it is rendered in the user interface. The AX 2012 form engine also automatically adds a View Details menu item to a drop-down menu, a menu that appears when a user right-clicks a cell in a column that is bound to a table field that is specified as a foreign key in a table relationship. The AX 2012 runtime uses the referenced table’s menu item binding to open the form that renders the data from the table. The AX 2012 form and report rendering engines ignore menu items that are disabled by configuration keys or role-based access controls.

Image Menu Use a menu element type to specify a logical grouping of menu items. Menu specifications can also group submenus. The menu element named MainMenu specifies the menu grouping for the AX 2012 navigation pane.

Image Form Use a form element type to specify a presentation control that a user uses to insert, update, and read data stored in the application database. A form binds table, view, and query data sources to presentation controls. A form is opened when a user selects a control bound to a menu item, such as a button.

Image Form part Use a form part element type to specify a presentation control that renders a form in the FactBox area of the user interface. For more information about the FactBox area, see Chapter 5, “Designing the user experience.”

Image Info part Use an info part element type to specify a presentation control that renders the result set of a query in the FactBox area of the user interface.

Image Report Use a report element type to specify a presentation control that renders database data and calculated data in a page-layout format. A user can send a report to the screen, a printer, a printer archive, an email account, or the file system. A report specification binds data sources to presentation controls. A report is opened when a user clicks an output menu item control, such as a button.

Image SSRS report Use an SSRS report element type to reference a Visual Studio Report Project that is added to the AX 2012 model database.

Image Cue Use a cue element type to bind a menu item to a presentation control that renders a pictorial representation of a numeric metric, such as the number of open sales orders. A cue is rendered in an AX 2012 Role Center webpage.

Image Cue group Use a cue group element type to specify a group of cues that are displayed together on the AX 2012 Role Center web part.

Workflow element types

Workflow element types define the workflow tasks, such as review and approval, by binding the tasks to menu items. When a form is workflow-enabled, it automatically renders controls that support the user in performing the tasks in the workflow. Workflow elements define workflow documents and event handlers by using class elements. The following model element types are part of the AX 2012 workflow meta-model:

Image Workflow type Use a workflow type element type to specify a workflow for processing workflow documents. A workflow configuration consists of event handler specifications, custom workflow task specifications, and menu item bindings.

Image Workflow task Use a workflow task element type to specify a workflow task. A workflow task comprises a list of task outcomes, event handler registrations, and menu item bindings.

Image Workflow approval Use a workflow approval element type to specify specialized workflow approval tasks. A workflow approval task consists of approve, reject, request change, and deny task outcomes, a list of event handler registrations, and menu item bindings.

Image Workflow provider Use a workflow provider element type to specify the name of a class that provides data to a workflow. Example data includes a list of workflow participants, a list of task completion dates, and a structure of users that reflect positions in a position-reporting hierarchy.

Code element types

The following model element types are part of the AX 2012 code meta-model:

Image Class Use a class element type to specify the structure and behavior of custom X++ types that implement data maintenance, data tracking, and data processing logic in an AX 2012 application. You specify class declarations, methods, and event handlers by using the X++ programming language. Class methods can be bound to menu items so that they are executed when users select action, display, or output menu item controls on a user interface. You can also use a class model element type to specify class interfaces that only include method definitions.

Image Macro Use a macro element type to specify a library of X++ syntax replacement procedures that map X++ input character sequences, such as readable names, to output character sequences, such as numeric constants, during compilation.

Image Reference Use a reference element type to specify the name of a. NET Framework assembly that contains .NET Framework common language runtime (CLR) types that can be referenced in X++ source code. The MorphX editor reads type data from the referenced assemblies so that Microsoft IntelliSense is available for CLR namespaces, types, and type members. The MorphX compiler uses the CLR type definitions in the referenced assembly for type and member syntax validation, and the AX 2012 runtime uses the reference elements to locate and load the referenced assembly.

Image Job Use a job element type to specify an X++ program that runs when you click the Go icon on the toolbar or press F5. Developers often write jobs when experimenting with X++ language features. You should not use jobs to write application code.

Services element types

The following model element types are part of the AX 2012 services meta-model:

Image Service Use a service element type to enable an X++ class to be made available on an integration port.

Image Service group Use a service group element type to specify a web service deployment configuration that exposes web service operations as basic ports with web addresses.

Role-based security element types

The following model element types are part of the AX 2012 role-based access control security meta-model:

Image Security policy Use a security policy element type to specify a configuration for constraining the view that a user has of data stored in one or more tables. A security policy configuration consists of a primary table specification and a policy query.

Image Code permission Use a code permission element type to specify one or more access permissions that secure access to logical units of application data and functionality. You can specify data access permissions to secure access to data stored in tables. You can specify code access permissions to secure access to forms, web controls, and server methods.

Image Privilege Use a privilege element type to specify one or more permissions that a user requires to perform a task, such as a data maintenance task; or a step in a task, such as a data view or data deletion step.

Image Duty Use a duty element type to specify a set of privileges that are required for a user to carry out internal control approval, review, and inquiry responsibilities and data maintenance responsibilities.

Image Role Use a role element type to specify the organization role, functional role, or application role that a user is assigned to in an organization. Sales agent is an example of an organization role, manager is an example of a functional role, and system user is an example of an application role.

Image Process cycle Use a process cycle element type to specify the operations and administration activities that are repetitively performed by users who are assigned duties in the security model. The expenditure cycle, the revenue cycle, the conversion cycle, and the accounting cycle are examples of process cycles.

Web client element types

The elements of the AX 2012 application meta-model that are used to develop Enterprise Portal web client applications are illustrated in Figure 1-4.

Image

FIGURE 1-4 Element types of the AX 2012 meta-model for developing Enterprise Portal applications.

The following model element types are part of the web client meta-model:

Image Web menu item Use a web menu item element type to specify web navigation actions that change the state of the AX 2012 system or user interface. If a label is specified for the menu item, the AX 2012 runtime will use it to name the action when that action is rendered in the user interface.

Image Web menu Use a web menu element type to specify a logical grouping of web menu items. Web menu specifications can group submenus. Web menus are rendered as hyperlinks on webpages.

Image Web content Use a web content element type to reference an ASP.NET user control. ASP.NET user controls are developed in the Visual Studio IDE and are stored in the AX 2012 model database.

Image Web part Use a web part element type to store a SharePoint web part in the AX 2012 model database. The web part will be saved to a web server when deployed.

Image Page definition Use a page definition element type to store a SharePoint webpage in the AX 2012 model database. The page definition will be saved to a web server when deployed.

Image Web control Use a web control element type to store an ASP.NET user control in the AX 2012 model database. The web controls will be saved to a web server when deployed.

Image List definition Use a list definition element type to store a SharePoint list definition in the AX 2012 model database. The list definition will be created on a SharePoint server when deployed.

Image Static file Use a static file element type to store a file in the AX 2012 model database. The file will be saved to a SharePoint server when deployed.

Image Web module Use a web module element type to specify the structure of a SharePoint website. The web modules are created as subsites under the home site in SharePoint.

Documentation and resource element types

Documentation and resource element types are used to reference Help documentation and system documentation and to develop localized string resources and information resources.

The following model element types are part of the AX 2012 documentation and resource meta-model:

Image Help document set Use a Help documentation set element type to reference a collection of published documents. Help document sets are opened from the Help menu of the AX 2012 Windows client. For more information about creating and updating Help documents, see Chapter 16, “Customizing and adding Help.”

Image System documentation Use a system documentation element type to reference system library content and hyperlinks to MSDN content. System content describes the AX 2012 system reserved words, functions, tables, types, enums, and classes.

Image Label file Use a label file element type to store files of localized text resources in the AX 2012 model store.

Image Resource Use a resource element type to store file resources such as image files and animation files. These resources are stored in the AX 2012 model database.

License and configuration element types

The element types of the AX 2012 application meta-model that are used to develop license, configuration, and application model security are illustrated in Figure 1-5. These model element types change the operational characteristics of the AX 2012 development and runtime environments.

Image

FIGURE 1-5 Element types of the AX 2012 meta-model for developing licensed and configurable application modules.

The following model element types are part of the AX 2012 license, configuration, and application model security meta-model:

Image Configuration key Use a configuration key element type to assign application model elements to modules that a system administrator then uses to enable and disable application modules and module features. The AX 2012 runtime renders presentation controls that are bound to menu items with active configuration keys. Configuration keys can be specified as subkeys of parent keys.

Image License code Use a license code element type to lock or unlock the configuration of application modules developed by Microsoft. Modules are locked with license codes that must be unlocked with license keys. License codes can be specified as subcodes of parent codes.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.21.39.142