MuleSoft, the company behind the Enterprise Service Bus (ESB) product Mule, recently released version 3.3 of the product. The new version's focus is to combine data integration with Mule's application integration capabilities and to deliver a solution for on-premise or cloud integration for developers.
Combined with an upgraded Mule Studio tool, Mule ESB 3.3 offers the ESB suite for integrating on-premise, Software as a Service (SaaS) and custom applications. The new release comes in two flavors, Enterprise Edition and open source Community Edition. The Enterprise Edition includes the integrated versions of stack components like Mule Studio with DataMapper, CloudHub, and Cloud Connectors.
Other features in Mule ESB 3.3 include:
- In-memory data-grid capability
- Mule Expression Language (MEL) for implementing business logic using expressions
- Support for external databases in Enterprise Edition Mule Management Console (PostgreSQL and Oracle)
- Complete WS-Security support, including SAML2 for securing Web Services
- Support for Java 7
InfoQ spoke with Ross Mason, CTO and Founder of MuleSoft and Daniel Feist, the lead architect of Mule, about the new features and product roadmap.
InfoQ: What were the motivation and goals behind the new release?
Ross Mason: We had three goals in this release.
- Our overall mission is to simplify integration for everyone. In this release we focused on delivering an end to end solution for on-premise or cloud integration for developers. We launched MuleSoft's cloud offering, CloudHub, 18 months ago, but this is the first release where the releases cycles for Mule Studio, Mule ESB, CloudHub, Cloud Connectors and the Mule Devkit were fully aligned, creating a much better user experience.
- We focused a lot on the open source Mule run-time making it easier to work with in XML and Mule Studio to handle error management, iterations and custom logic.
- We see the enterprise middleware stack is starting to consolidate and we wanted to combine data integration with Mule's application integration capabilities.
Mule ESB 3.3 includes fully integrated versions of all components:
- Mule Studio with DataMapper
- CloudHub
- Mule ESB Enterprise Management Console
- Cloud Connectors
- Mule DevKit
InfoQ: Can you talk about the application and data integration capabilities available in Mule ESB 3.3?
Ross: Mule ESB 3.3 provides best in class application and data integration. Mule ESB's support for application integration standards, including REST, Web Services, messaging, file transfer and database are expanded in 3.3 with native connectors for over 100 enterprise, SaaS, social, and mobile application APIs. In 3.3, this support also extends to the data level, where metadata is captured from each application allowing graphical transformations of the data to be performed and executed at runtime with Mule's high performance SEDA-based integration runtime.
InfoQ: What are the main differences between the Community and Enterprise editions of Mule ESB 3.3?
Ross: Most of Mule core ESB functionality is included on the Community edition. The tooling (Studio) is also free for developers.
Enterprise Edition adds *ilities like: scalability, reliability, manageability, etc. These are some of the enterprise only capabilities:
- Mule Management Console (Remote provisioning and deployment management, management and monitoring, Performance analysis and tuning, etc)
- Clustering and HA using in memory data grid for active active cluster configuration without need of an app server
- Business Events for business-level tracking of transactions throughout a distributed system (BAM)
- Flow Analyzer: A graphical tool for instrumenting and visualising data running through Mule at real-time
- Graphical Data Mapper
- Premium transports like JDBC, WMQ, FTP,SAP Connector
- Self-healing connections
- Applications Repository
InfoQ: Can you elaborate on the support for Java 7 in the new Mule ESB release and what Java 7 features are supported?
Daniel: For Mule ESB 3.3 we focused on ensuring full runtime compatibility with Java 7 by fully testing Mule with the new version. This allows users and customers to confidently move to Java 7 and take advantage of its new features and performance improvements. While we haven't used any new Java 7 features in Mule itself yet we are interested in leveraging NIO.2 file channels and try-with-resources where possible and we are looking at utilizing the new Fork/Join concurrency framework.
InfoQ: Another new feature is the Mule Expression Language. Is this based on DSL concept? Can you talk about this feature?
Daniel: With the Mule Expression Language (MEL) we have built an internal DSL on top of a mature expression language. This combination means that expressions in Mule are not only much more powerful but also easier. As a base expression language we choose MVEL because it is mature, easy to extend, fast and because the Drools team who have used it for a number of years had only good things to say about it. The DSL we built on top of MVEL provides concise access to the full Mule context including server, application, message payload and properties and flow variables as well as providing functions for evaluating XPath expressions and matching regular expression patterns inline. In order to improve developer productivity we made sure it is easy to extend and so you can very easily define imports, reusable functions and even aliases globally.
InfoQ: The new version of Mule ESB also supports WS-Security and SAML2 for securing Web Services. Are there any other security features in areas like authentication, authorization, data encryption and message security?
Daniel: Mule ESB has an Authentication and Authorization sub-system built in that can leverage common schemes such as HTTP Basic/Digest, NTLM, LDAP, OpenID, X.509 Certs, CAS 3.0, SAML 1/2, JAAS. OAuth 1.0 and 2.0 is supported in our cloud connectors. For authorization developers can use Spring Security. Data Encryption is supported using encryption facilities built into the JDK or using secure protocols such as SSL, HTTPS, TLS.
Also our tooling supports fine-grained role-based access control to the management UI and this authentication can be backed by an external entitlement system such LDAP or DB.
InfoQ: Are there any monitoring capabilities available in the community or enterprise editions of Mule ESB 3.3 version?
Daniel: 1) Mule Community provides monitoring of statistics and entities (apps, endpoints, flows) via JMX
2) For Mule Enterprise the Management Console is a key selling point since it allows IT/Ops and Dev/Ops to manage Mule deployments end to end in a single console. The console provides application management, rollouts, auditing, performance diagnostics, BAM, Flow analysis, alerting and escalating, dashboards and more.
InfoQ: What are the emerging trends in Integration Platform as a Service space?
Ross: So far many of the application PaaS offerings have been concerned with winning existing application workloads from on-premise data centers. This is pretty uninspiring, the future of applications in the cloud will rely heavily on the platform and surrounding services to delivering new and innovative applications to consumers. With the rise of open APIs, the growth of the SaaS market and now the explosion of connected devices, the needs of application developers has changed. Building apps today means that you need to connect to many different APIs and write glue code to make them work together. It means that your clients are very different, some have compute power others are much smaller devices with limited connectivity. it means you are dealing with lots of data sources structured and unstructured data. We're building a platform to help developers work more easily with different open APIs, different data formats, and different types of clients. Integration Platform as a Service (iPaaS) offers a lot in this area such as, orchestration of calls between many different APIs, Data Mapping, structured and unstructured data support visibility and monitoring of external systems, platform services and a much cleaner development model. We believe iPaaS will become the way many will build connected applications.
InfoQ: What is the future road map for Mule ESB and Cloudhub products in terms of new features and enhancements?
Ross: We have a lot going on all fronts. To summarize:
- Mule: Focused on API Management and an integrated Registry/Repository. Stay tuned.
- Mule Studio: Metadata driven modelling and a graphical debugger
- Connectors: We're rolling out new connectors all the time. In the short term you'll see new connectors for Google Calendar, Contacts, Spreadsheets, and Tasks, as well as connectors like MS Dynamics and Sugar CRM.
- CloudHub: we're rolling out some great management and monitoring features over the next couple months. Business Events tracking, a popular feature from our on premise management console which allows you to track custom business metadata over time, will make an appearance. We're also including message replay capabilities, a way to manage schedules of your sychronizations at runtime and application data storage for things like OAuth tokens.
InfoQ: Thank you for your time Ross and Daniel.
About the Interviewees
Ross Mason is the CTO and Founder of MuleSoft. He founded the open source Mule® project in 2003. Frustrated by integration "donkey work," he set out to create a new platform that emphasized ease of development and re-use of components. He started the Mule project to bring a modern approach, one of assembly, rather than repetitive coding, to developers worldwide. Now, with the MuleSoft team, Ross is taking these founding principles of dead-simple integration to the cloud with CloudHub™, the world's first integration platform as a service (iPaaS). Ross has been named in InformationWeek's Top 10 Innovators & Influencers and InfoWorld's Top 25 CTOs. Twitter: @rossmason
Daniel Feist is the lead architect of Mule. Working on the core platform, Daniel is focused on making integration easier and accessible to every developer. Previous to MuleSoft, Daniel worked as a developer and architect on a number of financial/insurance projects and developed a knack for finding simple solutions to hard problems.