Friday, November 11, 2011

Differences between different versions of AX (AX 4.0 , AX 2009 and AX 2012) - Part -2

I have discussed the first 3 sections on the differences between various versions of AX in my previous post. In this post I am going to discuss the differences on the next 3 sections.


Services & Application Integration

S.No.
AXAPTA 4.0
AXAPTA 5.0
AXAPTA 2012
Implementation Process in AX 2012
1
Services are Windows Communication Foundation (WCF) based services that clients can use to interact with and retrieve system information.
Services are Windows Communication Foundation (WCF) based services that clients can use to interact with and retrieve system information.
Three service types are supported:
•Document services
•Custom services
•System services
2
Services are managed at an individual service level.
Services are managed at an individual service level.
Service group is a collection of services that are frequently consumed and managed together. All services in a service group are published in a single Web Services Definition Language (WSDL). You only have to add a reference to a single WSDL to gain access to the service proxies of all the services in that service group. Service groups activate type sharing for types that are common across various services in a service group.
Service must be added to a service group to make the service available for client consumption. Individual services cannot be published by themselves.
A developer can create a service group in the AOT. When creating service groups, developers can use the AutoDeploy property to decide whether a service group is deployed and activated when it is created. You must manually deploy and activate service groups that are not automatically activated by developers.
3
The concept of integration ports consists of the concept AIF endpoints and related configuration forms
The concept of integration ports consists of the concept AIF endpoints and related configuration forms
An integration port is either an inbound port or an outbound port. External applications consume an inbound port. An outbound port is a destination for XML messages originating from the Microsoft Dynamics AX system. Both inbound and outbound ports can be either basic or enhanced.
4
A basic port can be an inbound or an outbound port. A basic port is an integration port that is exposed at a specific Windows Communication Foundation (WCF) endpoint on the AOS host. When developers create an automatically deployed service group in the AOT, a basic inbound port is created and associated with the service group being deployed. Some basic ports, such as the basic ports that are used for system services, are always deployed and enabled by default.
A basic port can be an inbound or an outbound port. A basic port is an integration port that is exposed at a specific Windows Communication Foundation (WCF) endpoint on the AOS host. When developers create an automatically deployed service group in the AOT, a basic inbound port is created and associated with the service group being deployed. Some basic ports, such as the basic ports that are used for system services, are always deployed and enabled by default.
An enhanced inbound or outbound port is an integration port. With this type of port, you can group and administer multiple services as a single unit.
•Associate multiple services with the enhanced integration port.
•Restrict service and data contracts. This is achieved by applying service operation and operation parameter constraints.
•Have extensible pre- and post-processing of the service requests and service responses.
•Host services on the AOS and IIS.
5
AIF doesn't support the import and export of data in non-XML formats.
AIF doesn't support the import and export of data in non-XML formats.
AIF now supports the import and export of data in non-XML formats. This means that you can import a file that is not XML
6
The troubleshooting and logging of the AIF is performed at the service operation level.
Services and the AIF troubleshooting and logging is performed at the integration port level.
7
The proprietary Microsoft Message Queuing (MSMQ) and BizTalk Server adapters are used in the architecture.
The proprietary Microsoft Message Queuing (MSMQ) and BizTalk Server adapters are used in the architecture.
It provides expanded support for WCF beyond the basic HTTP and HTTPS bindings.
8
No WCF Service
No WCF Service
The AOS is the WCF service host for Microsoft Dynamics AX 2012 services. The AOS-hosted services are available to users and applications across the intranet. To consume services over the Internet, you must host services on Internet Information Services (IIS).
All the Microsoft Dynamics AX services hosted by the AOS are contained in a single Web Services Definition Language (WSDL) file. This is also known as the root WSDL. When adding a reference to a service from Visual Studio, use the single WSDL.
9
No Microsoft Dynamics AX SOAP Headers
No Microsoft Dynamics AX SOAP Headers
Simple Object Access Protocol (SOAP) headers are extended. SOAP headers can be added when calling a service to pass data into the service.
10
Microsoft Dynamics AX supports the use of .NET and X++ types as data contracts for service operation input and return parameters. Complex data types can be passed without having to explicitly implement XML serialization and deserialization from them.
Microsoft Dynamics AX supports the use of .NET and X++ types as data contracts for service operation input and return parameters. Complex data types can be passed without having to explicitly implement XML serialization and deserialization from them.
The data contract serialization and deserialization is now handled by Windows Communication Foundation (WCF). X++ provides support for data contract functionality through the DataContractAttribute and DataMemberAttributeattributes. Any .NET type that is serializable by WCF can be used as a parameter or return type by a service in Microsoft Dynamics AX 2012.
By default, WCF uses the DataContractSerializer to serialize and deserialized data.
11
The RunBase framework is used
The RunBase framework is used
Business Operation Framework instead of RunBase framework is used because it provides a clean separation between the data contract, user interface and the service operation.
BOF you can execute business operations synchronously or asynchronously. A business operation is a service operation exposed from the AOS. BOF provides various methods for invoking business operations from Microsoft Dynamics AX facilities, such as menu items and the batch framework.
12
Client applications can access services through the .NET Business connector.
Client applications can access services through the .NET Business connector.
Client applications can now access services through the WCF runtime without using the .NET Business connector.
13
An intranet deployment requires IIS.
An intranet deployment requires IIS.
An intranet deployment does not require IIS because services are now hosted on the AOS by default.
14
No WSDL concept
No WSDL concept
All the services references are placed in a single web services description language (WSDL) file. The single WSDL lets developers reuse types when consuming Microsoft Dynamics AX services.
15
Large message import is limited to 10MB.
Large message import is limited to 10MB.
Support for large messages import (10 MB limit removed)
16
Normal Error Handling
Normal Error Handling
Support for flexible error handling on large imports such as rollback and halt

EP Framework
S.No.
AXAPTA 4.0
AXAPTA 5.0
AXAPTA 2012
1
Manual compiling of x++ classes is required.
Manual compiling of x++ classes is required.
Enhanced initial setup and installation that no longer requires manually compiling X++ classes.
2
Ability to deploy changes in Enterprise Portal to a web server using the AxUpdatePortal utility or PowerShell commands.
3
Ability to deploy changes from the Application Object Tree (AOT) on a 32-bit client to a 64-bit Windows Server.
4
Automatic upgrade from Enterprise Portal on Windows SharePoint Services 3.0 or Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Foundation or Microsoft SharePoint Server 2010.
5
Ability to manage remote Enterprise Portal deployments from a Microsoft Dynamics AX client.
6
Enterprise Portal automatically allows and denies access to data and to web pages, based on settings in the Microsoft Dynamics AX role and task security framework. The administrators must configure Microsoft Dynamics AX security roles and tasks before users can view Enterprise Portal pages.
7
User Authentication: Administrators can configure Enterprise Portal vendor sites to authenticate users based on their Microsoft Live ID. By using this external authentication, administrators do not have to manage external users in their Active Directory configuration.
8
List Pages are the primary locations in Microsoft Dynamics AX to view lists of records, find specific records, access record details, perform actions on records, and move to other forms related to those records. Because of their importance, List Pages are improved to let the user quickly find the correct information, to perform complex actions directly from a List Page, and to help developers build high-quality List Pages.
9
Filter Capabilities : List Pages are designed to help users find the correct information easily by providing improved filter capabilities. Users can save and reuse filters. Users can use List Pages to preview important and related information through Fact Boxes, the Preview pane, and Cues. Using the Advanced filter option, Enterprise Portal users can save list items to a cue on their Role Center page.
10
Data Sharing and Analysis:
In Microsoft Dynamics AX 2012, the AXHierarchicalGridView is improved so that you can move tasks using a drag-and-drop operation, indent or negative indent tasks, and select multiple rows at one time. You can also export data from grids into Microsoft Excel®, change the data, and then import the data back into Microsoft Dynamics AX.
11
Quick Path, also known as Drop Dialog functionality, is added to the Action Pane so that you can perform a larger number of actions directly from the List Page instead of having to move to other forms and dialog boxes to provide parameters to those actions. In addition, Info Part Actions, and Hyperlinks on the grid help you take actions more quickly.
12
List pages for the client and list page for Enterprise Portal should be created separately.
List pages for the client and list page for Enterprise Portal should be created separately.
A list build for the Microsoft Dynamics AX client, and then select to deploy that same list to Enterprise Portal which decreases the development time and improves consistency between the client and Enterprise Portal.
13
The Employee services site in Enterprise Portal is improved to help the user view all available tasks in one place. Related tasks are grouped under a task heading. When you click the heading for a task group, a new activity site or list page opens where you can quickly and easily complete tasks.
14
It include Enterprise Search and the SharePoint Foundation 2010 Business Connectivity Services. The Business Connectivity Services provides an easy way to integrate Microsoft Dynamics AX business data with Enterprise Portal to provide solutions for end-users without writing any code.

Security
S.No.
AXAPTA 4.0
AXAPTA 5.0
AXAPTA 2012
Implementation Process in AX 2012
1
The authorization is performed primarily on the client.
The authorization is performed primarily on the client.
The Table Permissions Framework (TPF) is extended so that it can also work on fields. This improvement shifts the security load to the server, regardless of the type of client that is used to access the data.
2
User authentication is based on Active Directory.
User authentication is based on Active Directory.
Users can be authenticated by using identity providers other than Active Directory. This means external users will no longer require domain accounts to access Microsoft Dynamics AX. Instead, you can use Forms-based Authentication stores or work with external partners using Active Directory Federation Services (ADFS).
3
A hierarchy of security concepts to simplify the creation and administration of security.
4
Security roles, Process cycles, and Duties are the primary security concepts used by an administrator to control security.
Security roles represent a behavior or group of duties for a job function. They include a defined set of application access privileges and users are assigned to one or more security roles.
Process cycles organize duties and access privileges according to high level processing. For example: Revenue cycle.
Duties are a responsibility to perform one or more tasks or services for a job. In the security model a duty is a set of application access privileges required for a user to perform specific tasks. Duties are designed according to a specific business objective.
5
Privileges, Entry points, and Permissions are primarily used by a developer to control security in Microsoft Dynamics AX 2012.
Privileges group together related Microsoft Dynamics AX artifacts from a security perspective. For example: Menu items for forms and related Fact Boxes.
Permissions group together Microsoft Dynamics AX base objects and permissions that are required for them. Entry points link to Permissions. For example: Form permissions, Report permissions.
6
No Role-based Security
No Role-based Security
Role-based Security makes application security easier to manage by providing the following benefits:
•Application security aligned with your business
•Reusable permissions
•Compliance, auditing, and reports
•Default and sample security settings
7
Administrators created their own user groups and manually assigned users to those groups.
Administrators created their own user groups and manually assigned users to those groups.
Security is role-based, and by default, many security roles are provided. Using role-based security, users are assigned to roles, based on their responsibilities in the organization and their participation in business processes. Instead of identifying and granting access to application elements, the administrator assigns duties.
8
User groups could not span multiple companies.
User groups could not span multiple companies.
Reusable Permissions: A single set of roles applies across all companies and organizations. The administrator no longer has to create and maintain separate user groups for each company.
Even though roles themselves are not specific to a company or organization, the administrator can still specify a company or organization context for a particular user in a role.
9
Auditing for compliance is a manual task for administrators. There are no built-in features to help prevent fraud and guarantee compliance.
Auditing for compliance is a manual task for administrators. There are no built-in features to help prevent fraud and guarantee compliance.
Setup a segregation of duties rules to make sure a user does not have access to conflicting duties. For example, a rule can be set up specifying one person should not be granted access to both create and release a purchase order. In another example, a rule specifies one person cannot both acknowledge the receipt of goods and pay the vendor.
Because administrators and auditors can more easily obtain information about each user's permissions, they can also easily determine whether adjustments to security must be made.
10
No security settings are provided. Administrators created their own user groups and granted those groups access to application elements.
No security settings are provided. Administrators created their own user groups and granted those groups access to application elements.
Default and Sample Security Settings:
Permissions for all application elements are grouped into default privileges and duties. The default security roles have application access. By default, data restrictions are not applied.
11
Extensible Data Security Framework
The Extensible Data Security Framework lets an administrator create data security policies that determine what data a user can access. This provides a state where the security is automatically enforced based on business data. The data security setup is performed in two steps:
1.Developers identify the tables that need to be secured and create a policy based on specific data security requirements.
2.The IT system administrators decide which policies to enable or disable.
.........................to be continued in my next post..
To check my previous post and next post on the differences click the following links

2 comments:

vidhya said...

Hi Friend,

My query is related to AIF webservices which i want to host on IIS of a different machine which is in the Same domain itself.
I am able to run all the services in netTCP adapter which are the basic integration ports of dynamics ax 2012.
But i am unable to run this services using HTTP adapter.

I have deployed some standard AIF services onto the IIS of my IIS Server machine using HTTP adapter.

It is allowing me to add service reference into the .net application but when i am going to run my application its giving me error in the AIF service method line itself.
an error related to authentication that user is not authorized to view contents of this page or directory.I have tried with Ax administrator login.

I have implemented the standard code which is available on msdn for calling and AIF web service using HTTP adapter.

This is my code of Console application. I have added Sales Order Service as service reference which is deployed on iis.

static void Main(string[] args)
{
// Create the sales order objects
// Service client
ServiceReference1.SalesOrderServiceClient cl = new ServiceReference1.SalesOrderServiceClient();

// Sales order object to receive response
ServiceReference1.AxdSalesOrder resp;

// Create the entity key list for the request
ServiceReference1.EntityKey[] readRespKeys = new ServiceReference1.EntityKey[1];
readRespKeys[0] = new ServiceReference1.EntityKey();
readRespKeys[0].KeyData = new ServiceReference1.KeyField[1];
readRespKeys[0].KeyData[0] = new ServiceReference1.KeyField();
readRespKeys[0].KeyData[0].Field = "SalesId";

// Ask the user for a sales order ID
Console.WriteLine("Enter the sales order ID:");
// Add the result to the entity key value
readRespKeys[0].KeyData[0].Value = Console.ReadLine();

try
{
// Try to read the sales order
resp = cl.read(null, readRespKeys);
// Display the information from the first sales table
Console.WriteLine("For sales order: " + resp.SalesTable[0].SalesId);
Console.WriteLine("Customer Account is: " + resp.SalesTable[0].CustAccount);
}
catch (Exception e)
{
Console.WriteLine("Exception: " + e.Message);
Console.ReadKey();
cl.Abort();
}
cl.Close();
}

Please provide some needful help that i can come out of this problem as soon as possible, and also third party should be able to use my services so ho can i pass credentials, because users wont be our Dynamics Ax users.

Thanks in advance....

Vikas said...

Can you mail me the exel sheet for all the three parts on difference
between different versions of AX (AX 4.0 , AX 2009 and AX 2012) - Part -2"
on mehtavikas99@gmail.com





1 – 0 of 0