A Message-Driven Bean is basically an EJB that is a message consumer within the JMS messaging system. They receive messages from a JMS queue and act on those messages. The EJB container automatically manages the creation of these beans to process messages, and tosses instances when they are no longer needed. Essentially, the EJB container manages the object lifecycle. This includes the creation of multiple instances to process concurrent messages. This also (usually) includes security services and transaction management.
.NET Enterprise Services are a managed wrapper (code that runs within the .NET Framework runtime is called "managed code") for MSMQ and COM+ services that provide equivalent message queuing architecture, with object pooling, security, and transaction management built-in. You can register a .NET component with COM+ services, easily create message queues and have them invoke registered components (COM+ components) as part of a secure, distributed transaction. A great resource on this subject is Juval Lowy's book, COM and .NET, published by O'Reilly.
How you include COM+ components in transactions managed by MQSeries depends on the architecture of your solution. For example, BizTalk Server includes an MQSeries adapter that supports interaction with a clustered MQSeries server. Host Integration Server also supplies an MQSeries bridge. You can also leverage MQSeries internal support for application connectivity, to include COM+ objects within a managed MQSeries transaction. You need to look at the distribution of your application tiers and components, before selecting an approach.
Dig Deeper on Topics Archive
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.