Translate

Thursday, March 31, 2011

Automatic backup of xpo's


X++ Code to Export AOT Object / automatic backup of xpo's.

we need to take daily backup of our development (interms of xpo) , but we all always forget becuase of our hectic work schedules.
So use the following job and build batch application to take backup of developement in terms of xpo . 
We can take aod also but the size will be more and needs to stop AOS everytime . 

Following job illustrates how to export/backup all AOT Classes object.

void DEV_ExportTreeNodeExample()
{

TreeNode treeNode;
FileIoPermission perm;


#define.ExportFile(@"c:\AOTclasses.xpo")
#define.ExportMode("w")
;


perm = new FileIoPermission(#ExportFile, #ExportMode);
if (perm == null)
{
return;
}


perm.assert();


treeNode = TreeNode::findNode(@"\Classes");
if (treeNode != null)
{


// BP deviation documented.
treeNode.treeNodeExport(#ExportFile);
}


CodeAccessPermission::revertAssert();
}


Enjoy !!!!!!!!

Wednesday, March 30, 2011

What’s new in Dynamics Ax 2012?


 What’s new in Dynamics Ax 2012?

Introduction
This is an abstract of the recently concluded Dynamics AX Technical Conference which was held in Redmond.
I didn’t get enough time to watch closely this event as my project was keeping me very busy. But, a special mention and huge thanks to my AX mates, Brandon (#dynamicserp) and Harish (#HarishM) for capturing the event live on their tweets!
I summarized the below content in logical buckets (groupings) based on their tweets. Watch out for the full pdf document which may hit PartnerSource or MSDN DeveloperCenter very soon. Once it’s available i will copy the link over here. Till then, the below bullet points can give you a rough idea as to what to expect from the next major release for AX.

**AVAILABILITY
All we know right now is that GA for public is Q3 of this year for AX 2012. RTM is typically before that
More than 1200 more features 140 percent test cases 185 customers and partner fedback 30 nationalities on the team
Public sector a big focus as it has already been said a few times during this introduction
**ARCHITECTURE
Today is a 1980s ERP arch. All over the place. Not very dynamic for todays dynamic business needs
Model driven seamless AX dev in VS. Enriched data abstractions, dramatic improvements with .net interop
A strong statement that the model driven dev starts in VS rather than AX
Metadata native access with AOT with the VS application explorer
Official that models live in the database and multiple models within a given layer
Full web services integration shown with zones and integration with external site. SOA.
Modeling the world is the theme here. From database, to development, BPM and orgsetup. All about models
GAB used throughout AX2012. Reduction of duplicate data, and secure access and use to this data
AX2012 arch design tenets. In simple words, powerful yet simple. Key word: models.
Clear statement from arch session. Investments are made and will continue for MorphX and Xpp
managed code dev is now possible, eventing etc. However Xpp has it place and will continue to do so
Hierarchy browser for tables (now you can extend tables)
Table inheritance will simplify complex data models
**MODELING
Modeling the world, with AX 2012. Workflows should be used for all Biz Process modeling.
When you think of modeling BP, you think of DSL or domain specific language. This is true for AX 2012.
The DSL for AX 2012 can be shaped by vertical to solve a given business domain issues.
Taking and creating elements for specific verticals, that BAs can use within the AX 2012 WF designer. Vertical specific DSL.
This can then allow for the configuration or setup of a process, to match more natively the process that exists for a biz.
The vision for the shift to model is a great one. It’s enforced at some places and others it’s an option
Getting the dynamics ecosystem as a whole to embrace the modeling the world concept is going to need a lot of help
Understand the bubbling up tasks that the modeling is meant to achieve, the skill level to achieve it is huge.
If your a partner, you should be looking at this now, and shape your current projects and future ones to max the uses of WF
The whole concept behind WF models is about trying to address business domain issues with domain specific language.
And achieving this, through the use of WF framework, .net and AX 2012
Ax model file is the new deployment artifact. This changes promotion process
During this move, the object Id issue has been resolved with these changes
Installation specific ids is a new way for handling properly and with correct context object ids
Fall out, an element can only exists still once in a layer. Two models can’t contain same object in one layer.
Model elements in a given layer, make up a model in a given layer. There can be multiple models in one layer.
PowerShell support being highlighted for use in advanced or complex uses for managing models within layers
Tools > modeling management > create model. This is where you can create a new model in a layer
One could see how models could be used to segment even customer code within the CUS layer
Models within layers do manage elements of a layer, and also manage the deployment of objects.
The change for promotion process during s project would be copy prod db to test, then deploy model from dev to test.
No longer take and move the db, as it is not just trans data. Now contains model store. Keep in mind for moves.
/verbose mode is very useful for AXutil commands
A lot of options for the AXutil app and for the complex needs of code promotion and object management, a lot of flexibility exists.
.axmodel is the ext used for the AX 2012 model files
**VS INTEROP
Full intellisense for all AX objects within VS2010. This is huge vs. Todays work with AX and .net.
Point to Xpp developers: if you don’t know C# it’s time you invest in doing so
Showing off putting an event handler on AX code that allows you don’t have to change Xpp but work off of the events
VS projects can now live in the AOT model store. Helps with deployments and management
Great possibilities with what can be done with the new option of .net and Xpp. Very powerful stuff! Will impact devs for sure
Question asked if use of new proxies with Xpp and .net has overhead and perf issues? Answer was just no. Details would be nice.
**SECURITY
Security roles form, is central place for management of role, record and external security
Managing security in AX 2012 is totally different than in previous AX versions. Some concepts remain, but a lot new.
The points being addressed for AX 2012 is the make security administration rescues is a big way in complexity
Role based approach is a pyramid: roles, duties, privileges, permissions. Stated from top to bottom.
Duties also map out in a functional way to the “process cycles” that a person or job function perform
Process cycle and duties is where segregation if duties are enabled and managed within AX 2012
Three types of users in AX 2012. Claims user, active directory user and group. AD not required for user access anymore
Claims based authentication, based on share point 14 and it’s ability to support thissecurity context model
The idea is not having to have vendors or customers as AD users, but instead a claims based context user
Share point uses secure open service, to take the claims based user Id, and share point keeps the context for the user for user UX
This is key for federated access and trust. Ie, cloud enablement for secure access to AX and cloud objects
Federated support for security is huge, because this means not just azure with live Id, but also google accounts or others.
This also helps with mobile access to secure access to data and business logic within AX, managed the same way
MSDYNAX 2012 wil leverage SharePoint Claims based security for non-AD users. Welcome ADFS, Live-ID, SAML tokens
Ax2012 security rocks! Improvements are impressive: role based security, external users and automatic role assignment!
**SETUPS AND SCOM MONITORING
Install of ax 2012 is easier than ever
Fewer steps and also scom pack highkighted for ax 2012
Scom pack will be huge for those that invest in systems center
Install, configure and operate areas of focus for this session and release
Install checklist not needed to run multiple times. Done once and then done! Decouples install and initialize
Scom pack has bp configuration check. Scom pack getting a lot of praise.
In ax 2012 biztalk adapter is gone. Now common adapter for ax to biztalk is wcf adapter
Ep and reporting separation in ax 09 development in VS is now one vs tools. Good move
Service packs and updates can be dropped in install share and thse update installed with single pass
Some very nice changes to actually help make setup and install easier. However there are new roles as well
Models folder is key to enable custom installs and that it’s installed as part of new install
Models, labels and updates folder make installs dynamic and simple.
Always publish and sign models as part of axmodel file creation
Management pack contains key concepts of discovery, monitor and task.
Current scom pack for 09 is limited to aos. AX 2012 has really expanded in scope, monitors and ability
Scom is key for enabling ax admin for a company. Big investment that companies should consider
**PERFORMANCE
Arch for performance: always start with the database. It’s the lowest level. Then aos, batch, connection between them
Rpc not only protocol anymore for web based or share point communication with aos. Now with services, WCF
This means you don’t have to go through the BC.Net and that removes a layer and therefore helps perf
Showing off VS TFS for performing this benchmark with AX 2012. Great to see this ability.
A lot of benchmark ability in AX 2012.
AX 2012 benchmarking is with the VS team system
AOS for the first time has large box awareness and can scale up! No longer just a scale out
True parallel and asynchronous processing with AX 2012
Table inheritance means taking one table and making it 8. This is part of the perf of AX 2012.
Hexcore and beyond support for cores In AX 2012.
Sys operations framework is the key that enabled more parallel processing. As dev you can make use of this as well
Data caching has been 100% reengineered.
Included columns as part of indexes as well as full text index. Along with true temp table usage!
Join caching, date effective caching, sysglobslconfiguration class… All great improvements in AX 2012.
Sysglobalobjectcache… And Xpp object we all need to learn about!
Unique index caching for joins. This means for unique records, cached and therefore cuts down on io round trips
Caching support for super type and subtype for across the board, and with even a legacy table.
Batch framework highlighted as how threaded processing works and will continue to work with improvements!
DMVs highlighted and shown with the IDMF for AX 2012! This continues as powerful tools for AX 2012 perf
WCF services highlighted once again as a great improvement in AX 2012 as a great perf improvement
AppFabric (velocity) mentioned during the session as session state store for services and EP.
Event trace parser for Microsoft Dynamics AX 2012 lives right out of the client, easy to get going and work with!
Making trace for AX 2012 easy to run and report on, is a key factor is having more people use it as a tool for perf.
OS can scale and tested on 32 cores! Again first time the scale up really for AOS
Performance gain for using CIL execution is around garbage collection. Test took 90k lines from 24h to 2h.
This case for performance, means that perf gains that are major gains will happen at the CIL. Deterministic GC
**MORPHX
Now switching to MorphX IDE. Showing off still the importance of Xpp as the core language for AX
Showing off multiple ISV solutions within the same layer. Based on model files that live in the db
Showed off fact that can add table in AOT and it showed up in VS2010
** EP
Single click process for taking a rich client form to make it a web protal page! Very powerful
Portal, rich client and office are truly a blurred UX and it looks the same across these products
**WORKFLOW
In AX2012, workflow is integrated in the AOS. No more messy installs
Great workflow development wizard in makes it much easier to develop new workflows
Tracking details show workflow events and show in the branched out way they took place
Common workflow UI controls. This is the top area of form within AX 2012 when workflows are enabled
Vision: every process should be modeled with a workflow
If your a customer, VAR or ISV this changes how you design an instance of AX and any vertical add on or what is custom
Should be as much as possible designed with workflows
Trying to limit the need of a developer for changing workflows. Developers still needed though
Workflow runtime integrated into AOS, which helps with lowered TCO and manageability of workflows.
New workflow development wizards to help kick off and create new workflows
Modeling the business process, documents actual workflow of process that at the same time “configures” the solution
Enjoying the wizards now provided with AX2012 to create and link AOT elements for workflow. Separate wizards for components.
Partners need to understand WF and it’s impacts on AX so the correct story can be presented to customers for correct use.
So for WF, companies when they upgrade will want to consider removing code approaches to replace with WF. Again big change
So WF in AX 2012, among other things means we have a lot to cover in the Dynamics Community!
Key focus is model “real life” business process in AX with new workflow
Finally they are showing off the workflow editor. This is the same as in VS2010
Showing multiple branching workflow that works out of the box
Showing off purchasing policy. Shows great flexibility but if not designed properly could become nightmare for customer
**POWERSHELL MANAGEMENT
Again, shows that PowerShell is a key part now for management of AX. Very powerful tool and one we all need to understand.
Using PowerShell, once could take and dynamically deploy the latest touched reports, based on modified date
Huge focus on PowerShell for report deployment, configuration and management among multiple instances
I’ve been talking to people about PowerShell for a while now. Well it’s a major part of AX 2012
Three ways to deploy, client, VS2010 or ax management shell, which is PowerShell with other things loaded
Standard tooling is based on PowerShell and PS cmdlets
Standard box, 10 mins to deploy 800 reports in AX 2012
**AIF
When upgrading from AX 2009 to 2012 for AIF service contracts have changed. There is some manual and reconfigure
Big schema change, and will be some rework based on this.
All excel import and exports for office addin happen through AIF.
Perf increase of 37 percent benchmarked for new AIF improvements
The AIF is fully built on services which will run on the AOS. All integration through WCF services. Standardizes integrations!
the improved AIF framework will hopefully open up AX for mobile platforms more than the previous clunky version.
Transformations truly enable any file format support based on the stream in and out for AIF.
I’m impressed with the level of efforts that have went into making AIF an easier story for setup and management
SQL server is actually being used to enable change tracking at the table level
Going through several demos, a lot of work to make AIF configuration a lot easier. Very good to see.
Claims based auth. Support again highlighted. AIF
No more 10 mb file limit! AIF
Integration ports are tied to service groups. Sharing of common WSDL helps with complex int needs
New system services: query service, metadata service and user session service. AIF
These new system services expose AX in a new one. Openning up a brand new world!
Another highlighted aspect is support for non-XML formats.
80 percent reduction in top level AIF concepts! Less complexity!
90+ out of the box document services that come with AX 2012.
Bulk import support! Opens door for using this in massive data loads!
**DATAUPGRADE
Preprocessing data upgrade before the ACTUAL upgrade to minimize down time
AX2012 will be shipped with a new and enhanced upgrade model
**SSRS REPORTS
SSRS reports node is the new location of report elements. No longer held in the reportlibs node of the AOT
**EXCEL INTEGRATION
AX data changes while using Excel to edit, optimistic concurrency is used. Data cannot be published. No merging logic in place.
Allowing the users to create data in Excel and publish it when complete will be a big talking point in getting data into AX.
Two types of AX exports to Excel: static (like in a 2009) and refreshable export (active connection to AX). Excel junkies rejoice
DAX ribbon in Excel, publish data. Go back in AX and it’s all there and secured.
Security roles mean can take the budget template in excel and the person gets their data vs. The data used to create temp.
Excel budte demo enabled through services to AX. SOA once again.
So word, excel and SSRS to create mashups for information workers is very powerful
**EP
EP for AX is making use of share point 14 claims based security context. Look that up. It’s the core enablement for this!
I really like the design mode in Word for reporting data from AX. The simple dragging and dropping of the fields is very intuitive
**SUPPORTABILITY/BACKWARD COMPATIBILITY
AX 2012 client will not work on XP. XP is not supported with this release
AX 2012 security will be MUCH easier to test since rec security policies are set in AOT and now no need to refresh client code base
**AOS
There is an attach process that you start from the VS side. Attach to client or server, set break point. Remote debugging for AOS.
Does not recommend cross debugging at all
Two options, either AOS, client and VS on dev box for attaching with VS. Or remote debugging
AOS in process hosting of WCF services. Good move for manageability and lower TCO across many areas with this.
Net.TCP is default adapter used when services hosted within AOS.
**BATCH AND DEBUGGING
Assembly hot swapping must be enabled in the configuration, for full debugging.
Assembly hot swapping helps fix issue of session locking on assemblies
App domains are enabled with the hot swapping. Once session is destroyed, new dll applied for new sessions
Hot swapping will be a big need for companies that don’t have an AOS per developer. A lot of companies don’t
Hot swapping assemblies does come at a foot print and context price
Hot swapping helps with addressing assembly change, and not making a call to restart the AOS
Xpp still becomes Pcode, then is translated into XML with Pcode in tact. That is sent to the IL to generated the managed code.
Reflector from .net highlighted to take a look at the IL code. Cool insight from Xpp down to IL
Batch debugging is made possible in AX 2012 because of it’s execution vis CIL. Attached process
Breakpoint is placed on the proxy object inside VS2010 for the Xpp code.
Since remote debugging is needed, must have admin rights on the server to make this happen
Debugging in batch, with the new approach is a big improvement for sure! Makes using batch an easier choice
No sharing of breakpoints between VS2010 and the legacy Xpp debugger
When thinking compiles, you have CIL incremental and then CIL full compile
Xpp code can have errors and compile others. Were as the CIL compile, incremental, is not so forgiving
Good session. Abilities exist to debug the new proxies, batch and server based code
Now showcasing the fact that because CIL is used, all kinds of new benefits, like profiling in VS2010,
**WCF
WCF is the standardize story for new AIF arch within AX 2012.
WCF message routing for external needs. Still needs IIS for external service support
AOS in process hosting of WCF services. Good move for manageability and lower TCO across many areas with this.
Single WSDL among services groups. Means can share data contracts among common services
WCF was used in AX 2009 however some pains. These issues are being addressed
Can’t wait to get the slide decks from these sessions. Will be ready for us in two weks
Msft is addressing the AIF manageability pains including promotion from one instance to another.
Keys: standardized, powerful and simplified. For AIF in AX 2012
Ax power shell cmdlets introduced to manage deployments
VS2010 also always no break on exception option which has not existed before for Xpp based code. Done via CIL
**MISC
Big improvements on how easy it is to service enable logic for integration work in AX 2012.
Visio and VS2010 integration for SDK tool, which not sure if that name will stay the same or not
Threadabortexcpetion is actually gone in AX2012! great!
Scripting control, multiple server management, remote deployment, threadwbortexception, and more all addressed now
Tech is great, but tech is not what AX is trying to address. AX is meant to address business domain issues
The focus is being declaritive vs. Code or rules. A theme found throughout this release of AX
SSMS and db level setup must take place as a one time DB level for change tracking to enable document tracking
To conclude, I can say the next version of AX is ready to take on the other big ERP stalwarts in the market. Good work Microsoft and a huge effort by Devs and PMs in Microsoft shaping up the next big release of Dynamics AX!

Sunday, March 27, 2011


Welcome to my blog,