Book Image

Microsoft Dynamics AX 2012 R2 Administration Cookbook

By : Simon Buxton
Book Image

Microsoft Dynamics AX 2012 R2 Administration Cookbook

By: Simon Buxton

Overview of this book

<p>Microsoft Dynamic is a powerful ERP solution for global enterprises to support industry-specific and various operational business processes. This single solution enhances various aspects of manufacturing, retail, service, and public sector industries. Due to its intriguing capabilities such as finance and supply chain management, business intelligence and reporting, and project management, it is one of the most widely used solutions, having been adopted by many organizations across the globe. If you are one of those who help organizations in administering this unique solution, this book should be in the tool belt of any AX developer to ensure compliance and simplify the ongoing management of the system.</p> <p>Providing administrators who are involved in system administration and management with clear guidance on many administration tasks, this book is packed with systematic instructions of hands-on examples and in-depth explanations Even for experienced users, this book will serve as a great source of reference by providing new ways of working with Microsoft Dynamic through the book's easy-to-follow approach.</p> <p>This hands-on guide looks at key administration tasks, explaining not only how each task is performed, but also why. You will be provided with practical guidance that will allow you to safely take advantage of the advanced technology in Dynamics AX 2012 in order to simplify and automate the ongoing management while maintaining compliance.</p> <p>This practical book simplifies user management operations by automating the tasks of hiring new people—joining up HR and security roles through organizational hierarchies. In-depth explanations teach you about AX licensing and how to make the most of your license.</p> <p>Management of models and the model store (including installing hotfixes and addons), as well as details of how they work are provided, along with practical guidance on the procedures required to reduce risk and downtime.</p> <p>This book guides you through the key tasks in reporting and BI through in-depth knowledge of the Batch Framework and Alerting. Finally, important tasks in performance, system monitoring, and troubleshooting are provided with in-depth guidance and further reading.</p> <p>With this comprehensive guide, you will be armed with all the tools and instructions you need to both manage the system and make better decisions as your company’s requirements evolve.</p>
Table of Contents (21 chapters)
Microsoft Dynamics AX 2012 R2 Administration Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Deployment lifecycle


In Chapter 3, Model Management, we covered most of the tasks required for us to manage the model store, but we missed a vital process in reducing risk in the application lifecycle.

All (except the lucky) successful implementations have a deployment lifecycle process, which is closely linked to the software development process. But many fail to evolve the process, almost expecting software development to finish once the implementation is live.

Others implement a process based on the previous version of Dynamics AX, working around the issues and risks caused by this method of working. We have seen many implementations that are managed this way, highlighted when it goes wrong, costing both customer and partner time and money to correct the resulting problems such as lost code and data.

First, some quick facts on methods of transferring application code are as follows:

  • XPO

    • Imports into the layer that the client is logged into. Therefore, the code will normally be imported by the developer or their organization.

    • Element IDs are used if the element is found, otherwise a new Element ID is created during import. The target system is, therefore, an Element ID master.

    • Importing an object where a method has been deleted will not cause the method to be deleted in the target system, unless Delete elements is checked on import. In this case, all elements are deleted in the target layer and reimported (element IDs are re-used and data is preserved). If a field is removed as part of the import, the data in that field will be lost.

  • Model

    • Imports into the layer that the model was created in, and this need not be performed by the developer.

    • Element IDs are used if the element is found. Otherwise, a new Element ID is created while importing. The target system is, therefore, an Element ID master.

    • Importing a model where elements or objects have been removed will exclude them from the target system during import.

  • Model store

    • Transfers the entire application, all layers. This is, therefore, not equivalent to transferring a layer file in AX 2009. Moving one layer, moves everything in the layer, for example, all customizations written by the customer.

    • Element IDs are copied with the model store. The source system is, therefore, the element ID master.

    • Importing a model store replaces the target system's application code.

Element IDs

Element IDs are the granular level by which objects are identified, such as a field on a table (not each individual property) or methods on a class. The element IDs also create the link between the field in AX's data dictionary and SQL Server. This is stored in the SQL Dictionary, a table stored in the primary database (not model store database).

If the element ID for a field is changed (that is, if two fields swap their IDs), they will no longer match the SQL Dictionary. This risks data loss and at least some manual editing of this table to fix the link.

This is most likely to happen if you import the model store, which is why we will also refresh the primary database when we transfer the model store.

Environments

While developing code we have the following roles:

  • Software developers: They will begin with a copy of the live application and some business data to allow them to test their developments.

  • Unit Testing: This is performed on the development system to sign off a release into the user acceptance testing environment.

  • UAT: This is performed by end users and process owners and will require completed developments and recent business data.

For our deployment process, we also require the following:

  • Low risk

  • Does not add complexity, as this increases the risk of human errors or that the process is bypassed.

  • Allows efficient software development

  • Minimizes downtime in the production / live environment

  • Allows developer hot fixes to be applied to production

To accomplish this we have the following four environments:

  • Development: This environment is used to develop solutions and/or customizations

  • Test environment: This environment is used to test the changes

  • Staging: This environment is a copy of live to import models from test and to move to production

  • Production: This is the live database

The process

In the proposal from Microsoft, the Test environment is also used for correcting mistakes that are then moved back to development. This does speed up the development of the system, but runs a risk of overwriting changes being performed in development.

The following diagram shows the process (reference Microsoft deployment guide):

All environments will be created from live/production (as described in Refreshing an Environment from Live), which creates our four environments discussed previously.

The process will be as follows:

  1. A developer completes the development in the appropriate model in development. This should be unit tested at this point to reduce test iterations.

  2. The model is exported to a disk as a build (which may be done off-site by the partner) and transferred to the Test (UAT) environment.

  3. The model is imported into UAT and testing begins.

  4. Corrections may be made by the developer (from the authoring organization in the original model) and then moved back into development. If so, the build is recreated and re-imported into test to ensure that no regression has occurred.

  5. Model exported from test is ready for import into staging.

  6. When the model is ready to move to production, staging is recreated from production.

  7. The model is imported into staging, and the system is configured (new parameters, number sequences required, and so on by the development) and tested for regression.

  8. The model store is exported from staging and imported into live

  9. The required configuration data (which could be a job to recreate the configuration data) are also imported.

Periodically (especially after a hotfix or cumulative update is applied), the environments should be refreshed from production (which will mean data and model store databases). Having developments in progress should not delay this, as the projects can be exported and re-imported after the refresh is completed.

On occasions, the production system contains confidential information that should not find its way into the development environment. There is no standard method to do this, except for an update routine written to blank out the sensitive information. This should be considered along with whether this will hamper software development.