WCF: The Enterprise Service Bus for Dynamics AX and the rest of the Microsoft Stack
Recently I did an interview with Microsoft's Lachlan Cash. The interview can be viewed here: Microsoft's strategy and vision for Dynamics AX and SOA
In that interview, Lachlan laid out the vision for what role Microsoft see's SOA playing in the current and future of Dynamics AX.
If you read the interview, you will see that the underlying goal and drive is that SOA, or Service-oriented architecture, will be the design principle for inside and outside development of Dynamics AX. This will be delivered by WCF or Windows Communication Foundation, and can have Windows Workflow Framework be used as well as part of the business process design flows that this stragey enables.
So that means that we should focus are energy and attention for the current version of Dynamics AX integration to be geared around WCF adapters. The reason this is the case, is that this will become even more importantly the focus in Dynamics AX 6.0 that is currently scheduled to be released in 2011.
So with that said, lets start to get our minds wrapped around WCF. The best place to start, if you have not already been, is go to the WCF home on MSDN: MSDN - Windows Communication Foundation - Home Page
A great description of what WCF is, can be found here:
"The WCF unifies the various communications programming models supported in .NET 2.0, into a single model. Released in November 2005, .NET 2.0 provided separate APIs for SOAP-based communications for maximum interoperabilllity (Web Services), binary-optimized communications between applications running on Windows machines (.NET Remoting), transactional communications (Distributed Transactions), and asynchronous communications (Message Queues). WCF unifies the capabilities from these mechanisms into a single, common, general service-oriented programming model for communications.
WCF can use SOAP messages between two processes, thereby making WCF-based applications interoperable with any other process that communicates via SOAP messages. When a WCF process communicates with a non–WCF process, XML-based encoding is used for the SOAP messages but when it communicates with another WCF process, the SOAP messages can be encoded in an optimized binary format. Both encodings conform to the data structure of the SOAP format, called Infoset.
WCF uses a pluggable encoding system, allowing developers to write their own encoders[1]. With the release of the .NET Framework 3.5 in November 2007, Microsoft released an encoder that added support for the JSON serialization format to WCF[2]. This allows WCF service endpoints to service requests from AJAX-powered web pages."
That was taken from the Wiki home page for the Windows Communication Foundation home on wikipedia.org, found here: Wikipedia - Windows Communication Foundation - Home Page
You see when we reference WCF in terms of something that we want to create and make use of, then we are talking about a WCF Service. A WCF Service, as you can read in the wikipedia article, is made up of three parts:
So when thinking in terms of today with Dynamics AX 2009, and WCF Service can be defined in the AOT now, and X++ can reference it like a class. This should also be the diffection used for most integrations with AIF, and integrations to and from Dynamcis AX 2009.
(Image Source www.codeproject.com)
This means that when we moved to Dynamics AX 2009, we were a lot closer to having a tighter integration between Dynamics AX 2009 and the rest of the Microsoft stack.
Now there is still a ways to go of course, and since Microsoft is about evolving this, building upon WCF Services now inside and out of your Dynamics AX 2009 instance, means you will be making the right move for the future when Dynamics AX 6.0 & 7.0 comes out.
Because WCF will be moving more and more "into" Dynamics AX and X++, to where WCF could be more tighly used within Dynamics AX itself to delivery internal messaging. This would lead to tighter integration and better introp even more with the rest of the Microsoft stack, which will happen to be also using WCF service to connect and build with.
I think the picture is pretty clear now, WCF should be the focus, and we should start looking into more and more ways of using WCF now and how we will be able to use it in the future.
Some of the latest things out about WCF recently is with REST, Representational State Transfer, which will gives us play into the 2.0 tagged technologies of Enterprise and Web, and the cloud.
Another thing to point out, is how WCF can now, already be used to integrate other existing LOB, Line of Business Applications, like: SAP, PeopleSoft, Oracle, IBM CICS, IMS, etc.
Microsoft released what is calls it's "WCF LOB Adapter SDK" to help with this. The current version is 1.1, and can be downloaded here: WCF LOB Adapter SDK v1.1 Download.
So we have a *Lot* to cover on this as you can tell. The key to take away now, is to start looking into this. Take a dive into the MSDN page, look at the blogs, the articles, what makes up WCF. Also take the time and check out the WCF LOB Adatper SDK. This is a great thing to look at for creating WCF services, that can connect Dynamics AX with other LOB's.
Check back soon, as I will continue to dive into this topic, get back to some SQL Server 2008, cover more BI, and all how it surronds and is used with Dynamics AX.
Also don't miss my post soon on a book review and Author interview I am doing, and the wrap up post on Convergence this week! So much to cover and so little time... see you next time!
"Visit the Dynamics AX Community Page today!"
In that interview, Lachlan laid out the vision for what role Microsoft see's SOA playing in the current and future of Dynamics AX.
If you read the interview, you will see that the underlying goal and drive is that SOA, or Service-oriented architecture, will be the design principle for inside and outside development of Dynamics AX. This will be delivered by WCF or Windows Communication Foundation, and can have Windows Workflow Framework be used as well as part of the business process design flows that this stragey enables.
So that means that we should focus are energy and attention for the current version of Dynamics AX integration to be geared around WCF adapters. The reason this is the case, is that this will become even more importantly the focus in Dynamics AX 6.0 that is currently scheduled to be released in 2011.
So with that said, lets start to get our minds wrapped around WCF. The best place to start, if you have not already been, is go to the WCF home on MSDN: MSDN - Windows Communication Foundation - Home Page
A great description of what WCF is, can be found here:
"The WCF unifies the various communications programming models supported in .NET 2.0, into a single model. Released in November 2005, .NET 2.0 provided separate APIs for SOAP-based communications for maximum interoperabilllity (Web Services), binary-optimized communications between applications running on Windows machines (.NET Remoting), transactional communications (Distributed Transactions), and asynchronous communications (Message Queues). WCF unifies the capabilities from these mechanisms into a single, common, general service-oriented programming model for communications.
WCF can use SOAP messages between two processes, thereby making WCF-based applications interoperable with any other process that communicates via SOAP messages. When a WCF process communicates with a non–WCF process, XML-based encoding is used for the SOAP messages but when it communicates with another WCF process, the SOAP messages can be encoded in an optimized binary format. Both encodings conform to the data structure of the SOAP format, called Infoset.
WCF uses a pluggable encoding system, allowing developers to write their own encoders[1]. With the release of the .NET Framework 3.5 in November 2007, Microsoft released an encoder that added support for the JSON serialization format to WCF[2]. This allows WCF service endpoints to service requests from AJAX-powered web pages."
That was taken from the Wiki home page for the Windows Communication Foundation home on wikipedia.org, found here: Wikipedia - Windows Communication Foundation - Home Page
You see when we reference WCF in terms of something that we want to create and make use of, then we are talking about a WCF Service. A WCF Service, as you can read in the wikipedia article, is made up of three parts:
- Service Class
- Host Environment
- Endpoints (aka: Adapters)
So when thinking in terms of today with Dynamics AX 2009, and WCF Service can be defined in the AOT now, and X++ can reference it like a class. This should also be the diffection used for most integrations with AIF, and integrations to and from Dynamcis AX 2009.
(Image Source www.codeproject.com)
This means that when we moved to Dynamics AX 2009, we were a lot closer to having a tighter integration between Dynamics AX 2009 and the rest of the Microsoft stack.
Now there is still a ways to go of course, and since Microsoft is about evolving this, building upon WCF Services now inside and out of your Dynamics AX 2009 instance, means you will be making the right move for the future when Dynamics AX 6.0 & 7.0 comes out.
Because WCF will be moving more and more "into" Dynamics AX and X++, to where WCF could be more tighly used within Dynamics AX itself to delivery internal messaging. This would lead to tighter integration and better introp even more with the rest of the Microsoft stack, which will happen to be also using WCF service to connect and build with.
I think the picture is pretty clear now, WCF should be the focus, and we should start looking into more and more ways of using WCF now and how we will be able to use it in the future.
Some of the latest things out about WCF recently is with REST, Representational State Transfer, which will gives us play into the 2.0 tagged technologies of Enterprise and Web, and the cloud.
Another thing to point out, is how WCF can now, already be used to integrate other existing LOB, Line of Business Applications, like: SAP, PeopleSoft, Oracle, IBM CICS, IMS, etc.
Microsoft released what is calls it's "WCF LOB Adapter SDK" to help with this. The current version is 1.1, and can be downloaded here: WCF LOB Adapter SDK v1.1 Download.
So we have a *Lot* to cover on this as you can tell. The key to take away now, is to start looking into this. Take a dive into the MSDN page, look at the blogs, the articles, what makes up WCF. Also take the time and check out the WCF LOB Adatper SDK. This is a great thing to look at for creating WCF services, that can connect Dynamics AX with other LOB's.
Check back soon, as I will continue to dive into this topic, get back to some SQL Server 2008, cover more BI, and all how it surronds and is used with Dynamics AX.
Also don't miss my post soon on a book review and Author interview I am doing, and the wrap up post on Convergence this week! So much to cover and so little time... see you next time!
"Visit the Dynamics AX Community Page today!"
Labels: .Net, Dynamics, Dynamics AX, Dynamics AX 2009, Enterprise Service Bus, Lachlan Cash, LOB, Microsoft, Product Stack, WCF, WCF LOB Adapter SDK
0 Comments:
Post a Comment
<< Home