I was asked by MSDynamicsWorld.com to write a small piece about NAV2009. Not easy to do, because as MVP and as Partner (iFacto Business Solutions in Belgium), I'm quite bound to the NDA agreement with Microsoft. Therefore, I decided to base my story on the things I've seen on conventions (like Convergence ) and things I could find online. In the meantime they posted the article in two parts. You can find them here ... Or ... You can read it below .
Here we go.
When we're talking about Microsoft Dynamics NAV 2009, we're talking mainly about a completely new User Experience. But it's not only that. There is also a new architecture, and other new technical features, like web services. A lot to talk about, so let's try to cover this as interesting as possible.
The Role Tailored User Experience
So what can we expect from this concept. This is how Kim Ibfelt describes it: "The Role Tailored User Experience in Microsoft Dynamics NAV 2009 is not just a fancy new menu structure or a cool new UI with some bells and whistles. With Role Tailored User Experience the user gets the data and functionality they require, exactly where they need it and when they need it. Role Tailored User Experience is saturated throughout the solution and it implements all the findings on the individual and unique needs and requirements of the different user roles of Microsoft's Customer Model that is based on comprehensive user studies.".
In my understanding, it's a whole new concept then like we are used to today. Everything on User Interface Level, on User Experience level is "Role Based". We're talking mainly about the Role Centers here. When a user logs in, the Role Center is its "home page", the first page he sees. On this page, there is everything, or at least the most important things, he needs for his daily job. For an accountant, this can be the outstanding payments, while for an order processer, this can be the outstanding orders. For a Sales Manager, this can be a collection of only some KPI's, graphs and a top 10 sales of the last weeks. You see? The application seems to be "tailored" for his specific "role" in the company.
Microsoft Dynamics NAV used to run in a 2 tiered mode. A client that connects to the database server. This is not the case anymore with the Microsoft Dynamics NAV 2009 Role Tailored client. Microsoft added a new level, namely the Service Tier (based on Windows Communication Foundation). This will be the middle tier that will execute the business logic. So, this means we'll have the (new) Dynamics Client (level 1), which connects to the service tier that executes the business logic (level 2). If the business logic needs data, it goes to the database server (level 3). You can see that this can have quite some scaling possibilities - may be not this release, but there is defenitely room for it. The business logic on the service tier will be managed C# code, which means that when you compile a codeunit in C/SIDE, it automatically creates some kind of managed C# module on the middle tier.
The first level (the dynamics client) is brand new as well. This client is much "thinner" then the C/SIDE client (because of the fact that the business logic is now executed in the middle tier) and is based on Metadata. This is new as well, and very important to understand. In the C/SIDE client, we had forms to present our data. In the new Dynamics Client, we have pages, which are going to create an XML of the data which it has to display (this is the metadata). The "thinner" client receives that metadata and represents it in a predefined way. This way of working will bring other possibilities. When the middle tier is already "producing" this kind of metadata to a dedicated client, it's not difficult to imagine that this is also possible to send to sharepoint. Therefore, in one of the next releases, we can expect a very flexible Microsoft Dynamics NAV Sharepoint Client as well, or a mobile phone/PDA, or... .
In my opinion, working with metadata has also some open questions. Determing the layout of a form (or page for this matter) has become less flexible. Therefore, working with colors, multiple subforms, matrix forms and a bunch of other things, will become quite challenging. Luckily, if you become a little bit familiar with it, there are great alternatives available.
Other New Feature: Web Services
Imagine you could publish any codeunit that you have ever written as a webservice by just enabling one checkbox. Yes, it's going to be as easy as that! Posting routines, calculations, ... all Dynamics NAV business logic will be available on the web by just one button click. Personally, I'm most excited about this feature, because of our own integration products.
And it will not be limited by just codeunits. We will also be able to publish pages. This sounds odd, but actually it's brilliant. It will foresee a predefined set of functions that you can use on a certain table. So if you publish the Customer Page, you will be able to view, filter, alter, ... (and much more) the data in the customer table.
Just imagine what integration possibilities this is going to offer. Communication with mobile devices, third party applications, web sites, ... . And all of his over the net ... . The sky is the limit.
So, what about the Developer Experience
At Directions EMEA 2008 in Paris, I followed a pretty interesting session about this. It showed clearly that Microsoft is doing its best to "keep things as simple as possible". Basically, there is not that much going to change for the developer (Basically!):
But a new architecture brings some new things in the development environment as well:
The reporting side has changed quite much. We will still put the data on the report like we do today in the report designer, but the layout will be done in a report designer outside NAV (Visual Studio). That's something the developers will have to get the hang of.
It speaks for itself that the new Webservices-feature will have a big impact on the development experience as well. Integration will be done in a whole different way, creating many new opportunities.
Last thing: The database. Microsoft Dynamics NAV 2009 Role Tailored Client will only run on SQL Server, not on the native database. For me, that's OK. It makes no sense to write one codebase and support two database. It's better to support one database, and do it right. On SQL Level, we can expect lots of improvements. The most important ones have not waited for the release of NAV2009 and have been released in 5.0 SP1.
I got my own product in NAV, how do I upgrade it?
Sincs the beginning of last year, Microsoft has organised the "Microsoft Dynamics NAV ISV Beta Access Program". This is a program where many partners get early information, trainings and access to Technical Previews to make sure they are well trained and ready with their product when NAV 2009 comes out.
How big your investement is going to be, depends on how you built your current solution. Microsoft has put a lot of work to provide the necessary tools to be able to do it as quick and easy as possible. If you have respected the NAV development standards, the conversion tools will help you a lot. If you didn't, it might involve quite some work.
Also, there are already whitepapers available in how you can prepare your solution to be able to do a smooth upgrade to Microsoft Dynamics NAV 2009.
In this Beta Access Program, I learned that many partners are already quite far with upgrading their products (some are even finished).
Microsoft Dynamics NAV 2009 is an exciting new product that is coming out quite soon now (nothing official yet. Some say Q4 CY2008, others say H2 2008, and other others say "later this year"). There is a lot to look forward to, but also some things to look out for, so my advice is to get yourself well-informed. For partners this is already very possible with the CTP (Technical Preview) that is available on partnersource. By the end of September 2008, there will be a new VPC available to be able to finally show this to customers and prospects.