Skip navigation.
Downloads | Product Documentation | Support

Programming WebLogic JMS

# WebLogic JMS Thin Client

The following sections describe how to deploy and use the WebLogic JMS thin client:

- Overview of the JMS Thin Client
- JMS Thin Client Functionality
- Limitations of Using the JMS Thin Client
- Deploying the JMS Thin Client

# Overview of the JMS Thin Client

While the size of the full WebLogic JAR may not be a problem when you run server-side applications, it does cause a very large footprint for enterprise-level client-server applications that may be running thousands of clients. Having to deploy the full 20+ MB `weblogic.jar` file along with a client application can significantly increase the size of the deployed application, possibly making it too big to be practical, as is the case with a Java applet-based client program.

At around 400 KB, the JMS thin application client (`wljmsclient.jar`) file provides a much smaller client footprint than the full WebLogic JAR, by using a client-side library that contains only the set of supporting files required by client-side programs. The JMS thin client also requires that you use the standard WebLogic thin application client (`wlclient.jar`), around 300 KB, which contains the base client support for clustering, security, and transactions.

The WebLogic thin application clients are based upon the RMI-IIOP protocol stack available in JRE 1.4.n. RMI requests are handled by the JRE, enabling a significantly smaller client. Client-side development is performed using standard J2EE APIs, rather than WebLogic Server APIs.

For more information on developing WebLogic Server thin client applications, see "Developing a J2EE Application Client (Thin Client)" in Using WebLogic RMI and RMI/IIOP.

# JMS Thin Client Functionality

Although much smaller in size than the full WebLogic JAR, the JMS thin client and WebLogic Server thin clients provide the following functionality to client applications and applets:

- Full WebLogic JMS functionality—both standard JMS and WebLogic extensions—except for client-side XML selection for multicast sessions and the JMSHelper class methods
- EJB (Enterprise Java Bean) access
- JNDI access
- RMI access (indirectly used by JMS)
- SSL access (using JSSE in JRE 1.4.x)
- Transaction capability
- Clustering capability
- HTTP/HTTPS tunneling
- Fully internationalized

# Limitations of Using the JMS Thin Client

The following limitations apply to the JMS thin client:

- It does not provide the JDBC or JMX functionality of the normal `weblogic.jar` file.
- It does not interoperate with earlier versions of WebLogic Server (release 7.0 or earlier).
- It is only supported by the JDK ORB.

# Deploying the JMS Thin Client

The JMS thin client and WebLogic thin client JARs (`wljmsclient.jar` and `wlclient.jar`, respectively) are located in the `WL_HOME``\server\lib` subdirectory of the WebLogic Server installation directory, where `WL_HOME` is the top-level installation directory for the entire WebLogic Platform (for example, `c:\bea\weblogic81\server\lib`).

Deployment of the JMS thin client depends on the following requirements:

- The JMS thin client requires that you use the standard WebLogic thin client, which contains the base client support for clustering, security, and transactions. Therefore, the `wljmsclient.jar` and the `wlclient.jar` must be installed somewhere on the client's file system. However, `wljmsclient.jar` has a reference to `wlclient.jar` so it is only necessary to put one or the other Jar in the client's `CLASSPATH`.
- The JMS thin client requires using the RMI over IIOP standard for communicating between client and server.

- URLs using `t3` or `t3s` will transparently use `iiop` or `iiops`
- URLs using `http` or `https` will transparently use `iiop` tunneling.

- To facilitate the use of IIOP, always specify a valid IP address or DNS name for the Listen Address attribute in the configuration file (`config.xml`) to listen for connections.

Note: The Listen Address default value of `null` allows it to "listen on all configured network interfaces". However, this feature only works with the T3 protocol. If you need to configure multiple listen addresses for use with the IIOP protocol, then use the Network Channel feature, as described in "Configuring Network Resources" in Configuring and Managing WebLogic Server.

- Each client must have the JRE 1.4.n installed.
- Applications must adhere to J2EE programming guidelines, in particular the use of `PortableRemoteObject.narrow()` rather than using casts.

For more information on developing WebLogic Server thin client applications, see "Developing a J2EE Application Client (Thin Client)" in Using WebLogic RMI and RMI/IIOP.