Chapter 6: New Features in EAServer Versions 4.1.3, 4.1.2, 4.1.1, and 4.1  New features in version 4.1.1

Chapter 6: New Features in EAServer Versions 4.1.3, 4.1.2, 4.1.1, and 4.1

New features in version 4.1.2

EAServer 4.1.2 introduces the following:


JDK 1.4

EAServer 4.1.2 adds support for running with JDK 1.4 as the in-server Java virtual machine.


New performance tuning features

The following performance-related features are new in EAServer 4.1.2:


Connection request pool size (Solaris only)

On Solaris, EAServer 4.1.2 introduces a new listener property to configure the pool size for outstanding connection requests. When the server is very busy, all available threads may be in use when a connect request arrives. These pending connect requests are pooled until they can be handled. If the pool size is too small, client connection requests may time out before the server can handle the request. For more information, see “Listener tuning” in Chapter 2, “Server Tuning,” in the EAServer Performance and Tuning Guide.


Flow control

When the server is very busy with many client connections, client request threads may repeatedly conflict with each other for access to low-level system resources. Flow control provides a coarser level of granularity for synchronizing access to system resources by request threads. When enabled, flow control can improve performance by replacing multiple, serial choke points in the request processing sequence with a single choke point. Flow control can be enabled separately for HTTP and IIOP clients. For more information, see “Flow control” in Chapter 2, “Server Tuning,” in the EAServer Performance and Tuning Guide.


Servlet buffer pool

Internally, EAServer uses 4K and 8K temporary buffers when assembling servlet responses. EAServer 4.1.2 includes new server properties to tune the size of the 4K and 8K internal buffer pools. For more information, see “Servlet buffer pools” in Chapter 5, “Web Application Tuning,” in the EAServer Performance and Tuning Guide.


Servlet Java cache

This new EAServer 4.1.2 feature allows caching of servlet output in Java core memory, which offers a faster response than page caching for a limited class of servlets. For more information, see “Understanding HTTP response caching options” in Chapter 5, “Web Application Tuning,” in the EAServer Performance and Tuning Guide.


Direct-access pseudocomponents

In EAServer 4.1.2, you can generate special stubs and skeletons that improve the performance of pseudocomponent method calls. In a process called marshalling, regular CORBA stubs convert parameter and return values to the format required for IIOP network transport. Direct-access pseudocomponent stubs and skeletons improve performance by eliminating the marshalling step. For more information, see Chapter 34, “Creating and Using EAServer Pseudocomponents,” in the EAServer Programmer’s Guide.


JavaServer Pages compilation speed

To reduce the compilation time for JavaServer Pages (JSPs), you can configure the class path for JSPs separately from the EAServer class path. Doing so can speed up the compilation of the JSPs. This can improve performance if your application requires runtime compilation, and can speed up the development cycle. For more information, see “Runtime compilation settings” in Chapter 5, “Web Application Tuning,” in the EAServer Performance and Tuning Guide.


jagtool enhancements

See Chapter 12, “Using jagtool and jagant,” in the EAServer System Administration Guide for more information on using these tools. The following commands are new or enhanced in are new in EAServer 4.1.2:

Command

Enhancement

gen_skels

New option to generate direct access skeletons: -pseudoskels true|false

gen_stubs

New option to generate direct access stubs: -pseudosstubs true|false

gen_stubsandskels

New option to generate direct access stubs and skeletons: -pseudostubsandskels true|false

gen_tlbreg

New. Generates type library (TLB) and registry (REG) files for ActiveX clients. This command is only available in Windows installations.

jmsflush

New. Flushes a message queue.

jmslist_listeners

New. Displays the names of the listeners attached to the specified message queue.

jmslist_messages

New. Lists the messages in the specified message queue.

Beginning in EAServer 4.1.2, jagtool commands return status values that can be checked in scripts that call jagtool. The return status for each command is listed in the reference pages in Chapter 12, “Using jagtool and jagant,” in the EAServer System Administration Guide.


Client connection timeouts

Response timeout properties have been added to the Java CORBA client ORB and EJB initial context. For applications that run in a cluster, these properties allow you to specify a time limit to receive a server response before the connection fails over to try another server in the cluster. Setting this property ensures that failover happens without an unreasonable delay. The property names are:

For more information, see these chapters in the EAServer Programmer’s Guide:


Web server redirector plug-in configuration

For information on configuring the Web server redirector plug-ins, see the EAServer Installation Guide for your platform. Beginning in EAServer 4.1.2, these configuration options are now available for the Apache, iPlanet, and Netscape redirector plug-ins:

Binding to a single server You can bind a redirector to a specific server so that if the server fails to respond to a request, the redirector returns immediately. By default, a request fails over to another server when the initial server does not respond. If you are running Web applications that are not marked distributable, you must bind the redirector to a specific server. If the redirector is bound to a server and the server fails to respond to a request, the redirector returns the error status to the client.To bind the redirector to a server, add this line to the redirector configuration file, where serverName is the name of the server:

Connector.BindToServer /serverName

Debugging To trace requests from connectors, set this directive in the redirector configuration file:

Connector.SessionId <ConnectorSessionId>

When this directive is set, the connector appends the value of ConnectorSessionId to the URL that is forwarded to EAServer. EAServer writes the URL to the server’s HTTP request log, which can be helpful for debugging. For example, if you add this directive to the redirector configuration file:

Connector.SessionId ConnSID

EAServer writes this information to the HTTP request log:

10.22.85.66 - - [28/May/2002:12:11:09 -0800] “GET
/TestHTTPS/?ConnSID=2696_000000000000 HTTP/1.0” 200 51
10.22.85.66 - - [28/May/2002:12:11:24 -0800] “GET
/TestHTTPS/?ConnSID=2888_000000000000 HTTP/1.0” 304 0
10.22.85.66 - - [28/May/2002:12:11:40 -0800] “GET
/TestHTTPS/?ConnSID=2889_000000000000 HTTP/1.0” 304 0
10.22.85.66 - - [28/May/2002:12:11:40 -0800] “GET
/TestHTTPS/?ConnSID=2888_000000000001 HTTP/1.0” 304 0
10.22.85.66 - - [28/May/2002:12:11:40 -0800] “GET
/TestHTTPS/?ConnSID=2889_000000000001 HTTP/1.0” 304 0

In this example, the Apache Web server process 2696 sent one request, process 2888 sent two requests, and process 2889 sent two requests. The connector session ID is computed as:

process identifier of the Web server’s process + request count

Web application authentication

“None” is no longer a Web application authentication option. The default authentication mechanism for a Web application is “HTTP Basic Authentication”. Since Web Applications implement lazy authentication, if you want to authenticate your client, you must associate a role with a Web resource. The authentication options are:

See Chapter 3, “Using Web Application Security,” in the EAServer Security Administration and Programming Guide for more information.


APPLET context parameter for EJB clients

Beginning in EAServer 4.1.2, EJB clients that run as applets can set the APPLET parameter for the javax.naming.InitialContext instance used to connect to EAServer. For more information, see Chapter 8, “Creating Enterprise JavaBeans Clients,” in the EAServer Programmer’s Guide.


Web application character set properties

EAServer 4.1.2 introduces new Web application properties that enable you to specify input character sets. When the servlet engine initializes, it creates three mappings for each Web application, one for the input parameters, one for the input data, and one for JSP compilation as specified by these properties:

Property name

Specifies character set for

com.sybase.jaguar.webapplication.charset.inputdata

Input data

com.sybase.jaguar.webapplication.charset.inputparam

Input parameters

com.sybase.jaguar.webapplication.charset.jspcompile

JSP compiler option

For information on configuring these properties, see “Localizing Web applications” in Chapter 21, “Creating Web Applications,” in the EAServer Programmer’s Guide


HTTP session attribute API change

If you call javax.servlet.http.HttpSession.setAttribute with null as the second parameter, you now get the same result as if you called javax.servlet.http.HttpSession.removeAttribute. In versions of EAServer earlier than 4.1.2, this caused an exception to be thrown.





Copyright © 2005. Sybase Inc. All rights reserved. New features in version 4.1.1