December 4, 2006
TIBCO ActiveMatrix: One Container to Rule Them All
I’m proud to work for a company that produces innovative software in a space dominated by companies who purchase innovative software companies but rarely innovate themselves. Today TIBCO (my employer) launched three new products under a new brand, TIBCO ActiveMatrix. These products are designed to mitigate some of the complexity that comes along as an unfortunate side-effect of embracing SOA styled development.
Forget the marketing terms and high level messages — what do the products that TIBCO released today really do?
TIBCO ActiveMatrix Registry is a UDDI registry product powered by Systinet’s award-winning technology. The real value in TIBCO’s registry product comes from integration with other TIBCO products. If you don’t know what a registry is, READ THIS.
TIBCO ActiveMatrix Policy Manager allows you to rapidly deploy security, logging, and routing logic in front of SOAP-based services without modifying those services’ actual code. The creation and management of those “policies” is done graphically, further increasing how rapidly one can create or modify such policies. TIBCO’s offering doesn’t offer any new policy types, but instead derives its advantage from incredibly tight integration with the core technology that powers the third product launched today: the TIBCO ActiveMatrix Service Grid.
What is TIBCO ActiveMatrix Service Grid, other than a mouthful? TIBCO is calling it a “Service Virtualization Platform”, but this product does more than those words imply. In brief, ActiveMatrix Service Grid:
- allows you to deploy services written in myriad languages (.Net and Java today) to one container (a node)
- enables deployment of those services using the same mechanisms regardless of language
- allows you to write only the code that does something, letting the container manage communications with other services (regardless of the node the service is deployed to)
- makes it possible for services to communicate in process if deployed to the same node
- does all the things application servers do for Java, but does those things for all supported languages in a standardized way (including resource pooling, transaction management, and monitoring of deployed services)
- allows all communication related details to be changed ad-hoc (late binding of transports, etc)
- integrates policy management deep within the container so you don’t need to think about during development of your services
- links all nodes into a grid, handling all communications between nodes behind the scenes
That’s a lot to think about. Let’s take on a concrete example: you’re building an new application. A couple of years ago, you might have built that application as a bunch of Java code and deployed it to JBoss. Today you’re supposed to break the application down into re-usable services and then “compose” or “orchestrate” those services into the application you would have just built before. Enter AM Service Grid.
You break your application down into four pieces, or services. You decide to build one of those services in .Net and the other three in Java. You deploy all four the same way, using AM Service Grid. Your application can now run as one OS level process with all the services communicating in-process even through one of those services is .Net. You have an XA level transaction that spans all four services and you didn’t need to do anything fancy to make that work. Database connections are shared across all four services. When your .Net service invoked one of the Java services it did so with a single line of code, as if it were simply invoking a function.
Four months have gone by. Another department in your company wants to re-use your .Net service as part of a new application they are building, but they don’t want to host their application on your server. No problem here — they still invoke your service with one line of code, but now that call flows from their node to your node, and the response comes right back. Time to put their new application into production. Maybe the sysadmins decide that this new application should be deployed to the same node as your application. No problem, no code needs to be changed, and now the communication is in-process again.
Two years later your company’s compliance officer tells you that all the social security numbers flowing between the application services must be encrypted and a log must be created with a dump of all updates to a certain list of employee records. Still not a problem. You purchase the ActiveMatrix Policy Manager, create a policy that does exactly what you’ve just been asked to do — but graphically, without writing code — run through a quick test cycle in your QA lab, and then deploy this policy to your applications without changing a single line of your service code or redeploying your services.
Even cooler: the list of languages TIBCO plans to support includes scripting languages like Ruby and Python. Why? Because sometimes scripting languages really are the right choice. After all, most of TIBCO’s customers are large IT shops building business applications and not building software packages.
Sometimes you don’t even want to write your application in a scripting language because you’d rather graphically mash-up a few services to create a high level business service. Again, no problem. The technology at the core of the ActiveMatrix Service Grid is being added to all of TIBCO’s existing software so those other products can run on nodes and make their resources available as services on the grid. This also means you will be able to easily orchestrate ActiveMatrix grid services using TIBCO’s award-winning BusinessWorks product. You’ll even be able to use BusinessWorks to easily expose “legacy” systems as grid services using this mechanism.
There’s more, of course. You get all the stuff you’d expect from a company like TIBCO: fault tolerance and load distribution features, standards compliance (JBI and SCA are two big ones), message translation, built in management and monitoring, and all the rest.
Have your cake and eat it too. TIBCO’s ActiveMatrix products allow your to build applications as re-usable services without losing the ability to rapidly create applications that deliver real value today. ActiveMatrix does this with some truly new technology. Is it a Service Virtualization Platform? A Distributed SOA Container? A Grid of SOA Servers? That’s the problem with something truly new; no matter what you call it, no one knows what you’re talking about.
(Disclaimer: As indicated at the beginning of this article, I am employed by TIBCO Software, Inc. , the company that just released this product. Further, this article was written and published without the approval or explicit knowledge of TIBCO Software, Inc. )
[…] Service Virtualization, a key feature of TIBCO ActiveMatrix Service Grid, is a technology meant to help companies deal with the complexity that comes with doing large-scale heterogeneous SOA. Period. Matt spent some time at the beginning introducing some of the problems companies with large service networks are beginning to face, including communications management and service scaling challenges. Matt then talked about how TIBCO’s approach to Service Virtualization helps to solve these problems. […]
[…] TIBCO Software, Inc.’s ActiveMatrix product launched the first week of December. In the intervening two weeks there has been quite a bit of written about this new product. What follows is a quick overview of what people are saying about ActiveMatrix and service virtualization. […]
TIBCO’s ActiveMatrix JBI Support …
The success of TIBCO’s ActiveMatrix seems to be tied to the adoption of Java Business Integration (JBI) JSR-208. IBM, BEA and of course Microsoft have no plans to support JBI. That’s too bad, since JBI could give us a meaningful definition of what it…
[…] Reading http://rourkem.com/2006/12/04/tibco-activematrix-one-container-to-rule-them-all/ I was struck by the significant progress that TIBCO has made in the last few years, in particular the further abstraction of the Enterprise Java Beans concept to the point where modules written in practically any language can be hosted and flexibly deployed into the TIBCO Active Matrix Service Grid: […]
[…] Rourke Mcnamara Weblog […]
[…] written about this new product. What follows is a quick overview of what people are saying about ActiveMatrix and service […]