enables businesses achieve greater efficiency by sharing data and processes shared application data...
TRANSCRIPT
March 18-21, 2013New Orleans
#conv13
Understanding data partitions in Microsoft Dynamics® AX 2012 R2Chandramouli VenkateshPrincipal Group Program ManagerMicrosoft
DDAX06
Session focus
Key concepts and capabilities
Scenarios for using data partitions
Key takeaway #1
Use partitions to achieve strict data isolation
across businesses
Key takeaway #2
Reduce TCO – share
infrastructure and
administration costs
Enables businesses achieve greater
efficiency by sharing data and processes
Shared application data across legal
entities—party, location,
products…
Shared services across legal entities—
procurement, centralized payments…
Background—Microsoft Dynamics AX 2012
Application layout—Microsoft Dynamics AX 2012
Shared system data, e.g. database settings, AIF ports, batch jobs
Shared application data, e.g. parties, products, locations
Legal entity 1 data,e.g. sales orders,
customers, vendors
Legal entity 2 data,e.g. sales orders,
customers, vendors
Legal entity 3 data,e.g. sales orders,
customers, vendors
Legal entity 4 data,e.g. sales orders,
customers, vendors
Microsoft Dynamics AX 2012 instance
Metadata and application code
Challenges with Microsoft Dynamics AX 2012
Managing shared data—requires
centralized business processes
Shared services—not managed centrally across all legal entities
Separate AX instances—increased
management overhead and TCO
Business scenarios
Holding Company
Subsidiary 1 Subsidiary 2 Subsidiary 3
Goals
Enable holding company subsidiaries to
Share IT infrastructure across independent businesses
Achieve strict data isolation across businesses
Reduce TCO for managing IT infrastructure
Application layout - Microsoft Dynamics AX 2012 R2
Shared system data, e.g. database settings, AIF ports, batch jobs
Shared application data, e.g. parties, products, locations
Legal entity 1 data,
e.g. sales orders, customers, vendors
Legal entity 2 data,
e.g. sales orders, customers, vendors
Legal entity 3 data,
e.g. sales orders, customers, vendors
Legal entity 4 data,
e.g. sales orders, customers, vendors
Microsoft Dynamics AX 2012 instance
Metadata and application code
Shared application data, e.g. parties, products, locations
Shared application data, e.g. parties,
products, locations
Shared application data, e.g. parties,
products, locations
Microsoft Dynamics AX 2012 R2 instance
Topology with data partitions
AX Business Database
SQL Server
AOS 1
AOS 2
AX Client 1Partition = P1
Configuration
AX Client 2Partition = P2
Configuration
AX Client 3Partition = P1
Configuration
AX Client 4Partition = P2
Configuration
Metadata is common across partitionsNo partition specific customizations
The same application code runs in all partitions
License and configuration keys are shared across partitionsEnabling or disabling a configuration key affects all partitions
Named user licenses are calculated per principal, i.e. AD User, regardless of the number of partitions they have access to
Default partition and companyA default partition named “Initial” is always created for each AX instance
The DAT company exists in every partition. It is automatically created when a new partition is created
A company with the same name can exist in multiple partitions
Partitions cannot be deletedOnce created, they cannot be deleted.
You cannot move LEs across partitions
Data partition basics
AX users are defined per-partitionWithin a partition a principal can be associated with one AX user
Each user has a “default” partition associated with them
The principal that creates a new partition automatically becomes the Admin user in that partition
AX user IDs other than Admin and Guest are unique across partitions
Role definitions are shared across partitionsUser to role assignments are per-partition
Organizations (e.g. departments, cost centers, etc.) and hierarchies are defined within a partition
User-role-organization assignment is per-partition
Users are only allowed to log into partitions that they have access to
Intended partition is specified at session creation time via client configuration
If no partition is specified then the user’s default partition is chosen
Data partition basics
Demo
Data partitions in action
Inside data partitions—table properties
Per company table Per partition table Shared table (System-only)
Inside data partitions—database schema
X++ code execution
Company 1
Shared application data
Company 2
Partition 1 (RecId = 123)
Company 3
Shared application
dataPartition 2 (RecId = 456)
Company 4
Shared application data
Company 5
Partition 3 (RecId = 789)
Company 6
Code is executed in the context of a partition
GetCurrentPartitionRecId () = 123
GetCurrentPartitionRecId () = 456
GetCurrentPartitionRecId () = 789
curext() = company1
curext() = company2
curext() = company3
curext() = company4
curext() = company5
curext() = company6
Get Current Company - curext()
Get Current Partition - GetCurrentPartitionRecId()
Data filtering
Company 1
Shared application data
Company 2
Partition 1 (RecId = 123)
Company 3
Shared application
dataPartition 2 (RecId = 456)
Company 4
Shared application data
Partition 3 (RecId = 789)
Company 6
AX data access filters data automatically
Company 5
Company 5
select * from custtable
where dataareaid =
Company5 and Partition = 789
Crosscompany queries are within a partitionNo support for ChangePartition or CrossPartition
Batch framework
•Shared across partitions•Batch jobs are associated with a partition•Batch server executes jobs in the proper partition context•Batch servers can process jobs for all partitions
Application integration framework
•Managed centrally for all partitions•Ports can be restricted to a single partition•Partition context can also be provided for each inbound message•Service definitions are shared across partitions
Enterprise portal
•EP site shared across all partitions•Default behavior is that the user’s default partition is chosen to log in to•Query parameter in the URL can be used to log into a non-default partition
Workflow•Workflow metadata is shared across partitions•Workflows are saved within a partition•Workflow batch jobs and runtimes should be configured per partition
BC.NET•Partition is a parameter for logon•Default partition for the user is chosen if non specified•Client configuration for BC.NET has partition field similar to the interactive client
Data partition use in Microsoft Dynamics AX frameworks
Supported upgrade options
Source VersionUpgrade all source companies into a single data partition on Dynamics AX 2012 R2
Upgrade source companies into multiple data partitions on Dynamics AX 2012 R2
Microsoft Dynamics AX 4.0
Microsoft Dynamics AX 2009
Microsoft Dynamics AX 2012
Microsoft Dynamics AX 2012 R1
Top tips from this sessions
Data isolationUse data partitions to achieve strict data isolation across businesses
Reduce TCOShare IT infrastructure and system administration by using data partitions
Flexible upgradeYou can map existing companies to same or different partitions on target
Shared metadataAll partitions share the same customizations and code
Shared runtime, administration, and infrastructurePorts, database settings, data cache, etc. are shared between partitions
Next stepsKey actions, resources and Convergence-related sessions/activities
Submit your session evaluation through our mobile event app or by logging into My Convergence on your PC.
Review and relive session recordings and PowerPoint files inside My Convergence.
Check out these related breakout sessions: <speaker to add>
The Convergence Experience Center has free technical support, Convergence theater presentations, demonstrations and the social experience, featuring the Media Wall and live social feeds.
Use the #MSDynAX and #conv13 hashtags
Scan this tag to get points for participating in this session.
Access Explore Socialize
Did you know that it takes just 5 minutes to help improve Microsoft Dynamics AX documentation? Take the survey at http://t.co/mvBzFNzi.
Survey
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.