[This article was posted some time ago on the TIBCO Blog, already. I also added some information about BusinessWorks Container Edition (BW CE) where appropriate. Most of the characteristics defined below are true for both, BW6 and BW CE]
TIBCO ActiveMatrix BusinessWorks 6 (BW6) is a modern integration and service delivery platform ready for modern concepts such Mobile, Cloud, Internet of Things or Microservices. This article is no introduction to integration and service delivery platforms in general, but focuses on differentiators of BusinessWorks 6 compared to other integration solutions available on the market. If you want to see a general introduction to TIBCO ActiveMatrix BusinessWorks 6, explaining its basic concepts and capabilities such as:
- zero-coding process designer for quick implementation, testing, and maintenance
- distributed scalability for mission-critical systems and ultra-high performance
- standards-based service and application integration
- out-of-the-box integration to other TIBCO products such as EMS, FTL, ActiveSpaces, BPM, API Exchange, MDM, StreamBase, Live Datamart or BusinessEvents
then please refer to the information and videos on here.
Not every feature described below is completely new to the middleware world, i.e. some are also available in other vendor’s platforms (or in BusinessWorks 5, of course), but the combination of all of these features in a single integration solution is unique and makes every user happy—no matter if it’s an integration designer, hardcore developer, tester or administrator.
The following four sections describe how TIBCO ActiveMatrix BusinessWorks 6 makes a difference compared to other integration and service delivery platforms:
- Easy Process, Service and API Implementation
- Support for Complete Development Lifecycle
- Modular Lightweight Platform
- Unified View for Central Management and Monitoring
This post also adds some information about BusinessWorks Container Edition (BW CE), which is a cloud-native “abstraction” of BW6, based on the same code base, but ready for the cloud and its specific requirements such as container-supported deployment.
1) Easy Process, Service, and API Implementation
Easy process, service, and API implementation is necessary to adapt integration problems in a fast and agile way.
- As usual, you can drag and drop either an activity (e.g. mapper) or a connector (e.g. SAP or Salesforce) to the workspace.
- In addition, you can also drag and drop other artifacts. For example, dragging a CSV file creates a popup where you can select one of several File activities such as a FilePoller. This step also automatically adds configuration such as the file name. The same is possible for parsing a XML Schema, sending a SQL statement to a relational database, calling SOAP/REST services or BusinessWorks processes, and others.
- Thereby, mappings can use data from all previous activities as input instead of just the last activity or using a workaround such as storing information into a variable.
- The intelligent mapper includes auto-complete features (e.g. adding parentheses or commas between different inputs in a function), automatic warnings (e.g. if 0 is used for an 1-based array index) or quick fixes (e.g. for type conversion).
In most tools, you have to implement each SOAP or REST service operation in a single process. This gets really confusing in more complex services and projects. In TIBCO ActiveMatrix BusinessWorks 6, all operations of a service can be implemented in one single process. Each operation can be shown or minimized. SOAP and REST services can also be implemented within one single process implementation. Of course, within an operation, you can call several different REST, SOAP and/or BW processes.
Stateless vs. Stateful Services and Processes
While REST services are always stateless by definition, SOAP services and BusinessWorks processes can also be stateful. The IDE allows you to select a stafeful checkbox and makes your life easier for implementing stateful services, for example not allowing implementing a REST service or storing state in-memory instead of needing an external persistence store. The conversation feature creates correlation IDs and the BusinessWorks engine helps to correlate everything automatically without coding. Conversations represent two or more related message exchanges in the same process, which are correlated by the engine. For example, a conversation between a process and its clients, or between a process and its backend service.
BusinessWorks Container Edition is stateless by default. You can still “create state” (e.g. by writing data to a message queue or database), but some features of BW6 are missing, because BW CE is cloud-native supporting PaaS platforms and containers (which are usually built stateless).
Compensation Handler and Exception Handling
Transactions are complex and an anti-pattern for modern architectures, especially in distributed systems. Two-Phase-Commit (aka XA) transactions are even worse. Many technologies do even not support transactions at all. SOA introduced the concept of compensations to revert actions after an exception occurs. BusinessWorks 6 offers compensation handlers and a sophisticated, but easy model to define scopes with activities and exception handlers.
2) Support for Complete Development Lifecycle
Support for the complete development lifecycle within one single IDE is important for agile projects. BusinessWorks 6 supports all stages such as development, debugging, testing, and deployment based on the Eclipse ecosystem.
Combination of BusinessWorks Processes and Java Coding
Development, debugging, testing, and deployment are possible in one single environment. Seamlessly implement BusinessWorks processes and Java code using native Eclipse features such as its source code editor or debugger. Deployment, execution, and debugging can be done locally or on a remote server on premise or in the cloud. End-to-end automated testing both at unit and project level are supported by using BusinessWorks JUnit plugin and Eclipse SDK.
Configuration on Different Levels at Design Time and Runtime
Application configuration profiles offer customizable alternatives to choose from at design and runtime. Application properties can be configured at runtime via command line or web user interface. Process variables exist in one process instance while process properties exist for all process instances.
Open Eclipse Ecosystem
The BusinessWorks 6 IDE is just Eclipse with added TIBCO Eclipse add-ons. Thus, this is no full blown, slow, memory-consuming and inflexible monolith on top of Eclipse. For instance, the XML and WSDL editor is “just” the shipped Eclipse editor. IDE Perspectives such as Java, Design or Debug and Views such as Project Explorer, Palette or Problems are familiar to every Eclipse developer.
You can also create new connectors and other add-ons quickly and easily using Eclipse’s Plug-in Development Kit (PDK) and its Wizard based code generator. New TIBCO and community connectors are added via the standard Eclipse update site. Any Eclipse plugin—no matter if open source, proprietary or self-written—can be added. Examples: JIRA, Git, Docker, Jenkins, you name it…
3) Modular Lightweight Platform
Now, it is time for a “must-mention” buzzword: Microservices. BusinessWorks 6 supports Microservices. Or, what I like to say, “SOA done right.” This can means a lightweight platform, first-class support for rest services, independent development and deployment, continuous integration and continuous delivery, and cloud-readiness.
First-Class REST Support
The creation of a REST service is very simple and supported out-of-the-box as first-class citizen (see this 5 min video). Swagger—a simple yet powerful REST framework—is used for testing REST services. Swagger documentation is auto-generated, and provided for any REST endpoint build and deployed using BW6. TIBCO API Exchange can be leveraged to make this REST service available as Open API via the Swagger-generated document. Of course, “old” standards such as SOAP or JMS are supported implicitly within BusinessWorks 6 and API Exchange, too.
TIBCO ActiveMatrix BusinessWorks 6 uses a scalable runtime with low hardware footprint. Each service is managed, deployed, and scaled independently from each other. Thus, new features, change request, and scalability can be adapted very flexible due to changing business requirements without re-deploying complete applications or large enterprise archives. Different services can be deployed to a single BusinessWorks engine or scaled out to several different runtimes.
By the way: TIBCO ActiveMatrix BusinessWorks 6 applications can also contain Java bundles alone or in combination with BusinessWorks processes. This way, advantages of BusinessWorks such as administration, monitoring or mission-critical SLAs such as high scalability or failover can be leveraged for Java projects, too.
BusinessWorks Container Edition is even more lightweight. It is a cloud-native integration platform, which can be deployed on Cloud Foundry PaaS. Important: It is vendor-agnostic! You can also deploy it on other cloud platforms. You can expect announcements about Docker and its related platforms such as Kubernetes or Red Hat’s OpenShift very soon!
Continuous Integration and Continuous Delivery
Another part of modern software development—call it Microservices, agile, or whatever—is Continuous Integration and Continuous Delivery to enable quick releases, bug fixes, and change requests of services. BusinessWorks 6 offers a specific Maven plugin (optimized for BusinessWorks), but also supports any other framework such SVN or Git for version control management, ANT or Gradle for build management, or Jenkins for continuous integration. Many customers use TIBCO SilverFabric for Continuous Delivery and elastic on-premise, cloud, and hybrid deployment. Besides, you can also use other tools such as Chef, Puppet or Docker as standalone framework or in combination with TIBCO SilverFabric.
Support for Mobile Devices and Internet of Things
BusinessWorks 6 is ready for the future, i.e. mobile devices and Internet of Things. Use the mobile plugin to send push messages to mobile devices such as Apple or Android operating systems and receive them in Mobile Apps using Java, ObjectiveC, Swift, and other technologies.
TIBCO Expresso allows turning plain old APIs into Consumable Evented APIs. More information on this add-on and its architecture can be found here.
The TIBCO FTL plugin allows connecting into TIBCO’s capabilities for extreme low-latency messaging middleware to make your IT infrastructure ready for the Internet of Things. Millions of messages a second are possible. That explains the acronym FTL: “Faster Than Light.” TIBCO eFTL extends TIBCO FTL messaging to platforms such as web browsers and mobile phones leveraging WebSockets.
Most customers still use on-premise deployments based on classical servers or virtual machines. However, BusinessWorks 6 is ready for the cloud and container-based development… whether you want to keep the classical strategy or move to new concepts such as private, public or hybrid cloud using solutions such as SilverFabric, CloudFoundry, Amazon Web Services, or anything else… whether or not you keep a classical development lifecycle using development, test, and deployment in different stages or move to Microservices, “containerization” with Docker, or Continuous Delivery/DevOps.
This all is also the foundation for Microservices—it doesn’t matter if you care about Microservices or just say it is a buzzword, let’s agree on the following: Microservices = SOA done right! BusinessWorks 6 is the right tool to implement it! See “Do Good Microservices Architectures Spell the Death of the Enterprise Service Bus?” for additional information.
BusinessWorks Container Edition also integrate natively with PaaS features like elastic scalability, service discovery, dynamic distributed configuration, central logging or implicit cloud messaging (e.g. Cloud Foundry’s NATS for “internal messaging”). Thus, you can leverage all these features with this cloud-native integration solution out-of-the-box.
4) Unified View for Central Management and Monitoring
TIBCO products such as BusinessWorks, API Exchange, EMS, BusinessEvents, StreamBase, MDM, LogLogic, Hawk, etc. are loosely coupled, but highly integrated. The same is not just true for development environment and runtimes, but also for management and monitoring using TIBCO Enterprise Administrator (often abbreviated just TEA).
Unified Web Interface for all TIBCO Products
TEA offers a unified web interface for most TIBCO products for Administration, Monitoring, Analytics, Diagnostics, and Governance. The user experience is the same for all products—no different layouts, menus or behaviors. TEA can be used across all devices, such as web browser, tablet or mobile phone. Several TIBCO products are already integrated, such as BusinessWorks (BW), Enterprise Message Service (EMS), Master Data Management (MDM), Hawk, and others.
BusinessWorks Container Edition leverages the monitoring tool of the specific PaaS cloud platform you use (e.g. CloudFoundry or Kubernetes). This way, you can monitor BW CE services like any other Microservices on that platform in a unified way.
Support for Non-TIBCO Products
TEA is not only used for TIBCO products. An open API allows creating agents for any other application. For instance, an agent for Apache Tomcat is already available.
In large deployments, you can quickly lose the overview about all different environment, products, and services. Project-specific Solution Views allow categorizing only relevant information of a specific project or information for a specific stakeholder—not just for one product, but a combination of different products such as BusinessWorks, EMS, and Hawk on one screen. System views are another alternative for categorization to administrate and monitor infrastructure or product installations.
Migration Path for BusinessWorks 5
Last, but not least, an important message for existing TIBCO customers: BusinessWorks 5, which has been available for over 10 years now, will still be supported for a very long time. Thousands of customers use it in mission-critical systems. Our recommendation is to use BusinessWorks 6 and all its great new features for new projects. Only migrate old projects right now if you can create added business value or if technical reasons require it.
A migration path from BusinessWorks 5 to BusinessWorks 6 is available, including automatic scripts and best practices. Be aware of the classic “80/20 rule.” Not everything can be migrated automatically. Please ask your TIBCO contact for more details.
TIBCO ActiveMatrix BusinessWorks 6 Is Ready for Prime Time
TIBCO ActiveMatrix BusinessWorks 6 is a leading Integration and Service Delivery Platform. Many customers are already starting new projects with it. Several deployments are already in production.
BusinessWorks 6 is a modern platform ready for Mobile, Cloud, Internet of Things and Microservices. The combination of these features in a single solution is unique and makes every user happy, whether it’s an integration designer, hardcore developer, tester or administrator.
Try it out by downloading the BusinessWorks 6 evaluation version or getting in touch with your TIBCO contact for a download link of the current Enterprise version. TIBCO is happy to present demos and discuss POCs. More blog posts will follow to go into more detail about all the described features of BusinessWorks 6. For now, happy integration…
BusinessWorks Container Edition is also ready for prime time as the only available cloud-native integration solution on the market. Leverage its lightweight and cloud-native API-first approach and deploy Microservices to container-based PaaS platforms.
This blog post showed many differences between BW6 and BW CE on one side and BW5 on the other side. A more detailed post comparing BW6 with BW CE (and also discuss when to use which one) will come soon…