Though some think SOA failed and others see it only as a partial success, this has been because of the approach to SOA and not its underlying principles. SOA (or what I’d rather call Service Orientation, but that doesn’t fit our obsession with TLAs) is responsible for beginning a new evolution in the way we build software. This change is as fundamental as the shift to OO programming but essentially a much bigger jump: OO was adopted one developer at a time, but SOA requires teams and departments to make the culture, technology, and mind shift together. Where SOA has been most successful is evolving the way we build applications to the point where new deployment models become possible; enter the cloud…
Continue readingMonth: February 2009
How SOA paved the way for Cloud
Mule 2.2.0 Now Available
The Mule development team is pleased to announce that Mule 2.2.0 is now available for download. This release includes:..
- Support for Spring Security 2.0 as a Security Manager inside of Mule
- Support for a powerful new expression language for querying Mule information at run-time
- Support for specifying a namespace globally so that it can be used by XPath expressions across Mule
- New XPath extractor transformer, BeanBuilderTransformer transformer, XPath filter, and schema validation filter
- Support for Spring-first Mule deployments
- Fixes for the examples and an overhaul of the Bookstore example to use web services
- Support for extensible SQL strategies
- CXF web service proxying now supports attachments
- CXF clients now pass custom Mule message properties correctly to the server
- Native JMS redelivery counters if supported by a JMS server (with fallback to the old-style manual counts)
- Improved JMS topic subscriptions support for SunMQ/OpenMQ
- Improved JNDI lookup of JMS destinations having slashes in their names
- Explicit control over JMS temporary reply destinations creation on a connector/endpoint level
- Every inbound aggregator router now supports timeout and failOnTimeout for partial aggregations
- Every connector now has a validateConnections configuration attribute, acting as a performance optimization hint
- Fixed failures with some IBM J9 and JRockit versions when proprietary JVM optimizations were enabled
- The remoteSync attribute has been removed and replaced by a more explicit sync/async configuration of the endpoints
- Clarified and cleaned up message property scopes and precedence
- Simplified endpoint configuration
- Clean up of the use of OSGi rebundled dependencies
- Improved and expanded documentation
- Many bug fixes and increased test coverage
For more information, see:
- Release Notes (includes list of all fixed issues)
- Getting Started Guide
- Migrating Mule 2.1 to 2.2
If you have any feedback on the release, we’d love to hear from you. Please see the Getting Involved page for ways to contact us.
A New Chapter for MuleSource
It’s been an exciting couple of months for MuleSource. We began the year with 2 blowout quarters behind us. Last week we announced that Mark Burton, the former executive vice president of Sales from MySQL has joined the MuleSource board of directors. Mark brings a wealth of sales operating experience from one of the most successful open source companies to date. Mark has an excellent understanding of the different sales dynamics an open source company faces and has an uncanny ability to communicate his ideas on sales operations and strategy that makes you wonder why you never thought of them yourself.
Continue readingPragmatic SOA Governance
I recently wrote an article that appeared in eBizQ on the topic of SOA governance. In this article, I argue that the primary reason that many pundits have declared “SOA is dead” is that the traditional “top-down” approach to SOA and governance have failed. Vendors have for too long evangelized a “big bang” re-architecture of development processes, using their tools to enforce new behaviors from developers, in order to realize the benefits of SOA. These approaches have failed because they make the average developer’s life more difficult, rather than simpler. Development teams, already stretched for time and resources, are generally reluctant to do extra work in the pursuit of some abstract notion of “service reuse.” Instead, modern governance approaches that are getting traction today actually help developers by integrating with existing tools and streamlining, rather than obstructing, familiar processes.
Continue readingUsing Mule and GigaSpaces for Scalable SOA
If you missed last week’s webinar on Scalable SOA with GigaSpaces and Mule, you can catch it again in the archives. Uri Cohen from GigaSpaces did an excellent job demonstrating how easy it is to take services developed using Mule and make them highly-available and linearly scalable.
The demo application shown is also available. Download it and try it out. It shows how integrate GigaSpaces & Mule using an AJAX based web front end. You should have the following installed on your machine for the demo to work properly:
- Mule 2.1.2
- GigaSpaces XAP7.0m4 (early access)
- Spring framework 2.5.6 or higher
You can also learn more about the integration in the GigaSpaces documentation or by contacting MuleSource.
Discounts on Mule books!
We’ve negotiated discounts for our blog readers and community members to get 35% off on Mule in Action by David Dossot and John D’Emic or Open Source ESBs in Action by Jos Dirksen and Tijs Rademakers. A few weeks ago, Andrew Perepelytsya blogged about these books, which you can now purchase on the Manning website. To take advantage of the discount, enter “msource35” during checkout.
Continue readingStoring Objects in the Registry
Recently, there was a great question on one of the Mule mailing lists about where to store runtime data that can be used across the app. If you need to store runtime data that is available across your Mule application, you can store the data as objects in the Mule Registry. You can get a handle to the Registry from anywhere that you have access to the MuleContext, as in most Mule entities. For example, you could store the object as follows:
muleContext.getRegistry().registerObject("foo", new MyFoo());
You could then update the object from somewhere else:
Foo foo = (Foo) muleContext.getRegistry().lookupObject("foo"); foo.setBarVal(25); // Replace the previous object muleContext.getRegistry().registerObject("foo", foo);
This approach is useful for storing objects such as routers that are needed by multiple components across your application.
I’ve added this info to the Mule User Guide for easy reference in the future. Thanks to Travis and Andrew for the info.
Webinar: Scalable SOA with GigaSpaces and Mule
I am presenting a webinar with GigaSpaces tomorrow on Scalable SOA where we’ll be introducing a powerful joint solution integrating GigaSpaces’ XAP with the open source Mule ESB.
This webinar is intended for developers and architects looking for an end-to-end SOA solution, featuring application resiliency, failover and linear scalability
During this 1-hour event Uri Cohen, Product Manager at GigaSpaces and myself will introduce the joint solution and discuss the underlying details around how the Mule/GigaSpaces integration works. Attendees will see several ways to scale an SOA implementation, the benefits of this integration, example use cases, a live demo and more.
Who should attend?
- GigaSpaces users looking for a lightweight, flexible, integration platform that allows complex workflow support and connectivity with almost every possible protocol
- Mule users who are looking to achieve fault tolerance, high availability, linear scalability and self healing capabilities with their existing Mule applications
Logistics:
Date: February 11, 2009
Time: 9am PDT / noon EDT
Click Here to Register NowI am presenting a webinar with GigaSpaces tomorrow on Scalable SOA where we’ll be introducing a powerful joint solution integrating GigaSpaces’ XAP with the open source Mule ESB.
This webinar is intended for developers and architects looking for an end-to-end SOA solution, featuring application resiliency, failover and linear scalability
During this 1-hour event Uri Cohen, Product Manager at GigaSpaces and myself will introduce the joint solution and discuss the underlying details around how the Mule/GigaSpaces integration works. Attendees will see several ways to scale an SOA implementation, the benefits of this integration, example use cases, a live demo and more.
Who should attend?
- GigaSpaces users looking for a lightweight, flexible, integration platform that allows complex workflow support and connectivity with almost every possible protocol
- Mule users who are looking to achieve fault tolerance, high availability, linear scalability and self healing capabilities with their existing Mule applications
Logistics:
Date: February 11, 2009
Time: 9am PDT / noon EDT
Click Here to Register Now
Mule IDE 2.0 RC1 released
Today I released the 2.0 RC1 release of the Mule IDE. Not much changed since the last development snapshot but we have tested the IDE a lot internally on a variety of operating systems since then.
If you upgrade from a development snapshot, note that you’ll have to change the location of the update site: the snapshots were located under the snapshots distribution area but the new milestone release is located under . Note that you have to create a new update site URL in order to install the release candidate.
Webinar: Integrating with SalesForce
Are you looking to integrate on-premise applications with on-demand applications, such as Salesforce.com?
Join me for a technical webinar on integrating Salesforce.com with Mule. During this 30-minute event, I will demonstrate how to take an enterprise application integration (EAI) data synchronization pattern and extend it to integrate with data in the cloud..
Logistics:
Tuesday, February 3rd 2009
9am PT / noon ET
Click here to register now!
This webinar is primarily for architects and developers who are dealing with integrating on-premise applications with on-demand applications leveraging the Mule ESB.
If you have difficulty registering for this event, email: webinar@mulesource.com.