Microservices and DevOps with TIBCO Products

Everybody is talking about Microservices these days. You can read a lot about Microservices in hundreds of articles and blog posts. A good starting point is Martin Fowler’s article, which initiated the huge discussion about this new architecture concept.

For an overview about requirements for a good Microservices architecture, also read this article: “Do Good Microservices Architectures Spell the Death of the Enterprise Service Bus?

Another great resource is an free on-demand webinar by vendor-independent analyst Gartner: “Time to Get Off the Enterprise Service Bus“. It does not even mention the term “Microservices”, but explains its basic motivation and concepts.

Definition of the Term “Microservices”

Here is my short definition of  the term “Microservices” and how it differs from a “classical” Service-oriented Architecture (SOA):

  • No commitment to a unique technology
  • Greater flexibility of architecture
  • Services managed as products, with their own lifecycle
  • Industrialized deployment

That is the beginning of the Microservices era: Services implementing a limited set of functions. Services are developed, deployed and scaled independently. This way you get shorter time to results and increased flexibility.

Microservices and TIBCO

The funny thing is that several TIBCO customers are already implementing Microservices for years. This blog post explains how you can use TIBCO products to create Microservices.

The key products are TIBCO ActiveMatrix BusinessWorks for creating Microservices, TIBCO Enterprise Administrator (TEA) for administration and monitoring, TIBCO Silver Fabric for Continuous Integration and Continuous Delivery (DevOps), and TIBCO API Exchange as service gateway and self-service portal.

The following shows the basic idea of how to create Microservices with TIBCO in combination with any other technology (e.g. Java, Python, Scala), product (e.g. Oracle, SAP, Salesforce), build tool (e.g. Chef, Puppet, Docker) or infrastructure (e.g. Amazon cloud, VMWare, OpenStack).

 

Side node: Be aware that the product is only one part of the story. Organizational changes are required, too. Adrian Cockcrof (former architect at Netflix) did a great talk about organizational changes: “State of the Art in Microservices“.

Now, let’s take a look at the products, which help you building, deploying, running and monitoring Microservices in a fast and flexible way.

TIBCO ActiveMatrix BusinessWorks for Creating a Microservice

TIBCO ActiveMatrix BusinessWorks is an enterprise integration and service delivery platform. Build your own Microservices using your choice of technology (e.g. Java, Scripting, a BusinessWorks process, or anything else) or expose an existing implementation as Microservice. BusinessWorks is the best choice if you need to implement complex integration scenarios including orchestration, routing or B2B integration (e.g. SAP or Salesforce).

The exposition of a Microservice is usually done with REST or SOAP standard interfaces. JMS might be used in an event-enabled environment.

You also use BusinessWorks to assemble your logic from several Microservices to composites, or extend your existing (Micro)Services to mobile applications.

TIBCO API Exchange for Exposing your Microservice via APIs

TIBCO API Exchange is used to expose Microservices via REST, SOAP or JMS including Policy-based API management features such as security, throttling, routing and caching. Besides, a portal is available for easy self-service consumption of Microservices. In the context of Microservices, API Exchange is used to enforce consumption contracts, ensure Y-scaling and reliability of Microservices, and to reuse Microservices in multiple contexts without change.

A New Front for SOA – Open API and API Management” explains the term “Open API” in more detail and gives a technical overview about the components of an API Management solution: Gateway, Portal and Analytics.

TIBCO Silver Fabric for Continuous Integration and Continuous Delivery (DevOps)

Automation is key for agile, flexible and productive Microservices development. Without continuous integration / continuous delivery (DevOps), you cannot realize the Microservices concept efficiently.

TIBCO Silver Fabric is used to continuously deploy, configure and manage your applications and middleware, on premise or in the cloud. It offers to end-to-end scripting, automation and visibility via dashboards, and monitoring the quality of deployed application, ports management and elastic load balancing.

TIBCO Silver Fabric offer several out-of-the-box features to run a project in a DevOps style. Besides, it supports tools such as Chef, Puppet and Docker. You can deploy Microservices everywhere including private data centers, virtual machines and cloud environments – supporting environments such as Amazon Web Services, VMWare or OpenStack. Important to understand is that every Microservice is build and deployed independently from each other.

TIBCO Enterprise Administrator (TEA) for Unified Administration

Unified administration and monitoring are another key success factor for Microservices – no matter which technologies are used to implement different Microservices.

TIBCO Enterprise Administator (TEA) is an unified graphical user interface (plus shell and scripting API) for administration, monitoring, governance, diagnostics and analytics of most TIBCO products such as BusinessWorks, EMS, SilverFabric, Hawk or PolicyDirector.

TEA can also be used for other non-TIBCO technologies and products such as Apache Tomcat out-of-the-box. If something is not supported yet, you can use TEA’s API to integrate it quickly. BusinessWorks 6 and TEA are very open products encouraging TIBCO community to develop additional features.

TIBCO Complex Event Processing and Streaming Analytics for Visibility across Microservices

Finally, after deploying and running your Microservices in production, you can use tools such as TIBCO StreamBase CEP to combining events, context and big data insights for instant awareness and reaction. Correlation of different events is the real power – ask people from Google, Amazon or Facebook about this topic… As this is a little bit off-topic, I just forward you to an article, which explains Event Processing and Streaming Analytics in more detail and discusses several real world use cases: Real-Time Stream Processing as Game Changer in a Big Data World with Hadoop and Data Warehouse.

TIBCO and Microservices are Friends and Profiteers, not Enemies!

As you can see, TIBCO products are ready for creating, deploying, running and monitoring Microservices. Products such as ActiveMatrix BusinessWorks, API Exchange and Silver Fabric are designed for the Microservice era. Actually, several TIBCO customers are using this approach for years, though this concept did not have a specific name other than SOA in the past. So, is Microservices a new name for SOA, or is it something new? Who knows… No matter what, you should start to think about using the Microservices approach, too!

Kai Waehner

builds cloud-native event streaming infrastructures for real-time data processing and analytics

View Comments

  • Hi Kai,

    thank you for that interesting introduction to microservices with some of TIBCO products. But what is a bit confusing to me is that you see the whole BW integration as part of the service product (Microservice). What DevOps taught me so far is a team should develop, deploy and run their services independantly and on their own responsibility. Should each team now have BW knowledge to build and manage their own integration logic?
    For me BusinessWorks does a good job in "enabling" Microservices more than in creating Microservices.

    Keep going, I like your blog posts and articles.

  • @Kay Lerch:
    You are absolutely right: BW is just one option of developing services. Of course, you can also use any other technology or product to build and deploy Microservices.
    TIBCO has customers where teams build integration and business logic with BW. other customers use BW "just" for integration services.

  • What if we already have existing services today on Tibco BW 5.x, how do we enable them as microservices? For example a soap over http or jms service with multiple operations. Do we just write a REST wrapper on top of it ? Do we need to decompose that existing service with multiple operations into multiple services one with each operation separated to make it loosely coupled?

  • I don't focus on TIBCO anymore, so you might contact your corresponding TIBCO contact person. In general, as you say, you either build a wrapper or decompose the application into multiples smaller services. Whatever is best for your project and what the tool allows to do easily.

Recent Posts

Real-Time Locating System and Digital Twin in Smart Factories with Data Streaming at Daimler Truck

Technologies like Real-Time Locating Systems (RTLS) and Digital Twin are transforming manufacturing processes in the…

19 hours ago

Data Streaming with Apache Kafka at Daimler Truck for Industrial IoT and Cloud Use Cases

As a global leader in the commercial vehicle sector, Daimler Truck is not only committed…

4 days ago

A New Era in Dynamic Pricing: Real-Time Data Streaming with Apache Kafka and Flink

In the age of digitization, the concept of pricing is no longer fixed or manual.…

1 week ago

IoT and Data Streaming with Kafka for a Tolling Traffic System with Dynamic Pricing

In the rapidly evolving landscape of intelligent traffic systems, innovative software provides real-time processing capabilities,…

3 weeks ago

Fraud Prevention in Under 60 Seconds with Apache Kafka: How A Bank in Thailand is Leading the Charge

In the fast-paced world of finance, the ability to prevent fraud in real-time is not…

4 weeks ago

When to Choose Apache Kafka vs. Azure Event Hubs vs. Confluent Cloud for a Microsoft Fabric Lakehouse

Choosing between Apache Kafka, Azure Event Hubs, and Confluent Cloud for data streaming is critical…

1 month ago