The most popular Java architectural framework. Expresso comprises a library of server side components for creating dynamic and highly interactive web-based thin-client applications.


Our open source flagship, Expresso, is a freely available, architectural framework for building Open Standards based enterprise Java web components. With 170,000 downloads, this popular framework offers a stable open platform to base your development. It also boasts the largest framework community globally of over 34,000 members.

What is the Expresso Framework ?

The Expresso Java Development Framework provides a flexible, configurable and highly secure architectural framework for supporting the development of J2EE based portfolios of applications. The Expresso aggregates and extends traditional J2EE and generic Object Oriented design patterns to achieve these objectives.

An open source, Java application development (AD) framework featuring a foundations set of reusable, standards-based software components designed to shorten time-to-delivery of Web-based applications enabling the developer to concentrate on application logic.

Expresso 5.6 release.

Our approach is to adhere to Java 2 Enterprise Edition (J2EE) utilising JavaServer Pages, Servlets, XML and Custom Tags. By supporting J2EE, Expresso benefits from the infrastructure-level services and integration capabilities that these platform approaches deliver. Expresso provides the invisible underpinnings that complex J2EE applications need to survive. Expresso is built on Struts and together they own >85% of the open source framework market making them a defacto standard to base your other applications on. Given that J2EE remains fast-changing standard even today -- Expresso's framework architecture makes it easier to swap in new technologies and even whole new components based on evolving standards such as found in the JSRs. This improves your applications ability to evolve with J2EE.

Expresso is a next-generation tool for developing and deploying dynamic applications. The links below will give you an good idea of what Expresso delivers:

Application Components Layer
Expresso Framework Layer
Caching Configuration Values Controller Objects
Database Objects DB Connection Pooling XML
Event Notification & Email Connectivity Health Check Job Control
Logging Integration Registration & Login Security
Taglibs Unit Testing Utilities
Workflow    
HTML
Javascript
XML
Servlet
JSP
JDBC EJB JMS
J2EE Layer
Database Layer

Expresso spans the logical layers of your application: presentation/interaction, application logic, and integration/persistence. The advantages of having multi-tiered systems is the separation of functionality into standalone processes which can be developed in different technologies or which can distribute processing to different physical resources.The use of a DBMS for persistent storage has meant that JDBC is used for efficient access to the database.

Also see the Expresso Developer's Guide and the design for Struts integration.

"By 2003 at least 70% of the total number of new applications will be built primarily from "building blocks" such as software components and application frameworks, increasing both products speed to market and enterprises ability to cope with change." "The future of application development lies with an open architecture that facilitates component choice, assembly and integration." "IS organizations must have a strategy for the inevitable shift to component based development. Components in the form of design patterns, application frameworks and business and technical components can significantly increase quality and productivity in development through reuse. Reuse, in turn, can significantly lower cost and shorten time-to-market."

- Michael Blechar, VP Internet & eBusiness Technologies, GartnerGroup.

Build Sophisticated Web Applications Quickly

Expresso provides components which make it very easy to quickly build sophisticated web applications. Rather than simple servlets that merely enable access to a database, Expresso allows you to build entire systems, with secure, high-performance database access via an object-to -relational mapping (no need to embed SQL in your code), background job queuing and handling with dynamic invocation of custom server-side objects, and sophisticated event notifications and logging to facilitate management of your completed application.

Using Expresso, developers focus on creating the business logic and layout of the UI. All the tedious infrastructure work is already there to build upon, so that creating applications is easy and fast.

Expresso is based on Sun's J2EE (Java 2 enterprise Edition) architecture and utilises a mixture of JavaServer Pages (JSP) , JavaBeans, JDBC, JavaMail, Java Messaging Services (JMS) & Enterprise JavaBeans (EJB) to provide a robust, scalable, open standards-based solution. J2EE provides a good fit with current technological thinking and is a standard for enterprise development.

Expresso has been designed from the ground up to capitalize on the reuse of large components in system development.

 

 

 

Why Use Expresso?

Expresso enables rapidly developing web based applications, in a fraction of the time required to develop these applications normally. Most importantly Expresso is highly scalable, robust, portable, stable and secure.

Expresso is built around a core of 16 separate, but highly integrated, application framework components for J2EE. Individually, each of these framework components solves complex technical challenges that developers traditionally must solve on their own before writing a given business application. When combined together, they solve innumerable application development challenges, and free a development team from having to write application architecture, allowing the team to focus on writing the applications that support the business at hand.

Expresso reflects the industry movement towards openness, towards standards, towards more and more dynamic interaction, towards loose coupling, towards methodology.

  • Standardized methodologies and objects for reuse across applications. Reuse of fundamental application structures and utilities reduce the end-to-end maintenance and avoid 'reinventing the wheel'.
  • Ensuring clarity by communicating in common concepts, terminology and design patterns
  • Abstracting the solution of commonly found problems into generic components.
  • Promoting a unified production vision by enforcing symmetry.

Expresso Benefits

Expresso can best be described through the architectural values, both technical and business, which it delivers.

Expresso Technical Benefits

In addition to being the largest framework community globally, Expresso is built using proven design patterns and architectural practices including Sun's J2EE BluePrints design patterns so you know that your applications are being built upon the best possible application architecture solution available.

Expresso has been developed by Expresso technical architects who have extensive experience in the design of technical architectures and frameworks which are robust, scalable and maintainable. It is also the result of our deep understanding of Object based development and the J2EE technology domain.

The Expresso architecture delivers the following technical values:

  • Most popular architectural framework: Expresso has the largest user-base. Mass use by industry assures tried and true quality; and evolving best practices.
  • Open Standards Based: Expresso delivers an open architecture based on open standards that facilitates component choice, assembly and integration. Expresso builds on numerous other open source projects including the defacto MVC standard Struts.
  • Sun's J2EE based architecture: While Expresso is fully J2EE (Java 2 Enterprise Edition) compliant, it is also compatible in non-EJB environments.
  • Customizable: Full source means greater flexibility for customization to your requirements
  • Platform and Operating System Independent: Expresso leverages J2EE to provide independence from operating systems and platforms.
  • Database Independent: Expresso can run against any SQL 92 compliant relational database via a J2EE compliant JDBC driver.
  • Application Server independence: Expresso can be successfully deployed/configured with various servlet-containers including Tomcat, Resin, Jrun and J2EE-compliant application-servers including but not limited to: BEA WebLogic, IBM Websphere, JBoss, and iPlanet (NAS).
  • View independence: Every View is pluggable
  • HTTPS Compatible:- Expresso is able to support HTTPS (secure HTTP).

Expresso Business Benefits

The Expresso architecture delivers the following business values:

Benefits include:

  • Maintainable: simplifies development, quick to learn, intuitively coded and simple to modify.
  • Scalable: can readily scale with growing user adoption.
  • Componentised/Modularised: provides loose coupling and strong cohesion, so that components can be easily interchanged.
  • Internationalised: provides multiple language support.
  • Highly Configurable: supports ease of change of application behaviour by being extremely configurable.
  • Secure: Every Model and Controller object is secured, by a programmable security role.
  • Lowers Costs : by dramatically lowering the amount of low-level coding for quicker delivery and Time to Market.
  • Reduced Risk: in project deployment by Promoting Quality and Consistency through Code Reuse
  • Increased utilisation of staff across different project solutions.
  • Add-on applications available: Expresso is complemented by JCorporate's CMS, forum, FAQ and Helpdesk systems.

Expresso Enterprise

Expresso Web Services component is the first component of Expresso Enterprise that is now available. Deploying Web Services requires integration with existing software infrastructure and the development of new functionality that supports new business processes. Expresso Enterprise now delivers this functionality with Web Services on a J2EE Enterprise Platform.

Additional Expresso Enterprise components are in the works to extend Expresso which will each sold separately:

  • Web Services Component
  • Basic Scalability (e.g. clustering support) including Clustered Cache Syncing mechanism and a Clustered NextNumber mechanism since for major enterprise capability;
  • EJB Integration with an EJB Stateless Session bean for controller state handling
  • JMS/JTA Integration
  • LDAP Integration.

The perfect launch pad for EJB applications. Expresso Enterprise extends Expresso to integrate with EJB servers, such that Expresso applications can be scaled up take immediate advantage of the capabilities of an EJB server. We have made a Bean-managed persistance Entity bean that 'wraps' a DBObject. This effectively allows any DBObject to be 'repackaged' as a BMP Entity Bean & deployed on an EJB server. We have created a Session bean for Controller objects and have made connection pooling 'pluggable' so that an EJB server's connection pool can be used instead of the standard Expresso pool if desired.

 


Open Standards based Application Development Framework



Home | Products | Services | Partners | Customers | About Us | Login | Forums | Contact Us

Copyright 2001-2005 Jcorporate Ltd. All rights reserved. Copyright Privacy

Last Updated: 23-Jan-2005