Problem solve Get help with specific problems with your technologies, process and projects.

How can I create the equivalent to a J2EE message-driven bean in .NET?

I want to create a COM+ component which reads the messages from queue on MQSeries. Will the load balancing be done by creating more instances of my component by the MTS or CLR? Also, I want to a have a equivalent application to a Message Driven Bean in J2EE. How is it possible in the .NET architecture?
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

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.