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.
What is a Microservice?
Here is my short definition of a Microservice 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 Architecture from a TIBCO Perspective
The funny thing is that TIBCO customers have already been implementing Microservices for years. This blog post explains how you can use TIBCO products to create and manage Microservices.
The key products involved for creating Microservices include: TIBCO ActiveMatrix BusinessWorks, TIBCO Enterprise Administrator (TEA) for administration and monitoring, TIBCO Silver Fabric for Continuous Integration and Continuous Delivery (DevOps), and TIBCO API Exchange as a service gateway and self-service portal.
Figure 1 shows the basic architecture of a Microservices environment using 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). As TIBCO is “just” a middleware vendor, we do not care which technologies, databases, business applications or cloud services you use.
TIBCO ActiveMatrix BusinessWorks as Service Delivery Platform
TIBCO ActiveMatrix BusinessWorks offers powerful features for enterprise integration. It is the best choice if you need to implement complex integration scenarios including orchestration, routing or B2B integration (e.g. SAP or Salesforce). This part is often called Enterprise Service Bus (ESB), right? Are you aware that BusinessWorks was never branded ESB?
The reason is that the “ESB feature” is just one part of BusinessWorks. BusinessWorks is—and always was—a service delivery platform. Plenty of customers have used BusinessWorks to build business services for years now (see figure 2). Therefore, you can easily 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 a Microservice. The exposition of a Microservice is usually done with REST or SOAP standard interfaces. JMS is a great alternative to 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. For instance, you can use the FTL palette of BusinessWorks to use TIBCO FTL for real-time, high-throughput data distribution to virtually any device.
Click here for Part 2 of A Complete Guide to TIBCO: Microservices and DevOps.