The notion of guaranteed delivery of Java Message Service messages has been
lightly touched on in other recently published articles on JMS. But what
really makes a JMS message "guaranteed"? Should you just take it on faith, or
would you like to know what's behind it?
This article answers these questions via a detailed discussion of message
persistence, internal acknowledgment rules, and message redelivery. Using
excerpts condensed from the book we coauthored, Java Message Service, we'll
explain how JMS guaranteed messaging works - including once-and-only-once
delivery semantics, durable subscriptions, failure and recovery scenarios,
and transacted messages.
JMS Guaranteed Messaging
There are three key parts to guaranteed messaging: message autonomy,
store-and-forward, and the underlying message acknowledgment semantics.
Before we discuss these parts, we need to revi... (more)
Since releasing my latest book, Enterprise Service Bus (O'Reilly Media,
2004), I have been doing a fair amount of visiting corporations, conducting
seminars, and generally discussing with enterprise architects the subject of
enterprise service-oriented architecture (SOA) and how an enterprise service
bus (ESB) backbone can be leveraged to provide a framework for an enterprise
SOA. Along the way, I have been asked many questions about the nature of an
ESB. I have also fended off some misconceptions that have been growing in the
general IT population regarding what an ESB is and wh... (more)
The past several years have seen some significant technology trends, such as
service-oriented architecture (SOA), enterprise application integration
(EAI), business-to-business (B2B), and Web services. These technologies have
attempted to address the challenges of improving the results and increasing
the value of integrated business processes, and have garnered the widespread
attention of IT leaders, vendors, and industry analysts. The enterprise
service bus (ESB) draws the best traits from these and other technology
trends to form a new architecture for integration. The ESB conc... (more)
Benchmarking any distributed computing middleware product is a complex task.
Knowing how well a distributed infrastructure will perform under heavy load
with a large number of concurrently connected users is a key factor in
planning a development and deployment strategy.
With the advent of Java Message Service (JMS) as the standard for a global
class middleware infrastructure, development organizations can enjoy the
luxury of building distributed applications using a common set of APIs and
message delivery semantics. At the same time they can pick and choose from a
variety of JM... (more)
The Open Services Gateway Initiative (OSGi) Alliance is working to realize
the vision of a "universal middleware" that will address issues such as
application packaging, versioning, deployment, publication, and discovery.
In this article we'll examine the need for the kind of container model
provided by the OSGi, outline the capabilities it would provide, and discuss
its relationship to complementary technologies such as SOA, SCA, and Spring.
Enterprise software is often composed of large amounts of complex
interdependent logic that makes it hard to adapt readily to changes in