Sun Java System Application Server 7 2004Q2 Developer's Guide to Clients |
Chapter 1
Overview of ClientsA client can be a simple web browser or an application that runs on the client system. Sun Java System Application Server 7 2004Q2 provides various types of clients, a framework to connect to a back end source, execute the application logic, and return the result to the client.
This chapter introduces different types of clients that Sun Java System Application Server supports. The following topics are discussed in this chapter:
Introducing ClientsA client application can be written using Java, C, C++, Visual Basic, or any compatible programming language. A client application sends a request to an application server at a given URL. The server receives the request, processes it, and returns a response. These client programs execute remote procedures and functions in an application server instance.
Sun Java System Application Server is a Java application server and is fully compliant with the J2EE 1.3 specifications. The important layers of J2EE platform are as follows:
Developers are likely to integrate access to the following systems using J2EE CA (J2EE connection architecture):
For more information about JDBC, see the Sun Java System Application Server Developer’s Guide to J2EE Services and APIs.
For more information about connections, see the J2EE CA Service Provider Implementation Administration Guide and the corresponding release notes.
For more information on the J2EE Architecture, see Sun Java System Application Server Developer’s Guide.
Types of ClientsThis section introduces the following types of clients that are supported by Sun Java System Application Server:
Web Clients
A web client consists of two parts:
A web client is sometimes called a thin client. Thin clients do not query databases, execute complex business rules, or connect to legacy applications. When you use a thin client, heavyweight operations like these are off-loaded to enterprise beans executing on the J2EE server where they can leverage the security, speed, services, and reliability of J2EE server-side technologies.
Web Services Clients
Sun Java System Application Server supports Java-based client applications to send requests to the web service, and receive a response from the web service. To invoke a web service, these clients must construct and send SOAP messages over HTTP.
Sun Java System Application Server supports Apache SOAP version 2.2 and JavaTM API for XML-based RPC (JAX RPC) 1.1. Web services support is also built into Sun Java Studio 4, which is bundled with Sun Java System Application Server.
For information on developing and deploying Web Services clients, see the Sun Java System Application Server Developer’s Guide to Web Services.
JMS Clients
Java Message Service (JMS) clients are the Java language programs that send and receive messages using the JMS provider. JMS client can be any type of J2EE application component:a web application, an Application Client Container client, an EJB component, and so on. A client accesses a special kind of Enterprise JavaBeans called the message-driven beans (MDB), through JMS by sending messages to the JMS destination.
For more information on using the JMS API to develop JMS clients, see the Sun Java System Application Server Developer’s Guide to J2EE Services and APIs.
CORBA Clients
CORBA clients are the client applications written in any language supported by Common Object Request Broker Architecture (CORBA), including the Java programming language, C++, and C.
CORBA clients are used when a stand-alone program or another application server acts as a client to the EJBs deployed to Sun Java System Application Server. The Application Server supports access to EJBs using the Internet Inter-ORB Protocol (IIOP) as specified in the Enterprise JavaBeans Specification, V2.0, and the Enterprise JavaBeans to CORBA Mapping Specification. These clients use Java Naming and Directory Interface (JNDI) to locate EJBs, and use JavaTM Remote Method Invocation/Internet Inter-ORB Protocol (RMI/IIOP) to access business methods of remote EJBs.
Sun Java System Application Server supports remote reference from the following client applications. Remote references essentially is an InterOperable Reference (IOR), for an EJB that is used by the clients to invoke a remote operation.
- Java applications that are executing in the ACC accessing EJBs deployed on an application server instance.
- Java applications, not running in the ACC accessing EJBs deployed on an application server instance.
- servlets and JSPs in web applications executing in a different JVM than the target server instance.
- EJBs executing in a different application server instance from the target instance.
Application Clients
A J2EE application client runs on a client machine and provides a way to handle tasks that require a richer user interface than can be provided by a markup language. Typically, an application client has a GUI created from Swing or Abstract Window Toolkit (AWT) APIs. Alternatively, you can use the command-line interface.
Application clients directly access the EJB components residing in Sun Java System Application Server. However, if application requirements warrant it, a J2EE application client can open an HTTP connection to establish communication with a servlet running in the web server.
The figure, Client and Sun Java System Application Server Architecture illustrates client machines running the web browser, web service clients, RMI-IIOP clients, or JMS clients; J2EE server machines running the Sun Java System Application Server; and EIS server machines running databases and legacy applications. JSPs and servlets provide the interface to the client tier, EJBs reside in the business tier, and connectors provide the interface to legacy applications.
Figure 1-1 Client and Sun Java System Application Server Architecture