Microsoft Dynamics AX 2009 Integration and Development with.NET Framework Enterprise Portal
Agenda ASP.NET Framework SharePoint Data Binding Portal Development
ASP.NET Framework
Main Goals Transform EP from self service light-weight Web app to mainstream full fidelity business Web app Move away from a “Click-and-Wait” architecture to the responsive and interactive modern Web Empower end users with a richer and more powerful UI Develop rich home pages Empower developers with rich toolset and platform technologies
What Is ASP.NET Based Framework? UI development in VS using ASP.NET Core UI controls (List/Image/Lookup) Data binding Label support AOT nodes for storing and securing managed content Session management Proxy class generation Navigation and deployment
Portal Page Architecture IIS Virtual Directory SharePoint Content Database Page AX Toolbar Web Part1 Page Definition Web Part Properties AX User Control Web Part User Control AxGrid AxDatasource MyUserControl.asc x Control3 Properties MyUserControl.ascx.cs Event Handlers Control4 Properties User Control Properties
SharePoint
Web Part Page Standard page and functionality IIS Virtual Directory SharePoint Content Database Page Web Part1 Page Definition Web Part1 Properties FixFunctionPage.asp x Control3 Properties Control4 Properties Web Part2 Properties Web Part2
Metadata Consolidation SharePoint Customizable Personalizable Content (SQL Server) AX Metadata Data Binding X++ Code Data Dictionary (AOD file) ASP.NET Pages and Controls (File System) SharePoint Static Files Features Templates (File System) Import and layer Deploy
Dynamics AX 2009 Model Microsoft Dynamics AX 2009 Portal builds on the rich AX desktop data binding It exposes the rich AX metadata binding It uses the full flexibility of ASP.NET (code and markup) It uses the dynamic customization and personalization of the SharePoint It unifies ASP.NET, SharePoint and AX metadata in the AOT
Home Page Consists of various Web parts –WSS Quick Links Activity Stacks Unified Work List (Alerts/Workflow) Dynamics Report SSRS Report –MOSS KPI List Filter Excel Web Access Home page integration with the AX client
Demo Create Role Center Page
Data Binding
Architecture for Accessing AX Data ASP.NET Control AxDatasource Control DataSourceViewsAxDataSetViews AxDataSet AX From Datasource functionality X++ Code Application code Bind Access Object Model X++ Callouts
Dataset Functionality Allows binding to one or more AX tables Allows multiple tables to be combined using joins Exposes full AX data model Provides calculated fields Executes table based triggers Supports a programming model similar to an X++ table object Supports data versions (OCC) Can be backed up by a real table or a temp table Provides events that can be overridden Provides an object model for application code
User Control Details AxDataSet IIS Virtual Directory MyUserControl.ascx GridView Props MyUserControl.ascx.cs Event Handlers TextBox Bound Field… My User Control UserControl GridView Text Box Check Box Datasource Control AOT MyDataSet DataSource Field DataSources Methods MyDataSetRun Datasource QueryRun Table BC.NET
Portal Development
EP Site Components EP Site Basement EP Home Site EP Sub Site Web Module Top navigation bar
Module Properties –ConfigurationKey –InheritNavigation –InheritPermissions –QuickLaunch –ShowLink
Navigation Details Navigation is between pages URL Menu items –Navigation –Authorization Content items –Content items point to parts on the page –Used for authorization Web Menus
Core Controls AxDataSource AxGridView AxForm AxLookup AxFilter AxToolBar Webparts –AxUserControlWebPart –AxToolbarWebPart
Page Context Passing within a Page Context Webpart type –None –Provider –Consumer Connections Provider Webpart Consumer Webpart Webpart connection Ajax refresh Webpart connection Ajax refresh Consumer Webpart
Context Passing between Pages Context Query String Master – Details Security and encryption Page 2 (details) Page 1 (master) Web Part 1 Web Part 3 Where x = record 1 Web Part 4 Where x = record 1 Record 1 Web Part 5
Security Metadata Object Model exposes Security keys Data Sets calculate field level security Table level security can be accessed via Metadata Object Model for the current session AX controls are automatically authorized User controls are secured through content items Standard X++ Authorization (RLS, HasMenuItemAccess, …)
Stateless Programming Model Data Sets can be persisted across HTTP requests What is persisted? –Queries –Data Cache –Current Record –Current Record deltas –Marks –New Records –Temp Tables Override –Pack, UnPack Control State can be enabled or disabled
X++ Support Proxy Generation Tool pg.exe Allows C# proxies to be generated for X++ classes and tables Automatically generates dependent classes Strongly Typed
Localization AX ASP.NET framework uses labels Controls handle localization Also ASP.NET expressions are provided to be used in markup to convert labels to text "/>
Ajax support Advantages We have built our own framework on Ajax, as you have seen Advantages of Ajax framework –User-experience improvement –Bandwidth usage –Separation of data, format, style
Deployment Deployment works at three levels: Web Server Deployment –Static Files –Controls Web Application Deployment –Features –Web Parts –Web Sites Web Site Deployment –Pages
Demo Develop the Portal
Q&A
Introducing the Lab In this lab you will: –Create Web module –Deploy Web module –Create DataSet –Create user control –Upload user control to the AOT –Create Web content –Create Web page –Create Web menu item
© 2008 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.