ActiveMatrix SOA - Glossary and Terms

There are some common terms that apply across SOA, and are used throughout the ActiveMatrix documentation. Here is my attempt of explaining in my own words what these terms mean.

Composite Applications

Composite applications are really all about taking advantage of the existing web services within your organization and developing an application based on those services available, and/or adding supplementary services in order to achieve a goal. A composite application is a true realization of SOA, the benefits of SOA, and also the disadvantages it can bring...!

In ActiveMatrix you can develop composites from reusable services, these composite applications can then be deployed as services themselves. The composite developer has the option of either exposing the new service via the web (SOAP), or via topics/queues, or internally via an AMX service.

Mediations

A composite in its entirety is what I would personally term a "mediation". In essence a composite application needs to invoke calls on one or more services, perhaps in a particular order, and in some way do something with the results of these service calls.

In ActiveMatrix, Tibco provide a Mediation Component which allows the service developer to perform xml mappings, content based routing, logging, fault handling, amongst other functionality. In later posts I will provide some examples of "Mediation Flows".

EMS - Queues, Topics, and Bridges

Tibco's backend runs the ever-reliable Tibco EMS. These are the queues and messaging transport which support the whole AMX platform.  Wikipedia provide a decent overview of JMS, however, bridges are not covered.  An EMS Bridge is a configuration item that allows a topic to be "bridged" to a queue.  Essentially this is creating a durable topic subscriber and posting all messages received by the topic to the configured queue.

Service References

Service references in TIBCO ActveMatrix can either be:
  • A SOAP Service
  • A JMS Queue or Topic
  • Or an internal AMX reference (a link to a service existing on the AMX nodes)
Each service reference must comply with a wsdl.  Getting a wsdl to comply in Tibco Business Studio can be a somewhat entertaining experience - developers need to be aware of various namespaces, schema locations, etc - Business Studio usually needs to know about all of the schema references, so it is best practice to pull in any schemas used in your composite applications into your project (known as wsdl flattening).

0 comments:

Post a Comment