Enterprise Integration Zone is brought to you in partnership with:

Nial is an engineer at Mulesoft. He writes blogs about use cases and technologies catered for by Mule. Nial is a DZone MVB and is not an employee of DZone and has posted 8 posts at DZone. You can read more from them at their website. View Full User Profile

A Full Introduction to Mule Enterprise

02.28.2013
| 5185 views |
  • submit to reddit

Introduction


You may be familiar with the free Mule ESB community edition, but I’d like to take a minute to introduce you to MuleSoft and our version of Mule, I think its important to understand everything that mule can offer developers.

Reason for Success

So why do companies rely so heavily on Mule? Well, consider the legacy integration ESBs and Brokers. Most of them were built over fifteen years ago, so they solve only a subset of todays integration challenges. These were and remain heavyweight stacks expensive to rollout and maintain and stubbornly resistent to change. MuleSoft in stark contrast is now leading the way with Mule Enterprise which was built to be agile in its ability to adapt to the changes which necessarily occur in any company’s business processes.  Mule’s success can be attributed to the following characteristics:

  • It´s Open:It’s open-source so you can see the quality of the code yourself, it’s built on standards and it’s designed according to Industrial best practice to enable seamless communication with your existing and future infrastructure.
  • It´s Light and it´s Fast: it can be deployed in a number of ways with a notable low resource usage and it out performs its competitors hands down!
  • It´s Developer friendly: it’s a tool written entirely for Developers with the aim to increases their productivity so you´ll very quickly see the results of your efforts.
  • It´s ready: it’s built to run on the cloud, we’re focused on connecting application on-premise and cloud including SaaS, social media and infrastructure APIs and Mule applications can run on-premise on Mule ESB or in the cloud with CloudHub.

The Problem and its Solution

What is the nature of the Integration problem that Mule solves? Lets consider your current IT infrastrucure. No doubt you have one or more databases. Perhaps you have a number of legacy systems which you’ve built up over the years. Perphaps you have some large third party systems like SAP there. Now consider the complexity inherent to the point-to-point communication between these systems. IT requirements evolve and so over time you observe how you begin to connect system to system creating tight dependencies between different systems in your IT architecture. Now, the more systems that arrive on the scene, the greater and faster the problem of integrating grows. The growth of the problem is exponential. One more system added to the equation multiplies the cost of integrating by the amount of systems you already have. Spaghetti becomes the defining characteristic of your architecture.   

Let us now introduce Mule Enterprise to clean up the mess and become the main player for all future integration by centralising, standardising and simplifying that communication.

What about the cloud?

Perhaps you’ve already decided to utilise some SAAS services or are concerned about the difficulty of embracing such software in the future. What can Mule do here? Exactly what it can do for your organisation: seamless integration both from a cloud-to-premise perspective and from a cloud-to-cloud perspective. MuleSoft’s AnyPoint technology affords you the luxury of every possible flavour of integration: Mule CloudHub is an elastic and multi-tenanted cloud that allows you to integrate cloud and on-premise applications using Mule Enterprise.

A Panoramic View of Mule Enterprise

MuleSoft’s Enterprise Integration Platform covers every area of the integration effort by providing the best tools on the market to help with the development, deployment and management of your integration applications. And far from constraining you with our way of seeing things, we give you the liberty of extending Mule. Let´s take a deeper look at the toolset from the persective of each of these:

Development

Building Blocks

Mule Studio Enterprise graphically surfaces the Enterprise Integration Patterns that guided the core architecture of Mule itself in the form of building blocks. These intuitive jig-saw pieces cover all the core ingredients found in every integration solution, namely connectors, transformers, routers and processors and which you can drag and drop on to your solution canvass to form what we like to call Flows. As the name suggests, Flows represent the flow of information through Mule from and to the external systems which you need to integrate.

Graphical Development

The graphical interface is a visualisation of the simple xml domain specific language which declares what you need to do and frees you from the effort of working out how to do it! Mule Studio allows you to build your Flows using a two-way  editor. Changes in one view are immediately reflected in the other!

Data Mapping

A rather expensive part of integration manifests itself in the need to transform large sets of data from one form to another. This is a common problem as the various systems which you desire to integrate don’t always speak the same language, so to speak. Mule Studio Enterprise addresses this problem with it’s powerful Data Mapper tool. Again the graphical drag and drop mappings let you see at a glance the details of your transformation logic.

Deployment

Mule Studio Enterprise reduces Integration Application deployment to a one-click affair! The target of your deployment can be the MuleStudio embedded Server, your on-premise Mule Server, the Mule Management ConsoleApplication Repository or even CloudHub, Mule Enterprise on the Cloud!

Management

A deployed application must be watched and maintained to ensure plain sailing at every moment. Mule Enterprise Management Console provides you not just with entire visibility of your solutions at every level from Server to Messages but also gives you the power to act on that visibility by controlling the executions of artifacts on the same levels.

You can enforce Service Level Agreements on the performance of your applications and servers, receive Alerts based on the same and enjoy thorough analysis of Key Performance Indicators, so critical to the success of your business, through Business Events. Troubleshooting any problems with your applications is a breeze with our Message Flow Analyser – a window to the even the most minute detail of the messages flowing though Mule. For your greater peace of mind, access to the Console can be restricted according to the roles you may already have defined in your LDAP server.

Extension

Mule covers a world of connectivity and message processing with its rich offering of endpoints, transformers and routers.

Connecting Endpoints

With respect to connectivity, the array of endpoints covers the most widely used communication mechanisms. We don’t stop there however. These connecting endpoints have been extended with our suite of cloud connectors, which allow you to exploit the exponential growth in cloud based software and public APIs. Talking to the likes of Salesforce, Twitter etc. is as simple as using any other endpoint in a Mule flow.

Transformers and Routers

While our vast array of transformation and routing processors satisfy the majority of use cases, our Java processors allow you to implement your own custom integration logic. Likewise our Scripting processors allow you to do the same in Mule Expression Language, Groovy, Python, Ruby, JavaScript, PHP and indeed any language which implements the JSR-223 scripting spec for the JVM. These extension capabilities multiply the power of Mule as an integration platform, which is completely adaptable to the needs of the integration project. Rather than constrain the developer, Mule offers itself as a tool to solve every integration problem with its wealth of out-of-the-box processors and its limitless extensibility.

DevKit

Mule’s powerful extension capability is made even easier with the DevKit, which facilitates the encapsulation of complex business processing logic or any complex interaction with external systems or cloud APIs as a set of message processors which can be presented on Mule Studio´s pallette as yet another out-of-the-box flow building block.

High Availability for Mission Critical Deployments

The mission critical deployments we have seen in many companies are all thanks to Mule Enterprise’ High Availability solution. Its Shared Memory Grid technology guarantees you zero message loss for those highly important applications which you need to have running around the clock. You can cluster servers as a single unit in order to cater for automatic failover and re-balancing as well as automatic coordination of access to resources such as files, databases and FTP resources. All of this is transparent to the developer who need not make any special considerations about the nature of her deployments!

Community or Enterprise?

Hopefully, the things we’ve spoken about here will make the choice obvious, but let’s just summarise exactly when you should go forMule Enterprise Edition:

  • Data Mapper: Rapid development and maintenance of complex transformations with a Graphical Mapping of data between various formats which permits one to many and functional mappings including data-source lookup for runtime resolution of the mapped values.
  • SAP Connector: Our Connector is the first ESB connector to be certified by SAP. Simplify access to SAP, one of the most popular Enterprise Resource Planning () solutions on the market, by sending and receiving iDocs and JcoFunctions and transforming the same to and from XML.
  • JDBC: The Enterprise Edition Endpoint boasts batched statements, JDBC – Xml / CSV transformations and Stored Procedure execution.
  • Cache: Avoid unnecessary hits to your database or Webservice or any other Mule Flow by caching the results of the invocation based on any criteria determined by runtime evaluation of a Mule Expression. The result of this is used as key to the cache so that future messages which match the same criteria will result in data pulled from the cache rather than invocation of the wrapped Message Processors.
  • FTP: Control minimum age of retrieved files and where to store read files with the FTP Endpoint.
  • High Availability: Our Clustering Solution allows you to group Mule Servers together and have them act as a single virtual Server with automated load-balancing and failover between nodes, management of Resource based endpoints and guaranteed Zero Message Loss.
  • Centralised Management: With Mule Enterprise you get absolute Visibility and Control of everything of concern to you: from Mule Servers to the Applications deployed on those Servers, to the Flows executing inside those Applications and right down to the level of Messages passing through those Flows.
  • Business Events: Mule Enterprise captures the extremely important information passing through our platform, thus fascilitating the identification of Key Performance Indicators, in the form of Business Events which can be surfaced and saved to the database of your choice.
  • Service Level Agreements: can be enforced to prevent issues with any of the above from becoming problems. All of this displayed in a panoramic “see everything at a glance” centralised dashboard.
As I said before the goal of this post is just to provide awareness since many community member don’t really know the difference between Mule Community  and Enterprise.  Of course developers don’t believe before they see and you can download a trial version of Mule Enterprise and see these capabilities for yourself. Feel free to contact us if you want to know more.
Published at DZone with permission of Nial Darbey, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)