Microservices and the Integration Platform by Robert Wunderlich

 

clip_image002In case you have not already heard of microservices, yet another evolution is upon us in the world of software development. A microservice is the antonym of the monolith and is a relatively new name for some concepts that have been around for some time. Microservices push us further toward the dream of decoupling with a promise of simpler, easier and cheaper services that are more reusable. As we get started, you can find a great primer on microservices through Martin Fowler’s blog at http://martinfowler.com/articles/microservices.html

Before I continue, I should point out that I am the Product Manager for Oracle Service Bus and that may cause you to wonder why I would be talking about microservices. As a matter of fact, Martin Fowler in his blog states “The microservice community favours an alternatitive approach: Smart endpoints and dumb pipes”. Others position microservices as an alternative to SOA even going as far as saying that microservices can be SOA done the right way.

You might think that as a product manager for an enterprise service bus product, I might be inclined to defend my product against this movement, but I don’t think that is necessary. I think this is not an either-or question, but rather a hybrid approach to integration and service delivery is a more realistic direction to take. Quite simply we will need to leverage microservices, and SOA and we can learn and apply principles from both.

In this post, I’ll very briefly discuss the evolution from the monolith to services. I’ll compare and contrast SOA and microservices, mainly because of how monolithic elements have grown in SOA over the years. I’ll point out some of the pain-points of both SOA and microservices and will conclude with how choosing a hybrid approach can realize the benefit of both SOA and microservices while helping to reduce the pain-points.

Our long journey in software development began with the mega-monolith, the mainframe. From the very beginning, business rapidly came up with new requirements for software and the need to bring new features to production faster continues to grow every day. In the early days, when mainframes ruled, the change cycles were extremely long.

An example of this comes from very large insurance company that I worked for. Just to make a small change in their claims processing system would take from months, up to a year or longer, and would be exceptionally expensive to complete. That change never happened because even though it would have helped the “human workflow”, it was just too expensive to implement. In those days of the mega-monolith, human users simply had to adapt to the machine even if it was not the most efficient approach, rather than to incur the cost of changing the system.

Our approach has evolved quite a bit since the early days of the mainframe. We determined that rather than change a large monolith, we could make incremental changes and integrate systems together in order to support business processes more rapidly. From the early integration patterns, we progressed to Service Oriented Architecture (SOA).

Over the years however, we have witnessed SOA implementations that have taken on a more monolithic approach so some observers have associated SOA itself as being monolithic.

I do believe that there is a place for monoliths and it is important for the practitioner to strike a balance of when to use a monolithic approach, and when to use a microservice approach. While we may be more familiar with SOA, let’s discuss some of the characteristics of MSA.

Microservice Architecture (MSA) is mostly an organizational approach to developing and delivering discrete functionality that is highly de-coupled. If anything is tightly coupled, it is the functions of development and operations which we will talk more about shortly. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Technorati Tags: SOA Community,Oracle SOA,Oracle BPM,OPN,Jürgen Kress

Advertisements

About Jürgen Kress
As a middleware expert Jürgen works at Oracle EMEA Alliances and Channels, responsible for Oracle’s EMEA Fusion Middleware partner business. He is the founder of the Oracle SOA & BPM and the WebLogic Partner Communities and the global Oracle Partner Advisory Councils. With more than 5000 members from all over the world the Middleware Partner Community is the most successful and active community at Oracle. Jürgen manages the community with monthly newsletters, webcasts and conferences. He hosts his annual Fusion Middleware Partner Community Forums and the Fusion Middleware Summer Camps, where more than 200 partners get product updates, roadmap insights and hands-on trainings. Supplemented by many web 2.0 tools like twitter, discussion forums, online communities, blogs and wikis. For the SOA & Cloud Symposium by Thomas Erl, Jürgen is a member of the steering board. He is also a frequent speaker at conferences like the SOA & BPM Integration Days, JAX, UKOUG, OUGN, or OOP.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: