NexOpen is a J2EE/JEE framework, based on Spring 2.0.x, that integrates other important opensource projects, with the aim of supplying a simple development framework but also allowing to build robust, scalable and reliable projects.

J2EE specification

NexOpen follows J2EE 1.4 specification, although it may be used with J2EE 1.3. In addition there are some JEE 5.0 modules also availables for 1.4 projects.

JVM specification

J2SE 5.0, and partly compatible with j2SE 1.4.2

NexOpen offers a components architecture and organized in modules for easy distribution.

Annotations based configuration

NexOpen framework aims to reduce the configuration files of the projects, providing a full-scoped set of annotations. Using annotation the developer can omit to configure Spring’s beans injection or Hibernate properties configuration, for example. The autodiscovery service will seek all the Entity classes,i.e., hibernate mapping ones.

Of course, NexOpen allows to access to all the application context

To know more… 

Services module

A Service Component is a control component such as “represent coordination, seuqencing, transactions, and control of other objects and are often used to encapsulate control related to a specific use case”. Following this definition, in NexOpen we have structured the business layer for dealing with POJOs whih fulfills the requeriments before mentioned.

To know more…

Our service module uses JSR-250, common JEE 5.0 annotations, to access application resources (such as other service components) or application server’s resource, like datasource.

To know more…

Instrumentation module

This module is where the magic happens. NexOpen allows bytecode modification for service components, based on Javassist 3.x.. This widely verified module allows J2SE 5.0 annotations to be supported on J2SE 1.4.x environments, transforming all the Services into MBeans, and Facade components will run into EJB 3.0 Stateless beans.

In addition to this, all services in the system will be able to start/stop its threads, using the JMX console.

To know more… 

EJB support module

NexOpen works with EJBs as its business layer front door, in order to have a join point with the presentation layer controllers (Business Facade Pattern). In the instrumentation phase, our facades will be refactorized into EJB 3.0 Stateless beans.

NexOpen accesses to this EJB througha Service Gateway, allowing to hide AOP calls init.

To know more… 

Persistence module

NexOpen provides of a Persistance Manager, its own implementation the Domain Store patter, to simplify the number of classes that often are needed when using other patterns as DAO.

The Persistance Manager is based on standard JSR-220 (via Hiberante 3), that specifies a simple and intuitive API to be able to manage the object’s persistence. In addition, NexOpen 0.4.x relies on JPA to use its own-made Persistence Manager, or if it’s available, the Application Server’s Entity Manager .

To know more… 

Webservices module

NexOpen helps integration with 3rd-party  applications via web services. In order to publish its own services, this module gives support for J2SE 5.0 developed webservices following Sun specifications, under projects JSR-181 and JSR-224 (JAX-WS 2.0). By default, it uses XFire 1.2, but it is also compatible with JAX-WS 2.0 servers as Glassfish.

To know more…

In addition, NexOpen allows helps to consume external webservices, following JAX-WS 2.0 specification.

To know more…

Finally, NexOpen provides of signature services.

To know more… 

Caching module

There is a caching module for high performance applications, in order to store in memory highly used information. NexOpen offers annotations for caching support (reliying on EhCache 1.2.x and JBossCache 1.2.x).

To know more… 

Workflow module

NexOpen helps to integrate a workflow component easily and in a clean way. NexOpen offers an integration with jBPM 3.1.x to ensure the completion of business workflows, using annotations independing the business logic from the workflow one.

To know more… 

Serialization module

XML serialization/deserialization module. Currently XMLBeans 2.1.x and XStream 1.2 support, and JAXB (1.x and 2.x) support planned. Usefull for marshaling/unmarshalling REST services.

To know more… 

Asynchronous tasks module

NexOpen offers a module to manage application asynchronous tasks, using JMS 1.1 and EJB 2.x (Message Driven Beans). Based on Lingo 1.2.x.

To know more… 

Scheduling module

NexOpen offers an esay to use annotation support for scheduled processes (based on Quartz 1.5.x and CommonJ)

To know more… 

Auditing module

NexOpen uses providers to delegate the application auditing. NexOpen includes an Oracle FGA implementation, to allow an easier and delegate way for Oracle auditing (for Oracle 10g only). Auditing support is based on AOP, and you can define application pointcuts using annotations.

To know more… 

Security module

NexOpen integrates autentication/autorization using Acegi Security for Spring Framework 1.0.x., supporting DB, LDAP or SiteMider autentication. NexOpen defines the typical User-Role-Group model, but it can be extended to fullfill every project needs.

To know more… 

AJAX support module

NexOpen gives support to the presentation layer for AJAX using DWR 2.0

To know more… 

Pagination support module

NexOpen pagination usues ValueList 0.1.8 API, and completes it using a FacadeAdapter for a real 3-layers design allowing clustering support.

To know more…

MVC presentation module

NexOpen  integrates with Spring MVC 2.0.x, Struts 1.2.x. and the Struts 2.0.x

To know more…

Unit Testing support

NexOpen provides support to jUnit 3.x and jUnit 4

To know more… 

Supported J2EE/JEE Application Servers

NexOpen has been tested and validated in the following application servers:

  • jBoss 4.0.x
  • jBoss 4.2.x
  • Bea Weblogic 9.2.x
  • Tomcat 5.0.x
  • Tomcat 5.5.x
  • Tomcat 6.0.x