Today, the engineers of IBM introduced the features of MQ and MB, and their differences and contacts, feel very easy to understand, hereby record, convenient for future beginners can quickly grasp the characteristics of both.
First conceptually, MQ is message middleware, MB is an ESB product
MQ is responsible for passing messages between two systems, which can be heterogeneous, in different hardware, different operating systems, written in different languages, can communicate with each other simply by invoking several MQ APIs, and you don't have to consider the complexity of the underlying systems and networks. As an IBM blockbuster, MQ is a message queue, but it is the core of IBM middleware and an advantage over other vendors such as Bea. MQ not only has high performance, but also support for various platforms is very good, almost you can think of the hardware and operating system platform and programming language, MQ has a dedicated API support.
But the function of MQ is limited to message queue, as to the message format of applying a to apply B, can be applied to B parsing, MQ can't control, he just try to send the message to the destination (MQ can cope with a variety of exception conditions, such as network blocking, temporary interruption, etc.). In addition, if the number of applications is much, then an MQ connection is established between each other, and the network topology becomes a spider's Web (as if it were the original telephone system).
Therefore, we introduce the star topology of the network into the system architecture, and replace the one-to-one MQ with a central node, i.e. ESB,MB is IBM's ESB product.
MB is in the center of the system, playing a bus role, all applications are directly connected to MB, rather than direct interconnection between applications, such advantages are self-evident, can greatly reduce the coupling between applications. This leads to the two core functions of MB: Message Routing and Data transformation
Because each application is plugged into MB, applying a simply throws the message to MB,MB automatically according to the Message field, and the business logic, to whom you want to give the message, which, like a router, routes packets to the appropriate address according to the packet's head. MB internal business logic is set by developers, of course, using MB toolkit, writing business logic is also very simple: drag some nodes, with arrows to connect them, like a drawing flow chart, very simple image. Then use the MB scripting language (SQL-like script) to achieve logical judgment, popularly speaking is to determine which logical branch to go (If...else ...). )。
However, how each application is connected with MB. MB offers three ways: MQ, file, and Web service
MQ mode is to use MQ to interconnect MB with the application, the file is to specify a directory, MB will automatically monitor the file directory, once the file changes are considered to be the arrival of new messages, MB automatically read the contents of the specified file, and the Web service without explanation, directly using the Web Service for communication. MB supports these interconnection methods to maximize compatibility, especially for legacy systems or systems that do not support mainstream communication methods
Finally, a more partial-gate ESB product: a WebSphere ESB. Have heard of the people may not be many, because IBM in China to promote less, this wesb is very much like a compact MB, only support JMS, WS, and so on a few kinds of Java-EE communication, so is specially prepared for Java EE. Unlike MB, it supports dozens of of platforms and communication methods, such as FTP, and even a lot of old communications protocols that you have never heard of. The performance of the two is quite different, the price is three or four times times the gap. More importantly, the original WESB on the development of things, can not be migrated to MB use, IBM seems to iron heart to kill us, the only way is to buy another MB, and then use MQ to connect Wesb and MB, each run
Missed a datapower, this thing I just slightly understand, its selling point is that the hardware supports XML, so the performance is better, in addition to support the Web service security aspects. As a result, WESB is the smallest feature set, and MB has a certain overlap with the datapower function, such as XML
Last statement, I'm not advertising IBM.