I’ve been involved with several projects that have used TN as broker (lower-case ‘b’ is intentional). Here are my thoughts:
-
TN can indeed be used to monitor transactions, regardless of origin. That is its forte. Think of the end-point applications as “partners” and everything falls neatly into place.
-
TN can be used instead of Broker. There are several threads in the forums that explore this. My contention is that TN is far more applicable to the majority of business integrations than is Broker.
-
IMO, there should be no distinction made between “B2B” and “EAI”. The concepts are basically the same. The methodologies for gathering requirements and designing solutions are the same. The tools can be the same. IMO, EAI and B2B are dated concepts–there is simply “integration.”
-
You’ll want to consider using Modeler. TN and Modeler approach the same basic problem (see note 1 below) in different ways. TN tackles it via document-oriented approach: figure out what document you have, determine which rule to invoke, take the action indicated in the rule, record the document and its status. Modeler takes a process-oriented approach: entry service is invoked, model kicked off, steps followed, pipeline stored at indicated steps. Part of the fun as an integration architect is determining which of these, or a combination of these, best fits the scenario at hand (including technical and non-technical considerations).
-
A pub/sub style approach can be implemented with TN, if solutions call for that sort of thing. There is an e-zine article on this site that describes an approach to doing that.
-
TN, in comparison to Broker, is pokey slow. You won’t see nearly the throughput in TN that is possible with Broker. On the other hand, a TN-Broker comparison is an apples and oranges proposition. Broker does one thing very well–manages subscriptions and publications. It does little else. That’s one of the reasons it’s a rock-solid component–it has great focus. TN does a whole bunch of things. It can parse documents (XML, flat-file, EDI, etc.) for identification and content-based handling. In can invoke services, send e-mail, send docs via http, ftp, smtp. It stores documents in a DB. It logs activity to a DB.
-
Using TN Console and TN Web one can check status of documents and reprocess them if needed. One downside is that providing end-user access to this can require some customization.
-
Modeler and Monitor provide process tracking and retries too. You’ll want to be diligent about how models are created and what they save to the DB, how they handle errors, etc. or you’ll quickly find yourself in a “everybody did it differently” mess. (This applies to using TN too.)
Note 1: I imagine someone will take issue with the claim that TN and Modeler address the same “basic problem.” We can take that up in another thread if desired.
TN has been used in internal integrations successfully, but the far more popular belief is that its really only good for interactions with external entities. So you may be wise to use TN only for that, lest you cause someone undue heartache.
You should investigate Modeler thoroughly. With a combination of Modeler and TN you’ll have most everything covered.
#webMethods-General#webMethods#webMethods-Architecture#Integration-Server-and-ESB