This documentation is not maintained. Please refer to doc.castsoftware.com/technologies to find the latest updates.

Summary: This document provides information about the extension providing JEE analysis support.

Description

The first feature delivered in version 1.1 of the JEE analyzer is about simplifying analysis configuration. This is as part of the work already started in version1.0 and which will be continued in future versions.

Starting from version 1.1:

  • you don't need to set the Struts version for your application as all supported versions (1.x and 2.x) will be activated by default and involved in the analysis if any Struts framework is used in the analyzed code.
  • The efile objects for html and js files are no longer created starting from this version in order to avoid duplicate objects and duplicate/empty transactions (as similar objects are now created and handled by the HTML5 and JavaScript analyzer)
  • This version also brings some improvement for analysis log readability. Some warnings regarding unsupported annotations/XML configuration files and method parametrizations are now displayed in debug mode only. This allows the user to focus on real and critical issues that need to be fixed to get more accurate analysis results. The transitions between analysis steps are now clearly defined in the log.

For more details about these features and resolved issues in the version, please check the content of what's new section below.

What's new?

See JEE Analyzer - 1.1 - Release Notes for more information.

Technology support

Please also see JEE - Technology support notes for additional information.
Language / FrameworkSupportedSupported Versions

Java JDK

(tick)
  • 1.1 - 1.8
Presentation layer frameworks


Java Server Faces (JSF)(tick)
  • 1.2
  • 2.0, 2.1

This includes the support of the following third-party JSF libraries:

  • Richfaces
  • IceFaces
  • MyFaces (Apache)
  • PrimeFaces
JSP(tick)
  • 1.1, 1.2
  • 2.0

Note:

Apache Struts

(tick)
  • 1.0, 1.1 (including Tiles 1.0 and STXX 1.0 - 1.2)
  • 2.0 - 2.5
Struts Validator(tick)
  • 1.2, 1.3
STXX(tick)
  • 1.0, 1.1, 1.2
Persistence layer frameworksHibernate(tick)
  • 2.x
  • 3.1, 3.2, 3.3, 3.4, 3.5, 3.6
  • 4.0, 4.1, 4.2, 4.3-5.x
JPA(tick)
  • 1.0
  • 2.0, 2.1
EJB(tick)
  • 2.0, 2.1
  • 3.x (only @Stateless, @Stateful, @Local and @Remote annotations are supported)
Other frameworks



Spring IoC(tick)
  • 1.2.x
  • 2.x
  • 3.x
  • 4.x

WSDL

(tick)
  • 1.1

CDI

(tick)
  • 1.0, 1.1, 1.2
Spring Batch(tick)-

Function Point, Quality and Sizing support

This extension provides the following support:

  • Function Points (transactions): a green tick indicates that OMG Function Point counting and Transaction Risk Index are supported
  • Quality and Sizing: a green tick indicates that CAST can measure size and that a minimum set of Quality Rules exist
Function Points
(transactions)
Quality and Sizing
(tick)(tick)

CAST AIP compatibility

This extension is compatible with:

CAST AIP releaseSupported
8.3.x(tick)
8.2.x(error)
8.1.x(error)
8.0.x(error)
7.3.x(error)

Supported DBMS servers

This extension is compatible with the following DBMS servers:

CAST AIP releaseCSSOracleMicrosoft
All supported releases(tick)(tick)(tick)

Prerequisites

(tick)An installation of any compatible release of CAST AIP (see table above)

Required third-party software

The following section lists any third-party software that may be required to successfully deliver source code and run an analysis with the JEE Analyzer extension:

Install on workstation running DMTInstall on workstation running CMS

Nothing required

The CAST Delivery Manager Tool (DMT) only requires the location of the JEE application for extraction and packaging.

Nothing required

Dependencies with other extensions

Some CAST AIP extensions require the presence of other CAST AIP extensions in order to function correctly. The JEE Analyzer extension requires that the following other CAST AIP extensions are also installed:

  • Web services linker service (internal technical extension)
Note that when using the CAST Extension Downloader to download the extension and the Manage Extensions interface in CAST Server Manager to install the extension, any dependent extensions are automatically downloaded and installed for you. You do not need to do anything.

Download and installation instructions

Please see:

Application qualification information

Please see: JEE - Application qualification specifics

Prepare and deliver the source code

Please see: JEE - Prepare and deliver the source code

Analysis configuration and execution

Please see: JEE - Analysis configuration and execution and all child pages:

What analysis results can you expect?

Please see: JEE - Analysis results

Current known limitations

Quality Rules

Avoid static field of type collection (7562)

When calculating a snapshot for applications using JSE 5.0, the Quality Rule "Avoid static field of type collection (7562)" does not list as "Very High Risk Objects" classes that are or inherit from a Generic collection. The Quality Rule lists only the non generic form of collections. For example static attributes of type java.util.Collection<E> will not be reported as a violation.

Persistence: Avoid table and column names that are too long (portability) (7706)

Situation:

  • JEE application using the Java Persistence API (JPA), e.g. in the form of Hibernate.
  • A table or column name is not specified in the annotations of the JPA entity.

Symptoms: The JPA entity is not listed as a "Very High Risk" object in the results.

No link bookmarks generated

When Java Methods are defined inside a JSP file, no link bookmarks are generated (bookmarks can be seen in CAST Enlighten or in the Dynamic Link Manager). Example of a Java Method defined in a JSP file:

<%@ page language="Java" %> 
<%! 
public void myMethod(String message)
{ System.out.println(message); } 
%>