BEE is positioned as an intermediary between the application that uses it and the JMS API. It isolates totally the application who uses this API.
To benefit of JMS message service, the application involves only a few functions provided by the interface of BEE.
This interface consists of a single class «Beepin» which (version 1.0.0) exposes only 5 methods which allow the use of the component. The class diagram and the source code documents give more details about it.
Only the enumeration «ChannelType» and the class «Beepin» are accessible from the outside of the component (public visibility).
«ChannelType» lists the three types of channels supported by BEE:
- LOCALCHANNEL: Broadcast channel (Topic in JMS register) local to the application server JVM.
- FOREIGNCHANNEL: external broadcast channel, available through a network communication.
- QUEUECONTROLCHANNEL: Point to point communication Queue (Queue in JMS register).
- Initialize BEE by providing the necessary parameters: Component ID, address and listening port, remote login and password.
- Add channel of one of the three supported types and a «conversation language» as words list (msgTypes).
- Subscribe to a broadcast channel to receive messages.
- Send a message to a particular channel.
- Read a message on a particular communication Queue.
The class diagram details the internal structure of BEE:
- It enables the creation of any number of communication channels.
- These channels may be of three different types as indicated.
- Each broadcast channel may have any number of subscribers.
- Communication Queues permit the conveyance of point to point messages and do not include a subscription mechanism.
These treatments are such that no configuration file is required. All initializations of services are done dynamically by BEE. They include, also, all the JMS calls and references to its API. BEE clients are completely isolated from JMS while benefiting from its services. That's the whole point of this component.