Dynamics AX
  RSS Feed  LinkedIn  Twitter
Want to turn you're data into a true asset? Ready to break free from the report factory?
Ready to gain true insights that are action focused for truly data informed decisions?
Want to do all of this across mutliple companies, instances of Dynamics and your other investments?
Hillstar Business Intelligence is the answer then! (www.HillstarBI.com)

Hillstar Business Intelligence for Microsoft Dynamics AX and NAV on Mobile, Desktop, Tablet

Let us prove to you how we can take the complexity out of the schema and truly enable users to answer the needed questions to run your business! Visit Hillstar Business Solutions at: www.HillstarBI.com

Friday, February 26, 2010

Sunrise Virtual Office holds a treasure box of example videos

Recently, I posted about the release of the Sunrise Technologies (www.sunriseconsult.com) new Virtual Office featuring Microsoft Dynamics AX. That post can be found here.: Sunrise Releases new Virtual Office.

Since then I also highlighted the Sunrise Microsoft Dynamics AX customer evidence video featuring Selecta Corp., which can be found here.: Sunrise Virtual Office Highlight - Customer evidence story – Selecta Corp.

Now I wanted to take the time and point out another highlight in the Sunrise Virtual Office. If you are looking for more functional demonstrations of Microsoft Dynamics AX, you will find a wealth of information here. Visit the office conference room and click on the laptop on the conference room table.

There you will find many different types of demonstrations. From explaining the user friendly features of Microsoft Dynamics AX to taking you on a step-by-step guided tour for setting up module parameters, functional concepts, etc.

The Sunrise Virtual Office was designed to be a one-stop-shop for people interested in Microsoft Dynamics AX. If you can’t find the information you need, you can always chat live with someone from Sunrise who will be happy to help.

I encourage you to go out to the Virtual Office, by going to www.sunrise-ax.com and take a look around. Meet Sunrise, watch demos, and learn how Microsoft Dynamics AX might be a great fit for your company.

That's all for now, till next time!

"Visit the Dynamics AX Community Page today!"

Labels: , , , , , ,

Thursday, February 25, 2010

X++ Team: Removal of legacy functions

This past Tuesday, the X++ team blog has a new entry on it. There they list legacy functions that are slated to be removed with AX 6.0 and going forward. It is stated they wish to not continue these into the new IL runtime stack.

The blog post can be found here.: X++ Team Blog: Removal of legacy functions

The team is asking for comments, concerns, etc. in this list of functions that will be removed. If you have any, please go to the post and leaves comments.

If the list is left in tack, then these will be removed and any AX 6.0 or beyond code that tries to implement these functions will fail to compile.

I also think that is helps firm the fact, that the IL runtime stack is mentioned. This is the MSIL, or what the CLR, Common Langauge Runtime, compiles C#, VB.Net, etc. code to. So this is one more confirming statement that the C code that AX's current kernel is compiled in, is moving to MSIL.

That's all for now, thanks X++ team for the post!

"Visit the Dynamics AX Community Page today!"

Labels: , , , , , ,

SQL Server Modeling - Book - June 10 2010 Release date

I wanted to do a quick post, and point out that recently a new book has been placed on Amazon for pre-order. This is the 'Beginning SQL Server Modeling: Model-Driven Application Development in SQL Server 2008 (Paperback)' book.

The author of this book is Bart Weller

His listed Bio is.:
Bart Weller is software developer and consultant specializing in object-oriented development. Over the years he has worked on a system simulation of a satellite command & control system, a laser remote sensing system for atmospheric pollutants, and scientific instrumentation systems for NASA's Apollo Skylab. Enterprise business applications he has worked on include an on-line commodities trading system, several enterprise insurance applications, and a telecommunications network. He occasionally works part-time at a small college, and has rebuilt a Jeep engine -- twice. He lives in western Colorado with his wife, dog Duffey (named in honor of the late John Duffey, former lead tenor and mandolin player with the Seldom Scene), two country cats, and eight feral llamas. He is a volunteer DJ at the local community radio station, and his hobbies are clearing deadfall and fixing things. Among the people he admires are Einstein, Lincoln, Alan Kay, Patch Adams, and J.J. Cale.

I have placed a pre-order for this book myself, and it goes along with the post I did yesterday on SQL Server Modeling, previously known as "Oslo".

This book will focus on the core technology itself, using it to create custom applications, DSL's, use of M, etc. Understanding this core, I believe, is an investment in the future of Dynamics AX itself. of course, time will tell if I am right or not.

Check back soon, more to come!

"Visit the Dynamics AX Community Page today!"

Labels: , , , , ,

Wednesday, February 24, 2010

SQL Server Modeling - Formely Code name "Oslo"

Way back when, specifically about a year ago this month, I did a write up on Microsoft Project, code named "Oslo". A direct link to that post can be found here.:
Dynamics AX, SOA and Oslo on the mind...

From that post.:
"in the not to distant future Oslo (along with "Dublin") will be released from Microsoft as live products platforms / services, and they are already in the line up for Microsoft Dynamics AX roadmap.

The reason they are is that Oslo, Dublin and Dynamics AX with the help of SOA will become platforms that work together with the rest of the Microsoft stack, like office, to help deliver to business that make use of the Dynamics AX business platform, create and manage business workflows."

I went on to type.:
"Big deal huh? I mean this is already happenning right with the release of Dynamics AX 2009 and it's use of the .Net 3.5 workflow engine right? Technically the answer is yes. But... (and you knew there was a but) there is a lot of code that goes into these workflows, the designer is a tree down designer, and the flow of these workflows are not very flexible.

Enter WF in .Net 4.0. This will come into play, along with Visio like diagram ability to offer partners and customers to create workflows with greater ease soon, that are more flexible and less code."

Lets continue a little further.:
"A little later, enter Dublin + Oslo (along with the letter "M" [more in a bit about M.]) with WF 4.0 (and beyond) and you have the *desired* goal of creating business process workflows that are managed and created by users, with complex flows and use of logic, with 80%-90% estimated less code than currently exists with workflows in Dynamics AX 2009 and .Net 3.5."

Alright, now lets step back into the present. So a year ago, I was talking about Oslo, M, .Net 4.0 working together with Dynamics AX of the future, for doing basically Model Driven Development / Programming.

As defined by Microsoft's, SQL Server Modeling - Terminology page:

A software design approach that offers the same benefits of data-driven programming, but is generally a richer approach because it works not just from data values, but from model instances. Just as the term model implies more deliberate design than arbitrary data structures do, model-driven programming implies a more conscious use of models over mere data. In this usage, there is a strong implication that models are designed to be shared data structures, and do not result simply to provide an implementation.

So "Oslo" was turned into SQL Server Modeling in Nov. of this past year. Since then all the MSDN pages for Oslo now reference SQL Server Modeling. This is Microsoft's step into true Model Driven Application Design.

We have actually seen some of these basic principals applied with the MVC approach for ASP.Net and general .Net development. Which is: Model-View-Control. Well SQL Server Modeling, along with the technologies that help enable it, like the M language, will be a set of technologies and services that offer the ability for customers and partners to create Applications, Services and software through Model Driven Architectures, and programming.

This is a different way of thinking, than what most OO developers are use to. However, unlike a lot of people I have heard complain about MDA, or Model Driven Architecture. OO abilities, code, and principals can still be used when describing objects. Still the approach for how often, and when used changes when we basically take a step higher. Meaning we allow the code to be more generic and generated at runtime. Less compiling, less deploying, more flexibility, without having to code to gain it.

We have seen steps in this direction, and MDA is nothing new. However how it will be achieved with Microsoft SQL Server Modeling will be for Microsoft Customers, Partners and technologist alike.

So is this important for Dynamics AX? Now that's the question. Recently I had my 500th post, and in that I listed some of the upcoming technical based changes that are coming to Dynamics AX. That post can be found here.: Dynamics AX 6.0 (2011) and 500th Post!

In this post I talked about workflows, and functional consultants having the ability to create processes and process workflows without much code needed or developer help. How do you think this will be achieved?

My educated guess, is that SQL Server Modeling will be a base technology, along with .Net 4.0 Workflow Engine, .Net 4.0, the .Net SQL Server Modeling Class Libraries, etc. Now a full own use of SQL Server Modeling within Dynamics AX might not exist in the next release, but it for sure will be in Dynamics AX 7.0. However 6.0 will have something of these technologies to enable what I was talking about.

So the idea, is going to be that Dynamics AX Processes can be mapped, and modeled by business analysts, functional consultants. Cutting down on development by an estimate (last years blog post) 80-90% in some aspects.

This will offer ease of upgrading, and allow greater flexibility for a customer for his Dynamic business to be enabled and his Dynamics AX ERP will be flexible and dynamic enough to match his on-going business needs.

So for the cool technical stuff. Even if your not a Dynamics AX, or Dynamics Line ERP technical person. Knowing SQL Server Modeling, for custom, enterprise, ISV software development will be a key technology. That means you need to learn "M", and things like having the ability to create a Domain Specific Langauge (DSL).

I talked about this last year, and it's impact on Dynamics AX. Now here it is, and I am willing to bet we will hear about this at Convergence.

I will leave you with the following MSDN links, on SQL Server Modeling. I hope I have you thinking about this, and seeing how this can be used with Dynamics AX, and most likely will be.

Look for more coverage in the very near future on SQL Server Modeling, and check back soon!

"Visit the Dynamics AX Community Page today!"

Labels: , , , , , , , , , , ,

Quick Post: Catching ClrErrors in X++

I wanted to do a quick post actually with some X++ code. I know this exists already on the web somewhere, but it's always handy code when working with .Net Assemblies, WCF Services, etc.

So the following is a great way to catch and see what all is going on with any .Net error being thrown.:

System.Execption ex;
str ClrErrCatch;


// Do some code work here...

catch (Exception::ClrError)

ex = ClrInterop::getLastException();

if (ex != null)
ClrErrCatch = ex.get_Message();
ClrErrCatch += ex.get_StackTrace();
ex = ex.get_InnerException();
if (ex != null)
ClrErrCatch += ex.ToString();



Now the above assumes your making correct use of CAS, or Code Access Security, with an InterOpPermission.Assert() going on.

The point with this post is to give a good template for working with Clr errors. This includes anytime you reference any of the System.* .Net Assemblies, your own custom .Net assemblies, and also Service references of any type, be that Web or WCF.

Check back soon, as more good post are coming on. Also this can be included in our WCF series of post going on as well.

"Visit the Dynamics AX Community Page today!"

Labels: , , , , , , , ,

Tuesday, February 23, 2010

Decisions 2010 - A MSDW hosted Virtual Conference for Microsoft Dynamics

Today MSDynamicsWorld.com launched the new Decisions 2010 virtaul conference web site. With that they have set the date for their second Decision, Microsoft Dynamics focused virtaul conference.

A direct link to the Decision 2010 site can be found here.: Decisions 2010: Facing Real World Challenges with Microsoft Dynamics

As part of this launch I did an interview with Jason Gumpert, MSDynamicsWorld.com Managing Editor and site manager.

The following is that interview.:

MSDynamicsWorld.com has just openned registration for Decisions 2010, the Dynamics-focused virtual conference. This is the second year MSDW is hosting such a conference. Before we get into the details of Decisions 2010, lets reflect a little bit about Decisions 2009.

1.) How successful, from MSDW's perspective, was Decisions 2009? What messaures do you base that success on?

"We were very happy with the outcome of Decisions 2009 last October. We've studied the event from a variety of angles and we think all of them were successful to some degree. We had about 2500 registered attendees, which we think was great for a first event, especially since it only included AX and NAV topics. Our sponsors received an average of over 210 booth visits each, which they were happy about, and our attendees told us afterwards through surveys that they found the virtual environment easy to navigate for attending sessions, getting product information at booths, and networking. And of course the speakers did a great job.

Everyone from the keynote speakers like Altimeter Group partner Ray Wang to Aberdeen Group's Cindy Jutras to a variety of Microsoft product managers to some outstanding AX and NAV experts like Scott Hamilton, Vjekoslav Babic, and many others. It was really a great set of presenters and presentations.

And for most people involved, including us, this was the first experience with a virtual conference. We felt confident in the virtual experience, but it was still a bit of a risk for us to do a new event on a new platform. But we knew there were significant benefits in terms of convenience, cost, and flexibility, and we were glad to see that it worked out so well."

2.) What lessons were learned with Decisions 2009, and how will they help with Decisions 2010?

"There are quite a few things we are refining for Decisions 2010, but the core of the event will be quite similar. One thing we observed was that in the virtual environment, attendees still want ways to connect with each other and talk about Dynamics topics that matter to them. So there was lots of activity in the networking lounge, but there was only one chat area for everyone to share.

We'll be looking at various ways to improve the networking experience this time with targeted chat rooms, moderated chat sessions, and maybe some other things. Another thing we learned was that people want plenty of free time to network and visit the exhibit hall. So we are building in much more time between sessions while still packing in as much great content as we can. And finally, we felt that branding the 2009 event as two events - AX and NAV - was a little cumbersome.

So Decisions 2010 is a single unified event with carefully organized content to make it easy for attendees to find the sessions, exhibitors, and networking opportunities that will be right for them."

3.) How successful was Decisions 2009 for Partners and Customers? What messaures is this success based on, and can you give some success story examples?

"Based on our surveys after the show, the event was extremely positive for Partners and Customers. The responses were pretty similar for both groups. Over 90% described the event as easy to navigate - in fact only about 5% of these groups thought it was difficult. And about 95% of each of these groups said they were able to find product information from exhibitors either 'very easily' or 'somewhat easily'.

As for success stories, the stories that caught our attention were booth visitors who really took an interest in the exhibitor's products. We know that several attendees set up serious sales meetings with exhibitors during the early hours of the show.

The other big win we thought was showing people that a virtual event can work when executed correctly. Most people had previously never attended a virtual conference or attended one that was lacking in fundamental ways. Many people told us how good their experience was in the virtual environment, and that gives us much more confidence for running virtual events in the future."

4.) What was the biggest viewed speaker session, and why do you think that was viewed the most?

"It was essentially a tie between the various Microsoft speakers and R "Ray" Wang for the most session attendees. People are always hungry for more product information from Microsoft, so there were lots of questions from the audience and those presentations took up a good portion of the program. And Ray is a well-respected name in enterprise software, so his perspective always gets a lot of attention and we were grateful to have him participate."

Now with this knowledge about Decisions 2009, lets move forward and talk about the upcoming Decisions 2010.

1.) What prompted MSDW to hold the Decisions 2010 after Convergence, but so close to the timing of Convergence?

"Timing of conferences is always a tricky decision, but in this case we felt that an independent event after Convergence that didn't require travel or registration fees would be a great venue for anyone with a point of view on the Dynamics product line to attend sessions, talk about the products, and discuss the real world challenges that they face in their day-to-day work. There will no doubt be a lot to learn at Convergence 2010 in Atlanta, and we expect attendees and presenters alike to come to Decisions 2010 with plenty to discuss. "

2.) What will be new this Decisions 2010?

"First, we are expanding the event to include GP and CRM. Second, we are really expanding the particpation of Dynamics experts outside of Microsoft. Like I was saying earlier, Convergence 2010 will allow Microsoft to share its latest and greatest stuff with the entire Dynamics ecosystem, and this is something that everyone looks forward to. So we think there is a great opportunity for the rest of that ecosystem to put their voices out there and talk about what they know or want to learn about after Convergence."

3.) What topics do you feel will matter the most to customers during this upcoming virtual conference?

"Overall, we think customers want to make the best possible informed decisions for managing their Dynamics solution in this challenging economic environment. The decision to upgrade, customize, expand, or even just maintain the status quo with their ERP or CRM solution is never taken lightly. And there are so many unique needs for each customer like their industry, or the features they use, or the add-ons they deploy, that there are literally endless possible topics that at least some group would find interesting.

So we have selected a wide variety of compelling topics for sessions across 5 tracks - AX, CRM, GP, NAV, and an Executive track - that will cover things like specific features and components, industry needs, deployment, adoption, working with service providers, and more."

4.) Do you expect more partners and customers at 2010 vs. 2009?

"We do expect more partners and customers at Decisions 2010. We've expanded the event to include CRM and GP, and we have a very loyal readership for both of those topics on MSDynamicsWorld.com, so we hope they sign up and see what it's all about.

And based on what attendees told us after Decisions 2009, the vast majority were willing to attend another virtual conference since it's so convenient and cost-effective. So we hope to see a lot of return attendees."

"Decisions 2010 is really an extension of the interest and engagement we try to foster in our readership at MSDynamicsWorld.com every day. Our columnists and readers are the people who made Decisions 2009 successful, and we hope that will carry through to Decisions 2010 as well. In talking to attendees, sponsors, and speakers for the last event, we heard great feedback and we are excited to plan an even better event this time that will give attendees a more targeted, tailored experience."

I would like to thank Jason and the rest of the MSDynamicsWorld.com staff for taking the time to share with us more details about Decisions 2009 and Decisions 2010 virtual conferences. I myself will be attending this conference, as well as Sunrise Technologies, Inc. (www.SunriseConsult.com) being a sponsor for the Decisions 2010. I encourage you to check this event out, as it's free and you can pop in and out as you please!

Jason's bio can be seen below.:

Jason Gumpert is MSDynamicsWorld.com's Managing Editor and site manager. Jason's background includes 10 years of IT consulting and software engineering for enterprise applications, as well as writing and copy editing. Prior to joining MSDynamicsWorld.com, he was a principal consultant at PTC and he has held positions at CSC Consulting and Monitor Group.

That's all for now, but check back soon!

"Visit the Dynamics AX Community Page today!"

Labels: , , , , , , , , , ,

Monday, February 22, 2010

A Bernie Madoff For the Tech Industry

Ok, so my blog focuses on Microsoft Dynamics AX. This means at times, the focus spans into different area's of Microsoft. This includes, SQL Server, .Net, SharePoint, etc.

At times though it must include different business elements. Today it includes a story that is unfolding in the tech industry that could be considered a Bernie Madoff level hoax and scam?

Why is this? Well it does not involve massive amounts of money, though a dollar amount could be traced to the years of lies that have been pushed on people. But it does involve massive amounts of data. Performance data. What's at the heart of this? Devil Mountain Software! Who is that? Randall C. Kennedy!

This name, and the company will go down in history as false, hoax, scam, scamware, etc. There is an amazing report done by the ZDNet staff, direct link can be found here.: Why we don't trust Devil Mountain Software (and neither should you)

From the post.:
"Devil Mountain Software has been a thorn in the side of Microsoft for years and is adept at garnering headlines. The latest effort is a report claiming that 86 percent of Windows 7 PCs were gobbling up too much memory. Can you trust these findings and the company overall? The short answer: No. Here’s why... ...Buckle in, because this tale goes from zero to X-files in minutes!"

This reads like a fiction story, but it's reality. And any company, or anyone that has the XPNet software installed should be warned now! Remove the scamware! It's a information mining operation, used to disinform, and create scareware for the benefit of one person.: Randall C. Kennedy

I would like to thank the ZDNet staff for an amazing job in getting the truth out!

So why post here? Because it matters. The truth matters, and ignorance is always the enemy. It also matters because Mr. Ranadall C. Kennedy has for years attacked Microsoft, with made up information that suites his writing needs.

I recommend you make yourself aware of the software, the name, and the company. All three should be black listed. They are for me!

That's all for now, I have some really good posts in the works, including continuing down the WCF path with Dynamics AX.

"Visit the Dynamics AX Community Page today!"

Labels: , , , , , ,

Wednesday, February 17, 2010

Dynamics AX and WCF Service - Part II

Ok, so recently I wrote the following blog entry.: Dynamics AX 2009 - Service Reference to Custom WCF Service

In that post, I showed a custom Foo WCF Service, some ServiceContracts, OperationContracts and DataContracts. I also talked about how to reference this in Dynamics AX, make use of the objects, including how to make use of .Net List.

Now if we look at the Xpp Code, that I took a screen shot of, we can start our next post.:

So if you took exactly what I did and tried to implement it, you would get an error message inside Dynamics AX. A ClrError, stating the ClrObject could not be created.

The reason why is that the above screen shot, the code is executed where ran, which is typically the client.

Any Service Reference Xpp code, that calls a service reference at all, must be done at the Server Tier. This is actually well covered in a lot of different blog post, and something that most anyone that has done this kind of integration has ran into.

So this actually starts us into the next real section that I wanted to cover when working with WCF Services that one might create and want to work with from within a Dynamics AX implementation.

There are actually several different gotchas and points of interest someone would want to look for. So the following is an attempt to list those, and try to help out anyone going this route.

So one thing to note, is during the development of your custom WCF service or services, you will most likely be changing that code a good bit. It's always a good thing to create a console or windows form test project to make sure what your sending into the WCF is working and that the WCF code you wrote is working as expected.

The wonderful thing about such an approach you can catch unhandled exceptions during debug mode, where in Xpp this is not possible. You get a general message about the ExeceptionDetails is not serializable.

Now moving forward another note on developing WCF Services. Let say you have a good start, you make your reference in Dynamics AX, and start coding Xpp code. Then you realize another WCF OperationContract would be great. Go ahead and add that WCF OperationContract and make sure the Interface the Service makes use of, is updated correctly.

Then Go to the Service refernec in AX, right click, select regenerate, get the error messages, close the client, restart the AOS, and then restart the client. The new method should show up.

Only during this process, with the regenerate and restart of the AOS, does your WCF service change reflect in Dynamcis AX for use.

I will leave you here. There is actually some more points in this area. Also keep in mind with all these little gotchas, the flexbility offered with WCF Services is well worth the effort.

I plan on moving forward with more things to watch out for, and also why choose WCF Services over standard Web Services.

Thanks for reading, and check back soon!

"Visit the Dynamics AX Community Page today!"

Labels: , , , , , , , , ,

Tuesday, February 16, 2010

Blog spotlight: Dynamics AX Tools - AX Application Explorer in Visual Studio

Well, as sure as I posted the link to the new Blog, it was updated! The folks behind the Microsoft Dynamics AX Tools blog, has posted an update, and everyone it going to love this.:

AX Application Explorer in Visual Studio

From the post.:
The AX Application Explorer, displays the AOT inside of Visual Studio. Think of it as Server Explorer meets AOT. It surfaces the essential AX Application elements for the purpose of easy integration with Visual Studio capabilities.

Wow! This is a great first post, that really has my wheels spining. I wonder how this will interact with such a solution that is being developed as AX.NET?

More soon is promised... can't wait to see what!

"Visit the Dynamics AX Community Page today!"

Labels: , , , , ,

Blogspot: Microsoft Dynamics AX Tools

Well hope everyone is doing good today! I wanted to take the time and do a blog spotlight, on a new Microsoft team blog that was created last week.

The blog is.: Microsoft Dynamics AX Tools - Blog.

From the first post.:
"This is a blog covering all information about Microsoft Dynamics AX Tools. This involves all aspects of tooling, from developer tools, to configuration and implementation tools. In general, tools that enable AX implementors to plan, configure, customize and deploy AX solutions."

So another great place to look for new information, specifically for those that install, configure, customize and develop for Dynamics AX. Which is just most ever technical person involved with AX!

There is a second blog post, that is promising some good content soon, so check it often. I will make sure and highlight anything that I can!

I would like to say thanks to those behind the Microsoft Dynamics AX Tools blog, and good luck! The more good, valuable information that can exist the better!

That's all for now. I will continue with what I started yesterday, on WCF services, and Dynamics AX. Moving from a basic concept, to issues you face, to reall Architecture look at solutions with WCF, and WCF Services vs. Web Services.

"Visit the Dynamics AX Community Page today!"

Labels: , , , , , , , ,

Monday, February 15, 2010

Dynamics AX 2009 - Service Reference to Custom WCF Service

Alright, so making use of Service References in Dynamics AX 2009 has been out for a little while. In the past I have done post talking about white papers, and how-to's. Talking about the design of such services.

Well I wanted to take a little time and spend a little bit with creating custom WCF services, and then consuming those services within Dynamics AX.

This is not the first such tutorial on the web. There was some earlier one's done when Dynamics AX 2009 first came out. What I want to address however is details for creating a simple service, in general terms. Talk about the different aspects of these general concepts. Then in later post move through wht WCF services, over other options, and also common issues found when scaling services, promoting to other instances like production, etc.

So first lets look at a custom WCF Service. The following is such a service.

1.) A DataContract.:

2.) A ServiceContract, Defined in an Interface

3.) The underlying class that implements the given ServiceContract Interface and it's underlying OperationContract's


So the above show's a TestBed namespace, that includes a Class with an interface. That interface is what defines the ServiceContract and underlying OperationContracts. These are used to define what endpoints exists for consumption by a WCF client.

The DataContract, FooData, is used to define a complex (though simple example) user defined type, with properties that exist to describe what a FooData object is.

Once these are defined, I recommend actually first testing by consuming in .Net. Maybe through a Console app or .Net Windows Form. This will help to get rid of any security issues that might exists for IIS, etc.

Once this is tested, now we can move forward with consuming this within Dynamics AX.
Simply create a new project, add a new group for references, right click, add new Service reference, point to the URL where the FooSvc.svc is being hosted, and AX will create a client, used by the AOS to interact and consume this WCF custom service.

Once that is done, then you can do something similar to the following X++ code, that calls, interact, and works with the WCF Service, Operations and DataContract.:

Now lets disect some of this, and look into the details. So before this WCF Service could be consumed, it had to be created, and then published to a place where AX could consume it.

Since the idea it to talk in general terms, the Foo code concept was used, in order to be general.

So this Foo based C# .Net 3.5 code example shows a simple example of a Foo Class, that has an interface. It's important to understand that this is very similar to typical interfaces for classes. It governs how outside clients, consumers and code can interact with the class and create instances of it.

What different about this interface is the meta tag information, used by the WCF hosting .Net code to define what the given interface, and methods are. That is a ServiceContract, and OperationContract's. Or what's also know as endpoints.

These endpoints, are what AX consumes and works with. As you can see in the X++ code, .GetFooDataList(5); and .GetFooString(fooData);.

The actual code that does operate on the calls, and parameters variables sent in, lives in the public class Foo : IFoo {...}. The IFoo is familiar to anyone that has worked with C# code before.

Now to generate this interface, and class approach, simply add a new WCF Service and the wizard creates a shell for you.

Lets move forward, a look at the DataContract. Now this is different than what we have seen before in working with straight .Net Code, and .Net code through Dynamics AX, X++.

This is used to define a complex custom type, that can be passed between the WCF service code, and a consuming client. This includes Dynamics AX.

Now note, that the DataContract, FooData, is made up of simple data types, for it's DataMembers. However with this defined, and once a service reference is made from within AX, then the give FooData DataContract class, can now be passed back and forth between Dynamics AX X++ and C#.

You can see in the X++ example, that once I get the FooData based List, that I can call a method from WCF C# service, and send it a .Net object defined in that service as FooData. This can be filled with information, passed in and then operated on within the WCF service. The return, note is a simple return.

Let's also take a step back here, and look at how I get my FooData object. I am working with what appears to be an Array of FooData[]. And what I am working with is actually a List. You can see the return type for .GetDataList(5); method call.

Notice how I create an instace of the System.Collections.IEnumerator, and use that to Enumerate through the List of FooData objects.

I think it's very important to understand that you can work with List's, and specific Genrics based list that define a List with specific types that are contained within.

It's actually a pain point, if your not familiar with working with Arrays and List with WCF in general, and much less with WCF Services consumed with Dynamics AX. So this is a very good example of proven code that works for working with List of not just simple strings, etc. but actual custom complex types.

So what we have here is some basic concepts of a simple WCF C# service, that has a few OperationContracts, for our Foo.svc ServiceContract. It also has a custom DataContract used in both the X++ and C# code. And this complex type can be sent between the two.

Now one could take this simple example, and really make use of it for creating needing code in a WCF service layer. Maybe for working with other LOB, line of business, applications. Maybe for working with legacy code, or objects, or an enterprise sevice bus, with middleware message needs.

What I do want to point out, is there are certain Dynamics AX Service Reference settings, gotchas, watch outs, etc. Espically when you move from Dev to Production. Or if you need to change the WCF service and regenerate the reference inside Dynamics AX.

I plan on going over those details a little later, and taking this post further into real world solutions.

I hope this gets you thinking though about WCF services, and the power of WCF Services. As i mentioned at the start of this post, I plan on covering WCF Services vs. Web Services and why choose WCF services. Also in that next post I will cover the gotchas and watch outs I mentioned above.

See you next time!

P.S. In the meantime if you have specific questions, issues, something you would like to see with this, please leave me a comment or shoot me an email.

"Visit the Dynamics AX Community Page today!"

Labels: , , , , , , , ,

Thursday, February 11, 2010

MSDW: How AX.NET Extends a CIO's Integration Options

MSDynamicsWorld.com just posted my most recent article for them, the full link can be found here.: MSDW: How AX.NET Extends a CIO's Integration Options

This article was launched, based on the Interview and Technology preview post I did about ProISV's, AX.NET offering, which can be found here.: Dynamics AX and .Net - A new technology offering from ProISV

The new MSDynamicsWorld.com article take what is talked about in the more technical details of my first post, and puts it into a framework targeted at what such an offering means for CIO's and company decision makers.

I hope you enjoy it, and check back soon as I have more post coming!

"Visit the Dynamics AX Community Page today!"

Labels: , , , , , , , , ,

Monday, February 08, 2010

Some blog spotlights: AX and the Cloud Example, AIF Error and AX 6.0 Xpp Editor Updates

I have been really busy, and I have some good post that I hope you will enjoy coming up soon, including a new article I will be writing for MSDynamicsWorld.com.

With that said, there have been some really great post over the past several weeks, and I wanted to make sure and highlight them.

The fist is DAXGuy's entry, on an AX example for working with the Cloud. As I wrote about early this year, What can the Cloud offer you in 2010?, 2010 for sure is going to be the year of the cloud. DAXGuy took this further with all the talking, and gave us a really good walk through example of how to get a service in the cloud up and running, and make use of it with Dynamics AX. That post can be found here.: AX on Cloud 9

From the post.:
"Lately there has been a lot of activity related to cloud computing with introduction of Windows AZURE. It truly is an interesting technology providing businesses wider opportunities. Well I decided to explore AZURE a bit and did a small POC on AX integration with AZURE... ... I was consuming a AZURE WCF Service from Dynamics AX. There is a lot of potential in this. Maybe in next generation AIF , developers will be able to generate Cloud AIF directly from AX."

Next in line, we have Dianne Siebold's weblog about AIF. Recently, she posted about the discovery of a very unintuitive error message that you might get and how to start troubleshooting it. That post can be found here.: “Request Failed” Error in AIF

The request failed with the following error: The element 'SalesTable' in namespace 'http://schemas.microsoft.com/dynamics/2008/01/documents/SalesOrder' has invalid child element 'LanguageId' in namespace 'http://schemas.microsoft.com/dynamics/2008/01/documents/SalesOrder'.

List of possible elements expected: 'QuotationId, ReceiptDateConfirmed, ReceiptDateRequested, RecId, RecVersion, Reservation, ReturnDeadline, ReturnItemNum, ReturnReasonCodeId, ReturnReplacementCreated, ReturnReplacementId, ReturnStatus, SalesGroup, SalesId, SalesName, SalesOriginId, SalesPoolId, SalesResponsible, SalesStatus, SalesTaker, SalesType, SalesUnitId, SettleVoucher, ShipCarrierAccount, ShipCarrierAccountCode, ShipCarrierBlindShipment, ShipCarrierDeliveryContact, ShipCarrierDlvType, ShipCarrierExpeditedShipment, ShipCarrierFuelSurcharge, ShipCarrierID, ShipCarrierResidential, ShippingDateConfirmed, ShippingDateRequested, smmCampaignId, smmSalesAmountTotal, StatProcId, TaxGroup, totalBalance, TotalCashDiscount, TotalInvoice, TotalMiscCharges, TotalSalesTax, TransactionCode, Transport, URL, VATNum, SalesLine, DocuRefHeader, MarkupTransHeader' in namespace 'http://schemas.microsoft.com/dynamics/2008/01/documents/SalesOrder'

This is actually a very helpful tip and post when working with AIF and you start getting some strange error messages that's hard to discern what is really going on.

Finally, Vicent, who posted last October about some update highlights to the X++ editor in Dynamics has some new material up, for a part II on what's new in the X++ editor. I wrote about part I, here.: Dynamics AX 6.0 - aka 2011 - X++ Editor

Well you can find his latest entries, by going to the following link.: Dynamics AX6 – The new X++ editor (part 2)

"In a completion session, holding the ctrl key will make the drop-down dialog transparent, so you can see the code underneath:"

I want to say thanks to each of these fine bloggers for sharing their information with the rest of the Dynamics Community. It's because of such efforts that the Dynamics Community continues to grow, and is able to help those looking for solutions.

That's all for now, but as I pointed out in the start of this post, I have some really nice entries coming. Check back soon, and see you then!

"Visit the Dynamics AX Community Page today!"

Labels: , , , , , , , , , ,

Tuesday, February 02, 2010

Sunrise Virtual Office Highlight - Customer evidence story – Selecta Corp.

Recently I posted about Sunrise Technologies launching a new Virtual Office featuring Microsoft Dynamics AX. That blog post can be found here.:

Sunrise Releases new Virtual Office

The new Sunrise Technologies Virtual Office has really taken off, and to help point to some highlights about the virtual office I will be doing one post a week for the next several weeks pointing out tidbits of information about the virtual office that I think you will find useful and exciting.

The first thing I wanted to point out is that while in the Virtual Office, you can learn about the many different verticals we focus on. You have access to customer evidence videos, demos, case studies, etc. all related to Microsoft Dynamics AX.

For example, with Selecta, you can see from the customer evidence video and case study that they were able to reduce their labor cost in the warehous by 20% after implementing Microsoft Dynamics AX and the Sunrise Technologies Advanced Warehouse Management System.

They also estimate an increase in their order fulfillment accuracy from 80% to 98% by using Microsoft Dynamics AX and the Sunrise Technologies Advanced Warehouse Management System.

This is just one example, of many, that you will find in the new Sunrise Virtual office.

That's all for now, but feel free to click the above and browse through the Sunrise Technologies Virtual Office featuring Microsoft Dynamics AX. Learn more about Selecta and many more happy customers. See how Microsoft Dynamics AX and Sunrise might be able to help you!

Check back soon, as more great post are coming!

"Visit the Dynamics AX Community Page today!"

Labels: , , , , , , , , ,

Monday, February 01, 2010

Dynamics AX 6.0 (2011) and 500th Post!

Well I thought I would celebrate the 500th post for this blog, by talking about the future.

And why not right? I mean we all want to know what the future has waiting for us righr? Well we can't really say what all the future holds, but we can be sure that as far as Dynamics AX goes, it seems to be a pretty bright future.

There will be continued growth in the functional depth that Dynamics AX 6.0 brings, however for this post I want to focus on the technical side of things.

1.) Dynamics AX 6.0 will bring a whole new ball game to X++ code development and the IDE in which X++ is developed in. Through the use of WPF, the editor will get some much needed boost.

2.) Dynamics AX 6.0 Application files are moving to the SQL Server database. There will also be a brand new approach for promoting code, and merging layer objects, and working with the AOD elements all together.

3.) More and more reports will be delivered in SSRS form, and from what I understand a good bit of improvements will be made with the Visual Studio Report Development Tool Project Template. Bringing Old School SSRS development closer to the X++ business logic.

4.) Dynamics AX 6.0 is set to be the most focused, and well suited for WCF services allowing for more SOA focused integration and interchanges between AX modules and outside of AX systems. The WCF services or service references in AX 2009 is a good first start. There are plenty of issues though as I am sure anyone who has used this in mass has seen. Any major change to the underlying WCF service, and you might as well restart the AOS. The regenerate will work half the time, if you hold your mouth write, hold a pen in your left hand and it's Tuesday at midnight.

Seriouly, that process does need some improvement, and from what I understand, it is getting the attention it needs.

5.) Workflows will enter into a more true .Net state. Workflows for AX 2009 are a good start, but like service references, they also need work. Any real complex works flows, and your better off creating these in .Net 3.5 natively, and wrapping those workflows in WCF services. Then true complex workflows can be made use of in AX 2009.

From what I understand in workflows with Dynamics AX 6.0, a designer will exist that is targeted for functional consultants to build workflows with. This means, if it's true, life becomes easier for everyone.

Also while on this topic, the workflows will become like the rest of WCF, and not have to be hosted in IIS. This is suppose to mean less security headaches. We will see because AX 2009 has it share of security headaches. (Oh how I loath SPN's and Kerberos security with Windows Server 2008)

6.) The Cloud will rule in 2010, and Dynamics AX landscape will become forever changed from service offered by Microsoft, Partners, and custom developed Azure sevices and the customer level.

So with that said, Dynamics AX 6.0 seems like it's going to have a lot of great new and improvement features to offer. Still Dynamics AX 6.0 is sometime off, and Dynamics AX 2009, though some area's take some extra elbow grease with getting all the technical t's and i's crossed and dotted, is still the most advanced and amazing ERP package out there.

Well that's all for now! This is the 500th post, maybe if I get the chance to hit 1000 posts, you can share in the fun. Check back soon as more great post are coming!

"Visit the Dynamics AX Community Page today!"

Labels: , , , , , , , , , ,

Copyright 2005-2011, J. Brandon George - All rights Reserved