For those of you who have been keeping your AnyPoint Studio up to date you may have been pleasantly surprised this week.  The reason?  MuleSoft released two important connectors for customers who leverage the Microsoft platform in their architectures.  (You can read more about the official announcement here.)

More specifically, the two capabilities that were released this week include:

  • .NET Connector
  • MSMQ Connector

image

The MSMQ Connector is self explanatory but what is a .NET Connector?  The .NET Connector allows .NET code to be called from a Mule Flow.

Why are these connectors important? For some, hating Microsoft is a sport, but the reality is that Microsoft continues to be very relevant in the Enterprise.  In case you missed their recent earnings, they made 4.6 billion in net income for their past quarteryes that is a ’b’ and yes that was only for a quarter of the year. 

Many customers continue to use MSMQ.  Sometimes these solutions are custom .Net solutions where they are using MSMQ to add some durability for their messaging needs.  Sometimes, these are legacy applications in maintenance mode but not always.  Other use cases include purchasing a COTS (Commercial Off The Shelf) product that has a dependency on MSMQ.

While the MSMQ Connector is a nice addition to the MuleSoft portfolio of Connectors, the .NET Connector is what really gets me excited.  I have been using .Net since the 1.1 release and am very comfortable in Visual Studio.

For many organizations, they have standardized on building their custom applications in .NET.  I have worked for these companies in the past and for many of these organizations, programming in another language is a showstopper.  There may be concerns about re-training, interoperability and productivity as a result of introducing new programming languages. Some people may consider this fear mongering, but the reality is if you have a strong Enterprise Architecture practice, you need to adhere to standards. While some people are willing to introduce many different languages into an environment,  others are not.

The combination of the AnyPoint Platform and the ability to write any integration logic that is required in .NET is a very powerful combination for organizations that want to leverage their .NET skill sets.

How to invoke .NET Code from a Mule Flow? There are many resources being made available as part of this release so I don’t want to spoil that party (See conclusion for more resources).  But let me provide a sneak peak. For those of you who may not be familiar with MuleSoft, we have the ability to write Mule Flows.  You can think of these much like a Workflow or an Orchestration for my BizTalk friends.  On the right hand side we have our pallete where we can drag Message processors or Connectors from the pallete to our Mule Flow.

image

Once our Connector is on our Mule Flow, we can configure it.  We need to provide an Assembly Type, Assembly Path (can be relative or absolute), a Scope and a Trust level.  This configuration is considered to be a Global Element and we only have to configure this once per .NET assembly.

image

Next we provide the name of the .NET Method that we want to call.

image

From there it is business as usual from a .NET perspective.  I can send and receive complex types, JSON, XML Documents etc.

image

Conclusion

Hopefully this gives you a little taste of what is to come.  I have had the opportunity to work with many Beta customers on this functionality and am very excited with where we are and where we are headed.  What we are releasing now is just the beginning.

Stay tuned for more details on both the MSMQ and .NET Connectors.  Now that these bits are public I am really looking forward to sharing this information with both the Microsoft and MuleSoft communities.

Other resources:

  • Press Release
  • MuleSoft Blog Post including two short video demos and registration link for an upcoming Webinar.

BTW: If this sounds interesting to you, we are hiring!!!