Programming Stand-alone Clients
Overview of Stand-alone Clients
In the context of this document, a stand-alone client is a client that has a runtime environment independent of WebLogic Server. (Managed clients, such as Web Services, rely on a server-side container to provide the runtime necessary to access a server.) Stand-alone clients that access WebLogic Server applications range from simple command line utilities that use standard I/O to highly interactive GUI applications built using the Java Swing/AWT classes. The following sections provide an overview:
- RMI-IIOP Clients
- WebLogic Full Client (T3)
- CORBA Clients
- JMX Clients
- JMS Clients
- Web Services Clients
- Client Types and Features
- When to Use the weblogic.jar and wlfullclient.jar Files
RMI-IIOP Clients
IIOP can be a transport protocol for distributed applications with interfaces written in Java RMI. For more information, see:
- Developing a Java EE Application Client (Thin Client)
- WebLogic JMS Thin Client
- Reliably Sending Messages Using the JMS SAF Client
- Developing a J2SE Client
- Developing a WLS-IIOP Client
For more information, see “Using RMI over IIOP” in Programming WebLogic RMI.
WebLogic Full Client (T3)
A WebLogic Full Client is a Java RMI client that uses Oracle's proprietary T3 protocol to communicate with WebLogic Server. The WebLogic Full Client requires the largest JAR file (wlfullclient.jar) among the various clients, but it has the most features and is the best overall performer. The wlfullclient.jar also provides IIOP support. See:
- Developing a WebLogic Full Client
- Using WebLogic RMI with T3 Protocol in Programming WebLogic RMI.
CORBA Clients
If you are not working in a Java-only environment, you can use IIOP to connect your Java programs with Common Object Request Broker Architecture (CORBA) clients and execute CORBA objects. IIOP can be a transport protocol for distributed applications with interfaces written in Interface Definition Language (IDL) or Java RMI. However, the two models are distinctly different approaches to creating an interoperable environment between heterogeneous systems. When you program, decide to use either IDL or RMI interfaces; you cannot mix them.WebLogic Server supports the following CORBA client models:
- Developing a CORBA/IDL Client
- Developing Clients for CORBA Objects
- Developing a WebLogic C++ Client for a Tuxedo ORB
JMX Clients
You can use a JMX client to access WebLogic Server MBeans. See Accessing WebLogic Server MBeans With JMX in Developing Custom Management Utilities with JMX.
JMS Clients
WebLogic Server provides a number of JMS clients that provide Java EE and WebLogic JMS functionality using smaller client footprints than the WebLogic full client (wlfullclient.jar).
Tip: The WebLogic Full Client requires the largest JAR file (wlfullclient.jar) among the various Java clients, but it has the most features and is the best overall performer.
- JMS thin client, see WebLogic JMS Thin Client.
- JMS SAF client, see Reliably Sending Messages Using the JMS SAF Client.
- JMS C client, see WebLogic JMS C API.
- JMS .NET client, see Programming WebLogic JMS .NET Client Applications.
Web Services Clients
A stand-alone Web Services client (wseeclient.jar) uses WebLogic client classes to invoke a Web Service hosted on WebLogic Server or on other application servers. See Invoking a Web Service from a Stand-alone Client in Programming Web Services for WebLogic Server.
Client Types and Features
The following table lists the types of clients supported in a WebLogic Server environment, and their characteristics, features, and limitations.
In this release, client applications should use the wlfullclient.jar file to provide the WebLogic Server specific functionary previously provided in the weblogic.jar file. You can generate the wlfullclient.jar file for client applications using the JarBuilder tool. See Using the WebLogic JarBuilder Tool.
Table 2-1 WebLogic Server Client Types and Features Client Type Language Protocol Client Class Requirements Key Features WL Full Client (T3) RMI Java T3 wlfullclient.jar
- Supports most WLS-specific features
- Supports WLS clustering.
- Supports SSL.
- Faster and more scalable than IIOP clients.
- Supports most JavaEE features.
- Supports WLS JMS and JMS SAF client.
- See Developing a WebLogic Full Client.
WLS-IIOP (Introduced in WebLogic Server 7.0) RMI Java IIOP wlfullclient.jar
- Supports WLS-specific features.
- Supports WLS clustering.
- Supports SSL.
- Faster and more scalable than IIOP thin clients.
- Not ORB-based.
- Does not support WLS JMS (use T3 protocol with same Jar instead).
- See Developing a WLS-IIOP Client.
Java EE Application Client (Thin Client) (Introduced in WebLogic Server 8.1) RMI Java IIOP
- wlclient.jar
- JDK 1.5 and higher
- Supports WLS clustering.
- Supports many Java EE features, including security and transactions.
- Supports SSL.
- Uses CORBA 2.4 ORB.
- See Developing a Java EE Application Client (Thin Client).
CORBA/IDL CORBA Languages that OMG IDL maps to, such as C++, C, Smalltalk, COBOL IIOP no WebLogic classes
- Uses CORBA 2.3 ORB.
- Does not support WLS-specific features.
- Does not support Java.
- See Developing a CORBA/IDL Client.
J2SE (or JSE) RMI Java IIOP no WebLogic classes
- Provides connectivity to WLS environment.
- Does not support WLS-specific features. Does not support many Java EE features.
- Uses CORBA 2.3 ORB.
- Requires use of com.sun.jndi.cosnaming.
CNCtxFactory.- See Developing a J2SE Client.
JMS Thin Client (Introduced in WebLogic Server 8.1) RMI Java IIOP
- wljmsclient.jar
- wlclient.jar
- JDK 1.5 and higher
- Thin client functionality
- WebLogic JMS, except for client-side XML selection for multicast sessions and JMSHelper class methods.
- Supports SSL.
- See WebLogic JMS Thin Client.
Alternatively, you can use the faster WL full client with T3.
JMS SAF Client (Introduced in WebLogic Server 9.2) RMI Java IIOP
- wlsafclient.jar
- wljmsclient.jar
- wlclient.jar
- JDK 1.5 and higher
- Locally stores messages on the client and forwards them to server-side JMS destinations when the client is connected.
- Supports SSL.
- See Reliably Sending Messages Using the JMS SAF Client.
Alternatively, you can use the faster WL full client with T3.
JMS C Client (Introduced in WebLogic Server 9.0) JNI C Any or
- wlfullclient.jar
- wljmsclient.jar
- wlclient.jar
- JDK 1.5 and higher
- C client applications that can access WebLogic JMS applications and resources.
- Supports SSL.
- See WebLogic JMS C API
JMS .NET Client (Introduced in WebLogic Server 10g Release 3 (10.1.3)) T3 .NET T3
- WebLogic.Messaging.dll dynamic library
- Microsoft .NET client applications, written in C#, that can access WebLogic JMS applications and resources.
- See Programming WebLogic JMS .NET Client Applications
JMX RMI Java IIOP wljmxclient.jar See Accessing WebLogic Server MBeans with JMX. Web Services SOAP Java HTTP/S wseeclient.jar See Invoking a Web Service from a Stand-alone Client. C++ Client CORBA C++ IIOP Tuxedo libraries
- Interoperability between WLS applications and Tuxedo clients/services.
- Supports SSL.
- Uses CORBA 2.3 ORB.
- See Developing a WebLogic C++ Client for a Tuxedo ORB.
Tuxedo Server and Native CORBA client CORBA or RMI C++ Tuxedo-
General-
Inter-Orb-Protocol (TGIOP)Tuxedo libraries
- Interoperability between WLS applications and Tuxedo clients/services.
- Supports SSL and transactions.
- Uses CORBA 2.3 ORB.
- See Developing Clients for CORBA Objects.
When to Use the weblogic.jar and wlfullclient.jar Files
The following sections provide information on how to use the weblogic.jar and wlfullclient.jar files:
Client-side Applications
Prior to WebLogic Server 10.0, the weblogic.jar file was required for T3 and WLS-IIOP client applications to provide WebLogic Server-specific value-added features. For WebLogic Server 10.x and later releases, client applications requiring these features should use the wlfullclient.jar file instead of the weblogic.jar. See Client Types and Features for more information on client types, features, and class requirements.
You can generate the wlfullclient.jar file for client applications using the JarBuilder tool. See Using the WebLogic JarBuilder Tool.
Continuing to use weblogic.jar in client-side applications may result in a ClassNotFoundException.
Server-side Operations
Server-side operations continue to require a complete WebLogic Server installation, which includes the weblogic.jar. Typical operations requiring a complete WebLogic Server installation are:
- Operations necessary for development purposes, such as the ejbc compiler.
- Administrative operations such as deployment.