BEA has recognized the potential of Web Services. Many of the new features found in WebLogic Server 8.1 revolve around support of Web Services. These new features include support for asynchronous transactions, generation and orchestration of Web Services, and tools to ease the development of Web Services. The following is a detailed list of features:
Security and data encryption—
WebLogic Server 8.1 enables you to configure data security for Web Services. This is done using digital signatures and encryption.
WebLogic Server supports SOAP messaging. It allows an application running on one server to exchange messages or execute Web Services on another server. WebLogic can ensure that this interaction happens. However, it's important to remember that this reliable SOAP layer is specific to the WebLogic environment. JMS can be used to store SOAP messages. This helps in asynchronous processing of the messages, as well as providing a level of scalability and fault tolerance. WebLogic Server provides support for using SOAP 1.2 as the message format. WebLogic Server also supports the SOAP with Attachments API for Java (SAAJ) 1.1.
Asynchronous processing is a concept that is becoming increasingly popular in the world of transactions and is especially important for Web Services. Let's get straight to an example so that we can understand this better.
Assume that you're applying for a home loan. You go to one of the many Internet sites that enable you to apply for such a loan. The site promises to get you multiple quotes from leading lenders. You have the ability to apply for the loan and then to receive an email from the site to inform you that you've received some quotes. You don't have to wait online to receive the quotes. This is important because the process of issuing a quote based on your loan application generally needs a manual review of your application, which cannot always be done in real-time.
This is an example of an asynchronous process or transaction. In the Web Services world, a Web Service might trigger multiple Web Services, and then go and do something else. When the Web Service that is triggered responds, the originating Web Service must process the result from this Web Service and decide what to do next. This is the basic idea behind an asynchronous Web Service.
You can refer to the Workshop documentation for more details on asynchronous Web Services. Go to the Workshop docs at http://edocs.bea.com/workshop/docs81/doc/en/core/index.html and click on Designing Asynchronous Interfaces in the left navigation bar in your browser.
WebLogic has support for long-running, asynchronous Web Services. This means that a Web Service issues a callback to indicate to the client that it has completed. The client need not wait for this callback. When the client receives the callback, it can continue processing. These Web Services can be RPC-based or document-based.
Conversational Web Services—
Web Service client state information can be persisted on the server and maintained across several method invocations. This reduces the amount of data that needs to be passed back and forth between the client and server.
XMLBeans and other technologies provide the capability to manipulate value objects using Java code or XML. Behind the scenes, WebLogic maintains both the value object in java, as well as an XML representation of this value object.
Web Services execution—
WebLogic Server supports the execution of Web Services over HTTP and JMS.
J2EE and Web Services—
Web Services utilize the benefits of the underlying WebLogic Server and J2EE architecture, including security, scalability, and reliability. J2EE components such as stateless session EJBs and JMS components can be used to implement Web Services.
Ant tasks for Web Services—
Several Ant tasks are part of WebLogic Server to aid in creating, packaging, and deploying Web Services.
WebLogic Server comes with a full UDDI registry and explorer that can be used to publish private and public registries for Web Services. This enables Web Service developers or providers to register their Web Services and potential consumers to find these Web services, much like a search engine.
This is a unified development environment for developing, testing, and deploying applications on WebLogic Server.
JWS extension support—
This set of Javadoc tags allows a Web Service to be created with a single file and builds a complete Web application to support the Web Service. BEA has submitted this to the Java Community Process for adoption as a standard.
WebLogic Server Administration Console integration—
The existing Administration Console can be used to deploy and monitor Web Services.
Testing Web Services—
WebLogic Workshop creates a home page for Web Services created with it. These pages provide all the details of the Web Services, as well as the capability to test the Web Services and to see the various steps as they execute.