Chapter 5: New Features in EAServer Versions 4.2.3, 4.2.2, 4.2.1, and 4.2  New features in version 4.2.1

Chapter 5: New Features in EAServer Versions 4.2.3, 4.2.2, 4.2.1, and 4.2

New features in version 4.2.2

EAServer 4.2.2 includes these new features:


Netegrity SiteMinder Integration

EAServer 4.2.2 supports integration with Netegrity SiteMinder security software. Netegrity SiteMinder provides single sign-on and centralized management of Web, database, and software resources in enterprise applications. For more information, see “Netegrity SiteMinder Integration” in Chapter 10, “Creating and Using Custom Security Components,” in the EAServer Security Administration and Programming Guide.


Custom security component API changes

EAServer 4.2.2 augments the APIs available to create custom authentication services with the new features described in this section. You can create custom authentication components using the J2EE standard Java Authentication and Authorization Service (JAAS) API or the EAServer CtsSecurity interfaces. For more information, see these chapters in the EAServer Security Administration and Programming Guide:


Support for multiple JAAS configuration file sections

Beginning in EAServer 4.2.2, you can identify a configuration file section by setting the server property com.sybase.jaguar.server.jaas.section to the name of the configuration file section to use for the server. If you do not set this property, the default is the name of the server. Setting this property allows you to use the same configuration section for multiple servers.


Retrieving additional user session details in a JAAS login module

Beginning in version 4.2.2, EAServer allows you to retrieve additional IIOP or HTTP user session information when using the JAAS API to install custom security implementations.For more information, see “Retrieving additional user session details in a JAAS login module” in Chapter 11, “Using the JAAS API,” in the EAServer Security Administration and Programming Guide.


Retrieving HTTP session information in a custom authentication service

You can also retrieve additional client session information in custom authentication services that implement the CtsSecurity::AuthService API. In a custom authentication component implemented in Java, you can call the com.sybase.jaguar.server.Jaguar.getHttpServletRequest() method to retrieve the HTTP servlet request (if any) that triggered the authentication event. This method returns null if the authentication event is not associated with an HTTP request (for example, if the authentication is for a component invocation).


Supporting external single sign-on providers

EAServer 4.2.2 allows integration with external single sign-on authentication software such as Netegrity SiteMinder. EAServer 4.2.2 includes custom security components to support Netegrity, and you can implement support for other services by implementing your own custom security components.

A new API, CtsSecurity::CallerPrincipalService allows you to implement a component that tells EAServer the effective user ID when authentication occurs outside of EAServer. For details on creating and installing a caller principal service, see the HTML reference documentation for this interface in file html/ir/CtsSecurity.html in your EAServer installation directory.

The com.sybase.jaguar.server.http.sso server property specifies whether sign-on occurs externally. Set this property to true if you are using an external single-sign on provider.


Changing the effective user ID for the server process

Beginning in version 4.2.2, EAServer on UNIX platforms allows you to configure an effective user name and group for the server to run as. This feature is useful if you start the server while logged in as a UNIX user with administrator privileges: you can start the server with administrator privileges, but the server switches to an account that has fewer privileges before it begins accepting client connections. For more information, see “Changing the effective user ID of the server process” in Chapter 3, “Creating and Configuring Servers,” in the EAServer System Administration Guide.


Multiple listener hosts

Beginning in version 4.2.2, EAServer allows you to configure multiple host addresses for network listeners. This feature is useful when the machine is configured with multiple network interfaces. When specifying the listener host, you can enter multiple host names or IP addresses, separated by commas. You can also enter the special value 0.0.0.0, which causes EAServer to listen on all of the machine’s host or IP addresses. When using multiple host addresses, EAServer creates a listener for each host on the specified port. For more information on configuring listeners, see Chapter 3, “Creating and Configuring Servers,” in the EAServer System Administration Guide.


Standalone jagtool

jagtool and jagant now support a standalone command mode, which allows you to configure an EAServer installation without requiring a connection to a server. This enhancement is helpful in situations where it is not convenient to start a server, for example, when using jagtool to configure new installations. For more information, see Chapter 12, “Using jagtool and jagant,” in the EAServer System Administration Guide.


Enhanced Windows service support

On Microsoft Windows platforms, EAServer versions earlier than 4.2.2 allow you to run EAServer as a Windows service so that your application server starts automatically when the system boots. EAServer 4.2.2 enhances this functionality by allowing you to run multiple servers from different installations as Windows services.

You can specify the service name when installing a server as a service or manually starting or stopping the service. To specify the service name, use the -servicename argument in addition to the arguments documented in Chapter 3, “Creating and Configuring Servers,” in the EAServer System Administration Guide. For example, this command installs the Jaguar server as a Windows service named MyJaguarService:

serverstart -servername Jaguar -servicename MyJaguarService -install

If you do not specify a service name, the default is the server name.

EAServer 4.2.2 removes the requirement that the JAGUAR and PATH variables be configured as system environment variables for servers that run as services.


Adaptive Server Enterprise wide table support

In EAServer 4.2.2, the EAServer version of Open Client™ Client-Library™ adds support for wide tables (varchar/varbinary columns more than 255 bytes long and tables with more than 255 columns) when connected to Adaptive Server® Enterprise version 12.5 or later.


Enhanced character set support

EAServer 4.2.2 supports several new character sets. For the full list, list the subdirectories of the charsets directory. Each subdirectory matches the name of a supported character set.


Apache Web server redirector supports EAPI

On Windows platforms, EAServer 4.2.2 adds support for running the Web server redirector with Apache 1.3 compiled with the Extended API (EAPI) option. For more information, see the EAServer Installation Guide.


New EJB CMP component properties

Table 5-1 lists new component properties that you can set on the Advanced tab in the EAServer Manager Component Properties dialog box for EJB entity beans that use Container Managed Persistence (CMP). Actual property names are prefixed with com.sybase.jaguar.component. These properties were added for the 4.1.3 and 4.2.2 releases, as indicated in the table.

Table 5-1: New component properties

Property

Description

com.sybase.jaguar.component.lwc (New in 4.1.3)

Enables the EJB lightweight container.

com.sybase.jaguar.component.cmp_iso_level

(New in 4.1.3)

Specifies the effective transaction isolation level for EJB CMP entity beans.

com.sybase.jaguar.component.defer

(New in 4.1.3)

When using one of the Sybase CMP wrapper drivers, specifies which SQL commands may be deferred to the end of the transaction.

com.sybase.jaguar.component.selectForUpdate

(New in 4.1.3)

Similar to the Select With Lock (selectWithLock) Persistence setting, but requests an exclusive database lock be obtained at select time to avoid deadlocks during lock promotion. If this is used, also consider configuring the database table for row-level locking.

com.sybase.jaguar.component.tlc.sort

(New in 4.1.3)

Specifies that transaction local cache entries for this component should be sorted before ejbStore is called. Setting this property to true helps to avoid deadlock when separate transactions concurrently update multiple instances of the same component.

You cannot enable this unless the primary key class implements the java.lang.Comparable interface. Most java.lang utility classes implement this interface, such as String, Integer and so forth.

com.sybase.jaguar.component.softLock

(New in 4.2.2)

See “Soft locking”.

com.sybase.jaguar.component.softLock.timeout

(New in 4.2.2)

See “Soft locking”.

com.sybase.jaguar.component.touchColumn

(New in 4.2.2)

Used when the selectForUpdate property is true. For databases such as Sybase Adaptive Server Enterprise that do not support select for update locking syntax, EAServer locks rows by issuing a no-change update statement. This property specifies which column to update.

com.sybase.jaguar.component.ts.triggers

(New in 4.1.3)

Specifies that the storage component (CtsComponents/JdbcStorage) should automatically create database triggers to enforce the required timestamp semantics when using table-level timestamps.

com.sybase.jaguar.component.tx_retry

(New in 4.1.3)

Enables automatic transaction retry for EJB CMP entity beans that use optimistic concurrency control (OCC).

NoteEnabling the lightweight container Beginning in EAServer 4.2.2, you must explicitly enable the lightweight EJB container (LWC) for each component that uses it. See “Lightweight EJB container” for more information.


CMP isolation level

Beginning in EAServer 4.1.3, you can set the property com.sybase.jaguar.component.cmp_iso_level to specify the effective transaction isolation level for CMP entity beans. This setting allows the performance benefits Optimistic Concurrency Control where appropriate, while also enforcing an effective transaction isolation level as you would use with pessimistic concurrency control. For more information, see “Configuring CMP isolation level” in Chapter 4, “EJB CMP Tuning,” in the EAServer Performance and Tuning Guide.


Table-level timestamps

Beginning in version 4.1.3, you can configure table-level timestamp for CMP entity beans that use OCC. EAServer maintains the table-level timestamp as a single integer counter, incrementing the count for every update, insert, or delete in the main table. The conventional model for optimistic concurrency uses row-level timestamps. For more information, see “Concurrency control options” in Chapter 4, “EJB CMP Tuning,” in the EAServer Performance and Tuning Guide.


Soft locking

EAServer 4.2.2 introduces support for in-server soft locking of database rows used by EJB CMP entity beans that use the isolation level repeatable_read_with_cache. For more information, see “Concurrency control options” in Chapter 4, “EJB CMP Tuning,” in the EAServer Performance and Tuning Guide.


Generated entity bean subclasses

Beginning in EAServer 4.1.3, you can use the “Generated class” option for EJB 1.1 and 2.0 CMP entity beans. This option offers better performance than the “Automatic persistence” option, since the interaction between the storage component and the CMP implementation is more direct. If you import CMP entity beans from an EJB-JAR file, the “Generated Class” option is enabled by default. For existing CMP entity beans, you can configure it manually as described in “Generated entity bean subclasses” in Chapter 4, “EJB CMP Tuning,” in the EAServer Performance and Tuning Guide.


EJB session bean passivation

EAServer 4.2.2 introduces a new mechanism to support passivation of EJB stateful session beans based on the instance timeout property. Passivation is the process of removing an instance’s data from memory and saving it to a database. Passivation allows the server to free the memory used by an instance while keeping the instance available for use by the client. When the client calls the component again, the instance is restored to memory. For more information, see “Using EJB activation and passivation” in Chapter 28, “Configuring Persistence for Stateful Session Components,” in the EAServer Programmer’s Guide.


Message service enhancements

Beginning in EAServer 4.2.2, you can configure a default maximum size for message queues. The default.maximum property in the MessageServiceConfig.props file specifies the maximum queue size. For more information, see “Configuring the message service” in Chapter 8, “Setting up the Message Service,” in the EAServer System Administration Guide.





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