Information Technology Reference
In-Depth Information
plemented in the JMS standard by meta-data association in the form of message
selectors , a string containing an expression based on a subset of the SQL92 condi-
tional expression syntax. For example, the message selector:
Type = 'Football' OR Type = 'Rugby'
selects any message that has a type property that is set to 'Football' or 'Rugby'.
In the JMS API, a message selector may be passed as an argument during
the creation of a message consumer and the message consumer will only receive
messages whose headers and properties match the selector.
2.6.3
Durable Topics
By default, events are only sent to consumers if the consumer is currently avail-
able. However, if the durable property is defined, then events are stored in the
publish/subscribe system and will be sent to consumers once they become avail-
able.
This feature, known as durable topics , requires the programmer to define two
additional properties so that the publish/subscribe system may uniquely identify
aconsumer:
• A client ID for the connection so that the system may have many different
durable consumers on different topics or on the same topic with different
message selectors.
• A subscription name for the consumer.
2.7 Chapter Summary
This chapter has discussed four common approaches to distributed systems devel-
opment which are broadly indicative of current distributed systems development
practises. We classify these approaches as follows:
1. The low-level API approach, which accesses the low-level protocol stack di-
rectly.
2. The RPC distribution obliviousness approach, which attempts to hide the
distributed system from the programmer.
3. The RPC distribution awareness approach, which ensures the programmer is
aware of the distributed nature of the application and requires the program-
mer to follow specific programming conventions.
4. The high-level framework or API approach, which provides a high-level li-
brary or framework that is used to hide low-level networking details from the
programmer.
BSD sockets are indicative of the first approach and provide low-level access
to the networking stack and therefore greater control, but requires significantly
more code than other approaches. Programmers are required to implement their
Search WWH ::




Custom Search