Data Management and Integrations BRK3172 Data Management and Integrations Kuntal Mehta
Agenda AX Conceptual Architecture Data Entities Data Management – Import/Export, Recurring Web Services Integration with PowerApps/Flow What’s Next Q/A
Conceptual architecture Microsoft Dynamics Conceptual architecture 5/17/2018 Devices (Cross platform: Windows, Android, iOS, OS X) Dynamics AX ERP application Dynamics ‘AX’ platform ALM – Lifecycle services Client Server Partner apps Trial and signup Trial & signup Provisioning Provisioning Deployment Office (Office 365, Yammer, Skype) Visual Studio developer experience Diagnostics, telemetry, and monitoring Configuration Implementation experience Upgrade experience Data Management & Integration Analytics and reporting Support experience Microsoft platform (includes Azure services) © 2011 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.
Pain points: Data concept Microsoft Dynamics AX Technical Conference 2013 5/17/2018 3:14 AM Pain points: Data concept Normalized schema requires understanding of underlying data storage Exposed details of Dynamics AX makes external integration difficult Multiple concepts for different scenarios – AXD, DIXF, table import/export Customer (CustTable) Electronic address (LogisticsElectronicAddress) Data Entity Data entity provides conceptual abstraction and encapsulation (de-normalized view) of underlying table schema(s) to represent key data concepts and functionalities Party (DirPartyTable) Location (LogisticsLocation) Postal address (LogisticsPostalAddress) Party-Location relationship (DirPartyLocation) Location roles (LogisticsLocationRole) Party-Location role relationship (DirPartyLocationRole) © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.
Screenshot of Data Entity wizard Microsoft Confidential
Data management & Integration Patterns 1. Interactive import/export Initial/ad-hoc data load Ex: Migrate data from legacy or external systems, move data between instances (ALM) 2. Real-time integration Exchange data synchronously and invoke actions via services Ex: mobile application, editing data in excel 3. Asynchronous integration Setup periodic & unattended exchange of data with external systems Ex: Nightly credit card data file, Weekly export of general ledger summary Data Import/Export (Data management platform) REST API (OData v4) Custom Services
Integration: Overview 5/17/2018 Azure App Services (BizTalk) Custom Apps & integrations Application Lifecycle (LCS) data management tasks : - Data migration for initial system load - Move data between Dynamics AX instances (Test Prod) Single record or batched records SOAP (HTTPS/XML) REST (HTTPS/JSON) OData (HTTPS/JSON/XML) Asynchronous high volume interface Data Management Platform File upload Transform Data staging Validation Recurrence Data entity (simplified projection of schema) X++ Class X++ Class Table(s) Relational query Aggregate query Application server (AOS) Azure SQL Server RowStore and ColumnStore © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.
Data import/export
Data management platform (data flow) Microsoft Dynamics AX Technical Conference 2013 5/17/2018 3:14 AM Data management platform (data flow) Inbound flow Source Files DIXF service Application server Data entity Central storage Database server Staging Target © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.
Microsoft Confidential Demo: import/export Microsoft Confidential
Recurring Integration (async) Microsoft Dynamics AX Technical Conference 2013 5/17/2018 3:14 AM Recurring Integration (async) Create Data project Add entities, define mapping Schedule recurrence and activate integration Exchange files via REST API 1. Setup integration External integration client Queue file(s) http://ax7/api/connector/enqueue/ [activity Id and entity name] Import AX 7 Receive Task Id 2. Send/receive files Data management platform Export External integration client Request Dequeue http://ax7/api/connector/dequeue/ [activity id] AX 7 Acknowledge Dequeue http://ax7/ack/<jobid>/ Outbound Receive files (zip) Data management platform © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.
Authentication OAuth 2.0 - Open Authorization standard OAuth 2.0 providers are Microsoft, Facebook, SalesForce, LinkedIn, Twitter, etc. Supports two types of clients Native clients Confidential clients All requests are made over https
Services in AX7
SERVICES AX7 DEPRECATED Document Services (AXD) OData Building modern clients like mobile, web, Excel apps Real time Integration Data Entities with OData service OData Document Services (AXD) Building modern clients like mobile, web, PowerBI, Excel apps REST Metadata service REST Metadata Service SOAP based Metadata Service * Integration which require strongly typed WSDL contract, more for legacy applications OData service SOAP based Query Service * SOAP Custom Service Integration which require custom operations rather than bound to Data Entities e.g. ApplyTimeZone, RemoveTimeZone, numeralsToCurrency OData service JSON Custom Service Odata Query Service
Microsoft Dynamics AX Technical Conference 2013 OData Open Data Protocol (Odata) – Odata.org Uniform way of representing structured data - JSON formats Uniform URL conventions -Navigation, filtering, sorting, etc. Enables broad integration across products Built for the web © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.
Custom Services Feature AX 2012 AX 7 Exposing any X++ class as WCF Service Yes Service Node Support Service Group Node Support Consuming the X++ class as JSON Services No
Building JSON based service Developer Experience does not change Once the X++ class is exposed as service, it can be accessed as SOAP Service Endpoint https://usnconeboxax1aos.cloud.onebox.dynamics.com/services/UserSessionService JSON Service Endpoint https://usnconeboxax1aos.cloud.onebox.dynamics.com/api/services/UserSessionService/AifUserSessionService/GetUserSessionInfo
Custom Service Demo
PowerApps/Flow and AX
What is PowerApps? What is Flow ? Quickly create app for any device using a Microsoft office like experience, templates to get started Use built in connectors Share your apps just like documents What is Flow ? Create automated workflows between your favorite apps
Connector
What’s coming next Improvements to AX Connector like addition of triggers, file based integrations With Dynamics 365, enable first party integrations between AX Online and CRM Online
Q&A
Appendix
Entity categories Parameter Reference Master Document Transaction Functional and behavioral parameter Required to setup a deployment or module Ex: System parameter, receipt layout, Vendor Parameters Reference Simple reference data required to operate business process Data that is specific to industry/business process Ex: Unit, dimensions, tax codes Master Data assets of business Complex reference data of large quantity Ex: Customer, Vendor, Product Document Worksheet data that will be converted into transactions Documents with complex structure Ex: Open balances, Sales order Transaction Operational transaction data Mostly read only. Posted, non-idempotent items. Ex: Posted invoices, logs
Runtime composite entity Data management/Integration Compose two or more data entities as single entity in visual studio(parent/child relations) SalesOrderEntity -> SalesHeaderEntity 1:N-SalesHeaderLineEntity Allow single composite schema file to be imported/exported through data management platform. Sample file <SalesOrder> <SalesHeader> <SalesLine Item='PaintBrush12' UnitOfMeasure='Pcs' Value='5000'></SalesLine> <SalesLine Item='Paint321' UnitOfMeasure='Ltr' Value='100'></SalesLine> </SalesHeader> </SalesOrder> 3. Parse and process single file as 2 separate entities. Provide document level transaction boundary, pre/post processing options Odata: Use separate entity resource with batch to do composite entity type operations X++: Use separate entity with transaction boundary
Entity Design principles Encapsulation Abstraction of physical data model Flat, de-normalized, close to real world Single public contract Same contract across all integration endpoints Same logic execution during CRUD operations Simplicity Use natural keys and hide AX details Easy to interact using industry standards
Free IT Pro resources To advance your career in cloud technology Microsoft Ignite 2016 5/17/2018 3:14 AM Free IT Pro resources To advance your career in cloud technology Plan your career path Microsoft IT Pro Career Center www.microsoft.com/itprocareercenter Cloud role mapping Expert advice on skills needed Self-paced curriculum by cloud role $300 Azure credits and extended trials Pluralsight 3 month subscription (10 courses) Phone support incident Weekly short videos and insights from Microsoft’s leaders and engineers Connect with community of peers and Microsoft experts Get started with Azure Microsoft IT Pro Cloud Essentials www.microsoft.com/itprocloudessentials Demos and how-to videos Microsoft Mechanics www.microsoft.com/mechanics Connect with peers and experts Microsoft Tech Community https://techcommunity.microsoft.com © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Please evaluate this session 5/17/2018 3:14 AM Please evaluate this session Your feedback is important to us! From your PC or Tablet visit MyIgnite at http://myignite.microsoft.com From your phone download and use the Ignite Mobile App by scanning the QR code above or visiting https://aka.ms/ignite.mobileapp © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
5/17/2018 3:14 AM © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.