Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Message-oriented middleware
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Disadvantages== The primary disadvantage of many message-oriented middleware systems is that they require an extra component in the [[software architecture|architecture]], the message transfer agent ([[message broker]]). As with any [[system]], adding another component can lead to reductions in [[computer performance|performance]] and reliability, and can also make the system as a whole more difficult and expensive to [[software maintenance|maintain]]. In addition, many inter-application communications have an intrinsically [[Synchronization (computer science)|synchronous]] aspect, with the sender specifically wanting to wait for a reply to a message before continuing (see [[real-time computing]] and [[near real time|near-real-time]] for extreme cases). Because message-based [[data communication|communication]] inherently functions asynchronously, it may not fit well in such situations. That said, most MOM systems have facilities to group a request and a response as a single pseudo-synchronous transaction. With a synchronous messaging system, the calling function does not return until the called function has finished its task. In a [[loose coupling|loosely coupled]] asynchronous system, the calling client can continue to load work upon the recipient until the resources needed to handle this work are depleted and the called component fails. Of course, these conditions can be minimized or avoided by monitoring performance and adjusting message flow, but this is work that is not needed with a synchronous messaging system. The important thing is to understand the advantages and liabilities of each kind of system. Each system is appropriate for different kinds of tasks. Sometimes, a combination of the two kinds of systems is required to obtain the desired behavior.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)