1. New Features in Dynamics AX 2009 Enterprise Portal
Microsoft Dynamics AX 2009 EP provides many new
features to empower developers to build and customize rich Web user
interface that enables end users to find and access business information
quickly and efficiently. Here is a list of high-level Enterprise Portal
features introduced in Dynamics AX 2009.
New Web framework for supporting ASP.NET-based Web user interface
Visual Studio add-in for Web development and integration to the AOT
ASP.NET controls for common user interface elements
Use of AJAX for rich user interactions
Web parts for common page elements
AOT nodes for storing and securing components for the new Web framework
A
single site for all Dynamics AX companies similar to the client and the
ability to switch companies through the company switcher
Context-specific Help for Enterprise Portal
Top
and left navigation providers for integrating navigation elements in
Windows SharePoint Services with business application navigation defined
in the AOT
Modules created as subsites for easy management
Consistent navigation for Web modules in Quick Launch
New applications: CRM in Sales Module, Expense Management, Purchase Requisition, Service Management, Compliance Center
Role Centers in the client and in Enterprise Portal
Migration of all out-of-the-box pages to the new ASP.NET framework
Enterprise Portal deployment completely automated and integrated with Dynamics AX setup
In-place
upgrade from Windows SharePoint Services 3.0 and Microsoft Office
SharePoint Server (MOSS) 2007 sites to Dynamics AX 2009 Enterprise
Portal sites
2. Enterprise Portal Development Tools
You develop the data and
business tier components of Enterprise Portal using MorphX, the
integrated development environment (IDE) in Dynamics AX. You define
navigation and site hierarchy in MorphX. You develop the presentation
tier components in Visual Studio and design the Web page using Windows
SharePoint Services. AOT serves as the single master of all metadata for
Enterprise Portal. It stores all the controls and pages you developed
using Visual Studio and Windows SharePoint Services, and other
supporting files, definitions, and features, under the Web node.
MorphX
MorphX is used for developing and debugging data
and business tier components, defining navigation elements, storing
unified metadata and files, importing and deploying controls, storing
page and list definitions, and generating proxies.
For Enterprise Portal data access purposes, the
new programmable object Data Sets is added to the AOT. Data Sets in
Enterprise Portal are equivalent to the Form data source for the Desktop
form. You can create Data Sets with one or more joined data sources
pointing to related tables in Dynamics AX. You can override or add new
methods in data sets, data sources, and tables as well as define the
data access logic.
You
generally define the business logic in classes in the AOT. These
classes are referenced either in the data set or through C# proxy
classes in the presentation components in Enterprise Portal.
You can generate proxy classes either from
Visual Studio or from MorphX (Tools\Development Tools\Web
Development\Proxies). The tables and classes from which proxy files need
to be generated are defined in AOT\Web\Web Files\Static Files\Proxies.
Web-related components are stored under AOT\Web.
The Web User Controls for the presentation tier
that you develop in Visual Studio are added to the AOT under AOT\Web\Web
Files\Web Controls. These controls are referenced and secured by
AOT\Web Content\Managed Nodes. The Visual Studio add-in for Dynamics AX
lets you add the controls from Visual Studio to the AOT directly.
Static files that Enterprise Portal uses, such
as style sheets, configuration files, and aspx files, are kept under
AOT\Web Files\Static Files. Images and resources are kept at
AOT\Resources.
The pages and lists you create in Windows
SharePoint Services are exported to the AOT and stored under AOT\Web\Web
Files\Page Definitions and AOT\Web\Web Files\List Definitions.
Enterprise Portal Web parts site definitions are
kept under AOT\Web\Web Files\Web Parts and AOT\Web\Web Files\Site
Definitions. The Site Templates node is for any customized Windows SharePoint Services templates.
For Web sites, consistent navigation is
important for users to perform their tasks quickly and easily. Site
navigation in Enterprise Portal consists of a global menu bar that is
displayed at the top of the site, the module-level QuickLaunch
navigation, which is on the left side, and toolbars that are inside the
page.
Web modules define the site hierarchy and the
top-level navigation. Web menus define the menu hierarchy used by the
Dynamics QuickLaunch Web part or the toolbar. Web menu items that point
to the page or class are used in Web menus.
Visual Studio
You develop and debug presentation-tier
components in Visual Studio. The Visual Studio add-in for Enterprise
Portal provides a project and control template for Web user interface
development. You define all the user interface logic in Web User
Controls using Enterprise Portal development tools, and you use the
Enterprise Portal framework to access data and metadata for ASP.NET
controls. The Visual Studio add-in also provides an easy way to add
controls to the AOT, import controls or style sheets from the AOT, and
generate proxies. It also provides a test page for previewing the user
interface and debugging.
Windows SharePoint Services
You
use Windows SharePoint Services to develop Web part pages or lists and
to edit master pages, which contain the common elements for all the
pages. You can use the Create or Edit Page tools of Windows SharePoint
Services in the browser and use one or more Enterprise Portal or any Web
parts and design your Web page. You can also use the Microsoft Office
SharePoint Designer 2007 tool to create or edit Web part pages or master
pages.
3. Developing Data Sets
Data Sets is a new AOT node in Dynamics AX 2009. It is used to define the data access logic. A data set
is a collection of data usually presented in tabular form. The data set
brings the familiar data and programming model known from Dynamics AX
forms together with ASP.NET data binding. In addition, the data set
offers an extensive X++ programming model for validating and
manipulating the data when creating, reading, updating, or deleting in
Enterprise Portal. The AxDatasource
control in ASP.NET uses data sets to display and manipulate data from
any ASP.NET control that supports data binding. A data set can contain
one or more data sources that are joined together. The data sources
could point to a table or a view in Dynamics AX. Data sources can be
joined to display data from multiple tables as a single data source. To
do this, you use inner or outer joins. To display parent-child data, you
use active joins. To surface data from joined data sources or from
parent-child data sets, you use dynamic data set views (DataSetView).
With a view-based interface, tables are accessed through dynamic data
set views rather than directly. You can access inner-joined or
outer-joined tables through only one view, which has the same name as
the primary data source’s name. Two views are available with
active-joined data sources: one with the same name as the parent data
source, and another with the same name as the child data source. The
child data source contains records related only to the current active
record in the parent data source.
Each data set view could contain zero or more
records, depending on the data. Each data set view also has a
corresponding special view, which contains just the current, single
active record. This view has the same name as the original view with _Current appended to the view name. Figure 1 shows the data set views inside a data set and the data binding.
Data
sets offer an extensive and familiar X++ programming model for
validating and manipulating data. Some of the methods you’ll be using
frequently include init, run, pack, and unpack.
The init method is called when the data set is initialized. It is activated immediately after new and creates the run-time image of the data set. Typical uses of init
include adding ranges to restrict the data, checking the arguments and
parameters passed, and initializing and modifying variables and queries.
The run method is called after the data set is initialized and opened, and immediately after init. Typical uses of run include conditionally making fields visible or hidden, changing the access level on fields, and modifying queries.
The pack method is called after the data set is run. You generally use the pack/unpack pattern to save and store the state of an object, which you can later reinstantiate. A typical use of pack is to persist a variable used in the data set between postbacks.
The unpack method is called if a data set was previously packed and then accessed. If a data set was previously packed, init and run aren’t called. Instead, only unpack is executed.
Data sources within a data set also include a number of methods you can override. These methods are similar to those in the FormDataSource
class on the Desktop. You can use them to initialize the default values
and validate values and actions. For more information about these
events, such as when they are executed and the common usage scenarios,
refer to the “Methods on a Form Data Source” topic in the Microsoft
Dynamics AX 2009 software development kit (SDK), on MSDN.