Chapter 5. JEUS v7.0 Fix#0

Table of Contents

5.1. New Functions
5.1.1. Specification Changes
5.1.2. JEUS System
5.1.3. Server
5.1.4. Domain
5.1.5. Deployment
5.1.6. WebAdmin
5.1.7. Web Engine
5.1.8. Session Server
5.1.9. EJB
5.1.10. JMS
5.1.11. WebService
5.1.12. Tool
5.1.13. Security
5.1.14. JDBC
5.1.15. JPA
5.1.16. JCA
5.2. Changed Functions
5.2.1. Web Engine
5.2.2. Deployment
5.2.3. Session Server
5.2.4. Transaction Manager
5.2.5. JMX
5.2.6. Logging
5.2.7. Security
5.2.8. JNDI
5.2.9. JDBC
5.2.10. JCA

This chapter briefly describes the functions that are added to JEUS v7.0.

JEUS 7 fully supports Meta Annotation and Dependency Injection, which are important Java EE 6 functions, to enhance the development productivity. JEUS 7 uses various enhanced technologies to provide a more reliable environment.

As JEUS has progressed to JEUS 7, new technologies and specification have been applied. Most importantly, JEUS 7 fully supports Annotation starting from Java EE 6 which has greatly enhanced the development productivity.

The following shows the J2EE specification that have been applied to JEUS from version 5 to 7. For changes related to the specification changes, refer to each specification in the following.

SpecJEUS 5JEUS 6JEUS 7
J2EEJ2EE 1.4Java EE 5Java EE 6
WebServerWebtoB 3.1.6WebtoB 4.1WebtoB 4.1
HTTP1.0/1.11.0/1.11.0/1.1
CGI1.11.11.1
PHP3.x/4.x3.x/4.x/5.x3.x/4.x/5.x
SSLssl2/ssl3/tls1ssl2/ssl3/tls1ssl2/ssl3/tls1
EJB (Enterprise Java Beans)2.12.x/3.03.1
RMI-IIOPSupportSupportSupport
JAF (JavaBeans Activation Framework)1.0.21.0.21.1
EJB to CORBA Mapping1.11.11.1
JCA (Java EE Connector Architecture)1.51.51.6
JMS (Java Message Service API)1.11.11.1
Common Annotations for the Java Platform-1.01.1
JPA (Java Persistence API)-1.02.0
JavaMail API1.31.41.4
JTA (Java Transaction API)1.0.1B1.11.1
JTS (Java Transaction Service)1.01.01.0
JNDI (Java Naming and Directory Interface)1.2.11.2.11.2.1
CDI (Contexts and Dependency Injection for Java. Web Beans)--1.0
Bean Validation--1.0
Managed Beans--1.0
Interceptors--1.1
JSP2.02.12.2
Servlet2.42.53.0
JSF (JavaServer Faces)-1.22.0
JSTL-1.21.2
XSLT1.01.01.0
JDBC3.03.04.0
IBM MQSupportSupportSupport
Sonic MQSupportSupportSupport
J2EE Management1.01.11.1
J2EE Deployment API1.11.21.2
JAAS1.0.11.0.11.0.1
JACC1.01.11.3
JASPIC--1.0
Implementing Enterprise Web Services1.01.21.3
WS-I Basic Profile1.01.11.1
WS-Security1.01.0/1.11.1
WS-Reliable Messaging-1.01.1
WS-Transaction--1.0
WS-Addressing--1.0
SOAP1.21.21.1/1.2
WSDL1.11.11.1
Web Service Metadata-2.02.1
SAAJ1.1/1.21.31.3
UDDI2.0/3.02.0/3.02.0/3.0
JAX-RPC1.11.11.1
JAX-WS-2.12.2
JAX-RS--1.1
JAXR1.01.01.0
JAXB1.02.12.2
JAXP1.21.3(Included in JavaSE 6)
WS-Policy-1.01.0
WS-Security Policy-1.21.2
WS-Trust-1.31.3
WS-Secure Conversation-1.31.3
WS-Policy Attachment-1.01.0
StAX (Streaming API for XML)-1.0(Included in JavaSE 6)
OTSSupportedSupportedSupported
Java IDL APISupportedSupportedSupported
IDE ToolSupportedSupportedUnsupported
GUI ToolJEUSBuilderUnsupportedUnsupported
Web ToolWebAdminWebAdminWebAdmin
Monitoring ToolConsole Tool, WebAdminConsole Tool, WebAdminConsole Tool, WebAdmin
JDK1.4/5.05.0/6.0

6.0 (Certification)

  • Console Commands Integration

    • All the existing console commands were integrated in jeusadmin. For more information, refer to "JEUS Reference Book".

  • Integrate Configuration Integration

    • Configuration files, which were divided into multiple configuration files and system properties, have been integrated into one domain.xml file. The configurations can be changed using the jeusadmin or WebAdmin.

    • All configurations for server JVM has also been integrated into the domain.xml file, and a temporary process Launcher was introduced that reads JVM options from the XML files to send them to the server JVM. For more information, refer to JEUS Server Guide. "1.6. Launcher".

  • Server Lifecycle Change

    • The STANDBY and SUSPENDED states were added.

    • When a server starts, if distributing a registered application fails, the server remains in the STANDBY state, unable to go into the RUNNING state. If an administrator intentionally executes the Suspend command on a server to stop all applications, the server goes into the SUSPEND state. For more information, refer to JEUS Server Guide. "3.1.1. Life Cycle of Managed Servers".

  • Server Restart Using SSH for Abnormal Termination

    • With the introduction of the domain structure, a function where DAS uses SSH to restart servers was added to allow DAS to be able to restart a server on a different machine.

  • Start/Termination Restrictions by Engine

    • Servers are allowed to start/terminate the required engine services, as it is better for the server, and not the user, to decide which engine services are required to run an application.

  • Automatic Configuration Synchronization

    • Configuration of servers in a domain can be automatically synchronized.

    • In JEUS 6 or earlier versions, nodes in a cluster had to be synchronized manually, but starting from JEUS 7, DAS automatically synchronizes all the configurations of servers in a domain or cluster. For more information, refer to JEUS Domain Guide. "1.3. Composition".

  • Dynamic Configuration Update Function Added

    • In JEUS 6 or earlier versions, the node must be restarted to apply the configuration changes, but starting from JEUS 7, configuration changes can be applied in real time without restarting the server. For more information, refer to JEUS Domain Guide. "Chapter 3. Configuring a Domain".

  • Increased Maximum Monitoring Unit

    • In JEUS 6 or earlier versions, monitoring is only possible in unit of a node, but starting from JEUS 7, multiple servers can be monitored in the unit of a domain or cluster.

  • Integrated Thread Pool

    • Thread pools, which were each used by a service on the server, have been integrated into one to increase thread reuse. A function has also been added to reserve a certain number of threads in order to prevent important services from not receiving a thread because they are all in use.

  • Launcher Added

    • Starting form JEUS 7, DAS and MS servers are all started through the launcher.

    • In JEUS 6 or earlier versions, JEUS manager and engine containers must be on the same machine. Starting from JEUS 7, the constraint was removed, and servers are started by receiving the configuration file from a remote DAS. For more information, refer to JEUS Server Guide. "1.6. Launcher".

  • Domain Configuration Change

    • All configurations of a domain should be changed using DAS. Note that if configuration is changed directly by editing the XML file without using DAS, the domain may not function normally.

  • Node Manager

    • Enables DAS to execute MSs using SSH.

    • The configuration must be set to allow SSH access using a private key on the machine where MS will boot prior to booting. DAS also must be configured to have access to the related information.

    • If configuration of MS is completed, the MS can be started through DAS. If the MS is terminated abnormally, DAS will detect it and restart it.

  • Deployment Management of a Domain using DAS

    • Supports an installation function that uploads applications to DAS.

    • Persistent deployment is the default type of deployment.

    • Grants an ID to an application to ensure the uniqueness of the application in a domain.

    • Managed Server synchronizes application files with DAS.

    • Application libraries can be set for each domain. (DOMAIN_HOME/lib/application)

    • Application repositories can be added to a domain to deploy the applications without installing the applications on DAS.

    • Applications can be deployed by specifying absolute path. This function is provided for convenience in a development environment, and is not recommended to use in a production environment.

    • Clusters can be targets of deployment. If "All Target" is selected, the applications will also be deployed to DAS and there are constraints on the command. Thus, it is not recommended to use it in a production environment.

    • When starting/stopping an application fails, DAS retries to start/stop the application.

  • Deployment Image Reuse

    • If packaged applications are not found at boot-time deployment, previous deployment images will be reused.

  • New Specification

    • JEUS 7 web engine supports new specifications, including Java Server Faces 2.0 (JSR314), Java Server Faces 2.1, Servlet 3.0(JSR315), JSP 2.2(JSR245), Expression Language 2.2(JSR245), Contexts and Dependency Injection for the Java EE platform(JSR299), and Dependency Injection for Java(JSR330).

  • WEB-INF/lib/*.jar!META-INF/resources Support

    • Only decompress the files among the jar files in the WEB-INF/lib/ directory that are related to META-INF/resources to a separate location on the server and service the resources. The resources can be obtained using the getRealPath(), getResource(), getResourcePaths() APIs as defined in the ServletContext API. This function is also used to provide the jsp and image files as libraries.

  • Servlet Class HotSwap at Development Time

    • When developing a web application, if the servlet classes are changed frequently, the web application can be redeployed to apply these changes, but this process is time-consuming. If this job is repeatedly executed, the consumed time can be substantial. To reduce this time, for minor servlet class changes, JEUS 7 dynamically updates only the classes modified in the web engine. Since this function is not supported for all changes, the constraints must be checked and this function should not be used in a production environment.

      For more information, refer to JEUS Web Engine Guide. "Chapter 9. Reloading Classes at Runtime".

  • Web Attack Prevention

    The system administrator configures the web engines in order to provide reliable services as a prevention to malicious attacks on web applications, such as DDoS.

    Five functions were added to prevent web attacks.

    • Limit on the post data size

    • Limit on the number of parameters for GET/POST requests

    • Limit on the number of headers for a request

    • Limit on the size of a header

    • Limit on the size of a query string

    For more information, refer to JEUS Web Engine Guide. "1.6.13. Preventing Web Attacks".

  • Graceful Redeployment of Standalone Web Module

  • Common Log Format Support

    • Supports Common Log Format as the default access log format. For backward compatibility, the log format of JEUS 6 is also supported. For more information, refer to JEUS Web Engine Guide. "1.6.10. Logs".

  • Dynamic Web Engine Configuration Modification

    • Some web engine configurations can be applied dynamically. Such configurations are as follows: monitoring within web-engine.xsd schema, min and max of the thread pool, number of webtob-threadpool, format, exclude-ext, and enabling of access-log.

  • JDBC 4.0 Support

    • In Java SE 6, the JDBC specification was changed to version 4.0.

    • When JEUS is used in a Java SE 6 environment, the JDBC 4.0 driver and its related functions are supported.

This section describes changes in JEUS configuration for each module.

  • http-listener, tcp-listener, ajp13-listener Changed to Use the Server Listeners

    • The new connection requests from clients are changed to use the integrated network layer. Thus, three listeners do not need to separately configure network related settings, but only one network listener needs to be configured for each server through the server-listener-ref setting.

  • Virtual Host Changes

    • The attempt to deploy to non-existing virtual host will fail. Previously, the default virtual host was used, but it was determined to be ambiguous. Also, the same web application cannot be deployed to multiple virtual hosts.

  • Replaced with the Command jspc of jeusadmin

    • The function that pre-compiles the JSP files of already deployed web applications was replaced with the jspc command of jeusadmin.

  • Enhanced Information of Deployed Web Applications

  • Prevention of Duplicate Copies of Precompiled JSP Classes during Deployment

    • In AppCompiler, a separate check file called .precompiled_result_file is created in the .warjspwork directory that is created for each web module. The modified time of this file will be compared with that of the in _generated_ file, which generally exists in the server, to determine whether to copy the results of JSP from the .warjspwork directory. This resolves the problem of duplicated copies caused by the time difference due to a prolonged compilation time.

  • Integrated jeusadmin Commands for Connection Pool Monitoring

    The controlling and monitoring commands of JDBC Connection Pool and JCA Connection Pool are integrated in jeusadmin and WebAdmin.