3. intelligence
innovation
integrity
High-Level Comparison
• Code-centric API / Framework
• One-way / request-response / publish-subscribe
messaging
• Sagas for long running processes
• Good for messaging between .NET applications
NServiceBus
• Configuration Centric
• Integration-platform-as-a-service (IPAAS)
• Heterogeneous environment
Mule ESB
4. intelligence
innovation
integrity
NServiceBus Challenges
• Cannot necessarily be plugged directly into existing WCF
services without changes
• Web App
• Send to another tier (service tier) which then publishes
(Don’t use Publish from Web Application!).
• Command -> Event architecture
• http://www.make-awesome.com/2010/10/why-not-publish-
nservicebus-messages-from-a-web-application/
• Requires Service layers as either custom windows services,
or NServiceBus.Host.exe services.
• Easier to configure using NServiceBus Studio extensions
for Visual Studio
5. intelligence
innovation
integrity
Comparative Estimates
• Independently estimated a 66% reduction in the needed
development effort compared to a implementation against an
existing NServiceBus architecture.
• Matches numbers we later learned from MuleSoft
• After initial architecture patterns are created, skill level to
apply the patterns is lower
6. intelligence
innovation
integrity
Mule Connectors
• Out-of-box access to many systems
• SalesForce
• Streaming API support allows for integration from behind a firewall
(Bayeux protocol based on COMET – similar to SignalR)
• ServiceNow
• SQL Server (JDBC)
• Concur
• Many More – 125+ Connectors
9. intelligence
innovation
integrity
.Vision for Microsoft Platform
RESTful APIs
SOAP APIs
RAML for .NET (Coming Soon)
AMQP Connector
WCF/JAX Support
Visual Studios Designer Integration
(coming soon)
BizTalk Migrator
(coming Soon)
MSMQ Connector
.NET Connector
Microsoft Application Connectors
(Dynamics, SharePoint, SQL Server)
10. intelligence
innovation
integrity
Scenario – Integration with
SalesForce
• NServiceBus
• Connectivity
• Need a web application listener exposed through the firewall to
receive SalesForce events. Follow Command – Event pattern to
handle events in Services tier.
• or a custom implementation of Bayeux protocol to receive streaming
events, AND a custom Windows Service for polling implementation to
guarantee message reliability
• API
• Need to implement custom code to call SalesForce APIs
• Mule
• Connectivity
• Add an endpoint for streaming.
• Add a polling endpoint for reliability
• API
• SalesForce connector provides extremely easy / no-code API access
15. intelligence
innovation
integrity
Scenario - Integration with COTS
Database
• May not be able to have COTS send an NServiceBus
message
• NServiceBus
• Need a scheduled polling solution, either NServiceBus
scheduler, or a custom Windows Service.
• Need a mechanism to track progress (watermark).
• Need to implement database access code
• Need to create an consume events and translate to APIs
in various systems
• Mule
• Built-in polling / watermarking
• Built-in JDBC access / infrastructure
• Datamapper can map data between message payloads
and APIs
24. intelligence
innovation
integrity
Mule for C# Developers
AnyPoint
Studio
•Based on Eclipse
•Source Code integration
•No custom code integration
MEL
•Mule Expression Language (based on MVEL / MVFLEX Expression Language)
•Java / JavaScript syntax
Groovy
•Dynamic Language based on Java
Spring
•Dependency Injection
Maven
•Build and Template Management
Java
•Writing simple POJOs instead of POCOs
•Helper classes
•Classes to override and extend behavior
25. intelligence
innovation
integrity
Platform Tools Comparison
NServiceBus Mule ESB
Code Centric Configuration Centric
C# .NET Java / Invoke .NET Business Logic
Visual Studio AnyPoint Studio (Eclipse)
MSMQ (other pluggable
Transports)
MSMQ
JMS / AMQP (ActiveMQ /
RabbitMQ, etc)
MS Build Maven
Unity / Castle Windsor /
Spring.NET / StructureMap /
Autofac / Niject / other
Spring (Beans)
NServiceBus.Host.Exe or custom
service
Mule ESB / Mule Management
Console
Windows Clustering Active-Active Shared Memory
Clustering
26. intelligence
innovation
integrity
Spitfire Lessons Learned
NServiceBus
• Good solution for integrating
custom .NET applications where
you control the code
• Integrating with Cloud or COTS
solutions where you don’t
control the code can require a
lot of custom code to get
messages onto the ESB
Mule ESB
• Good solution if you have a
heterogeneous environment, or
know you will need to integrate
with Cloud or COTS in the
future
• A working Mule application can
be developed through AnyPoint
Studio with no Java code /
Spring / Maven / Groovy
• Minimize Java dependencies by
engaging specific resources or
outside help with basic setup /
architecture, then leverage that
architecture across
configuration-based flows.
As you can see we have an extensive list of connectors for the Microsoft platform at various stages of maturity, including:
DotNetConnector released July 2014
MSMQ
AMQP
Active Directory
SOAP/WS-* (WCF interoperability).
REST (ASP.NET WebAPI interoperability)
SharePoint
SQL Server
Microsoft Dynamics GP
Dynamics CRM
Dynamics Online
Excel/CSV
Yammer
At Mulesoft we are focused on developer experience. With Mule you can drag and drop .NET components into the designer, never touching Java
MuleSofts Microsoft connectivity solutions focus on internal adoption, we want your customer to be successful. We have built and are continuing to build new tool that help your .NET focused team build on the power of the anypoint platform. Our .NET Connector, MSMQ Connector and WCF Support MuleSoft allows your team to connect .NET/C# code quickly and without custom Java code. In the future we plan on adding additional products that make this experience even better. Examples of this are the BizTalk migration tool and Visual Studio’s designer support
In the future, you will be able to build new API’s in REST or SOAP using RAML
Using VS and C#/.NET developer design time experience
Design in VS
Scaffold it out using Great tools
Publish API so others can consume