Some reader favorites:
EJB fundamentals and session beans
Create a scrollable virtual desktop in Swing
Wizard API updated!
Tim Boudreau has released a new version of the Swing Wizard library (version 0.997) that fixes the WizardException bug reported in JavaWorld's recent Open Source Java Project profile. The article's examples have been reworked to test out the new, improved WizardException. Thanks, Tim, for this helpful fix!
Open Source Java Projects: The Wizard API
Over the past few years, SOAP has become the de facto standard and backbone for enabling inter-application communication. For the most part, SOAP has been successful in realizing the promise of cross-platform, cross-language integration of devices and software applications that need to communicate.
The strength of SOAP is in its simplicity, flexibility, and its universal acceptability. It lays out simple rules and an XML language of communication between devices and software that need to interact. These rules have been established by the World Wide Web Consortium and backed by industry heavyweights such as IBM, Microsoft, BEA, HP, and Sun Microsystems.
Most existing Java or Enterprise JavaBeans (EJB) applications that cater to specific business functions do not support such SOAP-specific XML consumption and generation. When undertaking standards-based integration efforts, these applications need to talk the language of SOAP and XML. Hence, for business applications that provide critical business functions, a need exists for a bridge layer that can consume and generate SOAP-specific XML. Apache Axis is the open source platform that provides the bridge layer between your applications and SOAP-based Web service interactions.
The Apache Axis Java toolkit provides a thin layer of in-direction between the client wishing to speak SOAP and the server wishing to understand SOAP. The beauty of Axis is that the same toolkit can be used at both the client and server. When used by the client, the Axis toolkit serves as an intermediary between native Java and the underlying encoding of information sent to the server in SOAP XML format. When used to enable a server as a Web service, the toolkit's role reverses and serves as an intermediary between underlying SOAP XML encoding and native Java.
Most common SOAP-based Web services implementations are over the HTTP protocol. However, in implementations that require SOAP to be enabled over a protocol more reliable than HTTP, message-oriented middleware (MOM) is an obvious choice. In addition, the features of commercially available MOM, such as guaranteed message delivery, transactional support, encryption, high performance, and high availability, make the case for combining SOAP and MOM more compelling and appealing.
Axis implementation for HTTP-based SOAP is straightforward. However, enabling Axis over MOM has not always been easy. In this article, I examine key components that come bundled in Axis and introduce additional components that are needed to let Axis work with MOM.
Please refer to resources Resources for the basics on SOAP and Axis.
MOM-based Web services are not suitable for all types of applications. Ideally, they are suited for interaction between applications within an organization or between organizations that require SOA (service-oriented architecture) implementations with service-based consumer and provider paradigms. For such implementations, a MOM-based architecture offers the following benefits:
In this article, we use Axis as the plumbing for SOAP Web services at both the client and the server. Thus, Axis is responsible
for processing information that flows between the client and the server. Let's take an example of a stock-quote Web service
to understand how Axis can be enabled over MOM. Our stock-quote Web service provides a stock price for a stock symbol. It
has a single function, getStockPrice(String stockSymbol), that accepts a stock symbol string as a parameter and returns back a price string. Communication of the stock-quote Web
service between the client and server is completed by Axis via MOM. Various types of MOMs, such as IBM's MQSeries or Sonic
Software's SonicMQ, can be used. The only MOM requirement is that queues created in these MOMs should be accessible in an
enterprise Java application server via Java Message Service (JMS). For purposes of our discussion, we assume one such MOM,
and I do not go into the specifics of enabling the queue access in MOM. Your enterprise Java application server and MOM documentation
serves as the best source for such information.
Let's first understand the importance of each of the components involved in enabling Axis and the MOM-based Web services application before delving into how these components interact to achieve the needed functionality.
Axis over message-oriented middleware. Click on thumbnail to view full-sized image.
As shown in the figure above, StockQuoteServiceProxy, JMSSender, JMSReceive, and the client and server Axis engine are the key components. Let's understand these components and how they interact.
Let's look at Client below:
...
public class Client
{
public static void main() throws Exception
{
String stockSymbol = "IBM";
// Initialize proxy
StockQuoteServiceProxy serviceProxy = new StockQuoteServiceProxy();
// Invoke function
String stockQuote = serviceProxy.getQuote(stockSymbol);
System.out.println("Price of " + stockSymbol + " is " + stockSymbol);
}
}
...
As illustrated in the code above, a Java client invokes getQuote(String stockSymbol) on the StockQuoteServiceProxy class. The client is completely unaware of the underlying SOAP and MOM plumbing used to enable the service.
| Subject | Replies |
Last post
|
|
By MichaelJBillings |
0 |
02/20/07 09:33 PM
by MichaelJBillings |
|
By JavaWorld
|
1 |
10/05/06 09:28 AM
by Anonymous |
|
By Dan Diephouse |
1 |
10/03/06 12:52 PM
by Anonymous |
|
By Anonymous |
1 |
05/09/06 07:11 AM
by Anonymous |
|
By Anonymous |
0 |
02/24/06 03:37 PM
by Anonymous |
|
By RobMeyer |
0 |
02/20/06 07:45 PM
by RobMeyer |
Free Download - 5 Minute Product Review. When slow equals Off: Manage the complexity of Web applications - Symphoniq
![]()
Free Download - 5 Minute Product Review. Realize the benefits of real user monitoring in less than an hour. - Symphoniq