Links:
[fleXive] [fleXive] is a Java EE 5 framework for the development of complex and evolving (Web) applications. It speeds up development by easing many tedious and repetitive programming tasks and helping to keep your application(s) flexible during the development cycle and in production. It concentrates on enterprise-scale content modeling, storage, and retrieval, and includes comprehensive JSF support for displaying and manipulating these contents in (Web) applications. The runtime environment can be included in existing Java EE applications, but you can also build new applications and package them into stand-alone Java EE applications. Key features include persistence, security, versioning, multi-language support, scripting, etc. ABLE Agent Building and Learning Environment is a Java framework, component library, and productivity tool kit for building intelligent agents using machine learning and reasoning. ALF a logging framework for Java written in Standard C++. The major advantage of ALF is the automated method tracing which is generated at runtime without need for explicit calls to print/logging methods Amphibian a framework developed to create multiplatform game engines. Amphibian?s goal is to allow the construction of games engines, both simple and complex ones, which could run in personal computers, handhelds, or mobile phones Apache Cayenne Apache Cayenne is an open source persistence framework licensed under the Apache License, providing object-relational mapping (ORM) and remoting services. Appia Appia is a layered communication framework implemented in Java and providing extended configuration and programming possibilities. Appia is composed by (1) a core that is used to compose protocols and (2) a set of protocols that provide group communication, ordering garanties, atomic broadcast, among other properties. Aranea framework Aranea is a hierarchical Model-View-Controller Web framework that provides a common, simple approach to building Web application components, reusing custom or general GUI logic, and extending the framework. The framework enforces programming using object oriented techniques with POJOs and provides a JSP tag library that facilitates the programming of Web GUIs without writing HTML. In addition to being a full-fledged Web framework in its own right, it provides a powerful and simple component system that allows the framework to be tailored by configuring the reusable modules and adding modules only for the missing features. Atris Framework an n-tier Framework and GUI Screen builder/designer, supporting 1, 2 and 3 tier mixed architectures to databases, application servers or local persistent data in files. Extensive documentation including launching from a Web Server Azuki Framework The Azuki Framework is a Java application framework designed to resolve various problems in the software development lifecycle. These goals are achieved by splitting the software conception into two main stages: creation of independent components and definition of component dependencies (weaving). The latter is performed with a graphical tool named "the weaver". By representing component interactions using different perspectives, the weaver provides a straightforward way to analyze an application's architecture, allowing deep and easy customization of its behavior. b-frame b-frame is a framework for rapid J2EE development. It defines XML tags for describing applications and template implementations. BeanKeeper BeanKeeper is an object/relation mapping framework for Java. It is designed to be easy to use. Bishop a (LGPL'd) MVC based framework intended to be used with java servlet applications. Bishop acts as the controller in the MVC pattern and coordinate how the model (business objects) and view (html/wml pages) interacts Brickwork Brickwork is an application framework intended for easy implementation of Tetris-like games. A sample implementation of the standard Tetris game is included in the framework. Calyxo Web Application Framework encourages MVC model 2 based web application development. It offers support for true modular applications, i18n, a flexible view manager, a powerful validation engine, and more! Calyxo is entirely written in Java and builds on the latest Servlet and JSP technologies CB2 Framework CB2 is a free light-weight, while complete framework for server-side Java development. It consists of a software library, development environment, and a number of architectural and stylistic approaches. CB2 is intended to provide developers with a comprehensive software infrastructure for creating Java applications. The most common case of CB2 usage is building data-driven web-applications. cintoo Messages cintoo Messages is a framework to make internationalization easier for Java applications. It supports locales for threads, and bundles can be associated with different packages. This allows the usage of different bundles for different parts of the application, such as plugins, an installer, or a logging system. Bundles can be managed and associated with packages without any changes in the code. This makes bundle management and refactoring much easier than with other solutions. cintoo Messages supports global locales for client applications written in Swing or SWT and thread-local ones for serverside Web applications. Clover ETL Clover ETL is a framework for creating ETL transformations. It follows the concept of transformation graphs which consist of individual nodes performing simple operations on data. Cocoon a pure Java publishing framework that relies on new W3C technologies (such as DOM, XML, and XSL) to provide web content. Combean Combean is a Java framework for combinatorial structures like graphs or linear programs and optimization algorithms working with these structures. The objective of Combean is to integrate existing proven optimization packages as well as new implementations through a set of lean Java interfaces. Community Z Tools CZT is a Java framework and a suite of tools built on that framework for editing, type checking, and animating formal specifications written in the Z specification language. In addition to the ISO standard, there is some support for Z extensions, such as Object-Z, Circus and TCOZ. Compass Framework Compass is a Java framework which makes it simple to map your Java object model into a search engine. It is built on top of the Lucene search engine. Compass features declarative mapping technology OSEM (similar to O/R database mapping), transaction management, Google-like query syntax, externalization of common metadata, and much much more. databeans databeans is a fully object oriented (not relational) persistence framework for Java, based on the use of the JavaBeans accessor methods to read and write data on disk instead of in the classes' instance fields. It is distributed (through RMI), transactional (with the 4 ANSI isolation levels supported), garbage collected (backed by an on-disk heap called "heapspace"), and has persistent versions of the Collection classes. It aims to provide a full-fledged solution for enterprise application development. Dwarf server framework a modular Java framework for developing network server applications based on Internet standards. The main difference between Dwarf and other similar tools is that Dwarf has been designed to be as simple, lightweight, and modular as possible Easy Hibernate Cache Easy Hibernate Cache is a fast and simple, pure Java, in-process cache, which acts as a pluggable cache for Hibernate. It has a small memory footprint, minimal dependencies, and full documentation. elemenope a JMS compliant messaging framework written in Java. It allows one to easily create a large scale multi-platform application to conduct messaging or transaction processing. It abstracts away all of the connectivity issues when dealing with or designing such a project ELIDE a framework for extending the Java language with design vocabulary specific to your application Enhydra Shark Shark is an extendable Java workflow engine framework including a standard implementation completely based on WfMC and OMG specifications using XPDL (without any proprietary extensions) as its native workflow process definition format and the WfMC "ToolAgents" API for server-side execution of system activities. It has well defined client interface, as well as its internal component interface. Expresso Framework Open Source Standards-Based Application Development Framework designed to shortentime-to-delivery for building Distributed, Reusable, Component-Based, Secure Web-based business transactional Applications Expresso XML Open source extension of the Expresso Framework providing basic facilities for importing and exporting DBObjects to XML format streams and/or files. Applications that use Transaction objects can also make use of this projects' XSLT front-end for Transactions, allowing the user interface of any Expresso application to be designed with XSL stylesheets. Facade an 'MVCish' framework for Java web applications. Facade enables developers to build highly modular web applications. Event handlers (controllers and view handlers) can be easily mapped to requests and events via configuration file, which makes it very simple to reuse them Flux a powerful, lightweight software component that provides job scheduling functionality to software developers and software applications. Job scheduling is concerned with executing the right task, on the right day, at the right time, and when the right events occur Fruity Framework allows Java developers to easily add zoom/pan rendering for java.awt.Shape objects. All objects are manipulated in a world view which may use whatever coordinates range that it wants GAF4J a lightweight framework that abstracts all grid semantics from the application logic and provides a simpler programming model that lines up smoothly with common JavaTM programming models Generic JTAPI and JCC a framework to allow for the rapid application of Java telephony specification implementations. It does this by reducing the "service provider" coding requirements by an order of magnitude and by providing common services genesis framework genesis is a framework that aims to bring simplicity and productivity to enterprise application development, ensuring scalability, robustness, and testability of your software. The main goal is to simplify the development of business components and the construction of complex graphical interfaces, with minimum effort for developers. It combines several frameworks in a completely transparent way for developers through the use of AOP (Aspect Oriented Programming). It tries to allow people with little knowledge of the Java platform to develop robust applications quickly, without requiring them to learn several new technologies and complex concepts. Genuts provides a consistent Java framework for game development. It contains a library with classes primarily intended for sprite-based games conception, including functions for sprite manipulation and collision detection Grails Grails is a high-productivity Web framework for the Java platform designed according to the MVC paradigm. gui4j gui4j is a framework for describing Java Swing GUIs completely in XML. The graphical user interface is created dynamically based on the XML definitions. Each GUI window is associated with exactly one top-level XML file. Each XML file can dynamically include other XML files to support complex GUI definitions. Each XML file is associated with a java object that acts as both a Controller and a Model for the GUI. gwt-reflection GWT Reflection is a small framework which gives you the ability to use the reflection API on the client side of an application. Google Web Toolkit obfuscates JavaScript so it is not readable for an application at execution time. Hammock Hammock is a mock object framework for J2ME devices. It is used in conjunction with unit test frameworks like JMUnit and J2MEUnit. The framework includes mocks for many of the J2ME UI and I/O classes as well as a utility, HammockMaker, for generating mocks of other classes. IDebug an advanced debugging framework for Java. This framework provides the standard core debugging and specification constructs such as assertions, debug levels and categories, stack traces, and specialized exceptions InfoNode Docking Windows (GPL/commercial) InfoNode Docking Windows is a powerful pure Java Swing docking windows framework. Infozone an open-source project for the creation of an Java and XML based framework of components that allows programmers to create complex Enterprise Information Portal (EIP) applications IT Mill Toolkit IT Mill Toolkit is a server-side RIA (Rich Internet Application) framework that provides complete set of AJAX widgets for Java programmers. Applications are programmed (with Java) and executed server-side, and client-side AJAX widgets (powered by GWT) are used for presentation. JAC JAC is a Java framework that provides some facilities to achieve Aspect-Oriented Programming and to separate concerns when programming (distributed) applications. JACOL a framework for allowing Java and Common Lisp to interoperate. It's intended use is to enable Common Lisp to function as an extension language for Java Jacomma an agent development platform/framework for developing distributed, mobile, and reactive information agents with heterogeneous communication capabilities, in Java and JPython JADE Java Agent Development Framework is a software framework fully implemented in Java language. It simplifies the implementation of multi-agent systems through a middle-ware that claims to comply with the FIPA specifications and through a set of tools that supports the debugging and deployment phase. Jaffa Java Application Framework For All: a Java web application development stack, extending exsiting projects like Tomcat and Struts with MVC based web widgets, built-in persistence and component generators too Java Print Dialog Framework The Java Print Dialog Framework (JPDF) allows software developers to add a comprehensive printing capability to existing Java applications and applets. The JPDF is designed to be integrated into Java Swing client applications and applets. It can preview and print the Swing components that compose the application's GUI. Reports containing data obtained from external sources (e.g. databases and files) can be generated. The JPDF includes a wide variety of page-setup, print-preview, and print dialogs which can easily be plugged into an application. Java Security Component Framework Java Security Component Framework (JSCF) is a pluggable security component system with a JDBC-like interface. It allows connections to be made to registered security components with defined operations used mainly for mail, such as encrypting, decrypting, verifying, and signing streams. Javadoc Builder an integrated code generation framework for eclipse. It is strongly inspired in XDoclet 2 (aiming at being compatible in a near future). The javadoc builder currently relies on qdox (the xdoclet 2 javadoc parser) and jakarta velocity as template engine JaxMe a framework for Java/XML binding based on SAX2 JaxMeJS a framework for generating Java sources. It is based on an abstraction of the Java sources. For instance, there is an are object called JavaSource. This object can have embedded instances of JavaSource or JavaSource, it can have inner classes, costructors, and so on JBlooming JBlooming is a framework for building views of Java Web applications. It empowers JSP-based views with tools to easily integrate o-o modeling, and provides a large set of ready components. JCameo JCameo is a model-driven Swing framework with support for all aspects of GUI development. Key features are a large number of widgets, MVC architecture, data binding, and validation support, as well as message-based communication. jChains this custom security manager framework records the permissions needed for the codebases (jars) of j2se applications running under access control of a security manager. The resulting policy file is recorded while running the program and is useful as a starting point when developing a security policy for a java application JChassis a component framework for writing efficient and modular Java applications JComponentBreadboard JComponentBreadboard uses an electronic breadboard metaphor to integrate Swing's disparate form-related elements into a single coherent class representing the form as a whole JDBCPersistence JDBCPersistence is an Object Relational Mapping Framework. Designed for use in high volume online banking application the package delivers performance matching of that exhibited by hand written JDBC code. Jena a Java framework for building Semantic Web applications. It provides a programmatic environment for RDF, RDFS and OWL, including a rule-based inference engine JEROME Fabric The JEROME Fabric is an alternative to Jini. JEROME is, essentially, a grid-computing framework designed to abstract the grid away from the application developer. JEROME breaks tasks of the grid into four types: gateway, context, loop, data. Jestr an extensible, Reflection-based framework for converting arbitrary Java objects into String's for display and logging purposes. The style of conversion can be adjusted at runtime, either in a blanket fashion or just for individual classes, class hierarchies, and package hierarchies. Jestr is configurable using a properties file called "jestr.properties", which models "log4j.properties" and should look reasonably familiar to those accustomed to Log4J JiBX a framework for binding XML data to Java objects. It lets you work with data from XML documents using your own class structures. The JiBX framework handles all the details of converting your data to and from XML based on your instructions Jicarilla a compact, powerful, extensible and performant component-oriented software framework written in java, and a collection of components developed for this framework. Jicarilla utilizes and supports inversion of control, seperation of concerns, seperation of interface from implementation, contract-based programming, aspect-oriented programming and event-based programming JLense to provide an open source framework for developing Java Swing applications on top of IBM's Eclipse plugin framework JNex Jnex is a pure Java framework for the implementation of the model-view-controller design pattern on three different presentation tiers: Swing, HTML, and Canoo ULC. JPdfUnit JPdfUnit integrates PDFBox as a PDF API with the JUnit framework for the testing of PDF documents (so JPdfUnit is a high level API). Simple, ready-to-use assertions help to compare the expected data to the concrete data of the PDF document. jPersist jPersist is an object-relational database persistence API that manages to avoid the need for configuration and annotation; mapping is automatic. It uses JDBC, and can work with any relational database and any type of connection resource. It uses information obtained from the database to handle mapping between the database and Java objects, so mapping configuration is not needed, and annotation is not needed. In fact, there is no configuration needed at all. jSettings jSettings is a framework for Java developers, allowing them to import configuration and settings from external files, manage the imports (access, add, delete, and modify the settings), and export the changes back to files. Features include support for settings validation using regular expressions, system-wide and user-specific management, etc. JSwiff The aim of the JSwiff project is to create an open source, pure Java framework for Macromedia Flash file creation and manipulation. JTGL a graphic foundation framework to provide a common view of a graphics/gaming subsystem over already deployed public java apis such as AWT/Java2D/J2ME/MIDP and propietary mobile: ExEn, DoJa, Nokia, Siemens, Motorola, etc juint juint provides unsigned and signed 8,16, and 32-bit integers in Java. JUnit a simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks JWAA Java Web Application Architecture: a software framework for building dynamic web applications in Java jWebApp jWebApp is a Java-based Web application development framework that is specifically designed to satisfy the need for simple Web development. jWebApp is configuration free, straightforward, and extremely easy to work with. JXMLPad (shareware) JXMLPad is a framework/component for editing XML/XHTML document. Karora Cooee Cooee is a Web application framework for building rich, AJAX based applications without writing any JavaScript. It is Java based and attempts to follow the Swing API. Kasai Kasai is a 100% Java based authentication and authorization framework. It allows you to integrate into your application a granular, complete and manageable permission scheme. The goal of the framework is to provide a simple-to-use-yet-powerful security environment for multi-user applications. Unlike JAAS, Kasai provides a much higher security abstraction, it's targeted at the specific security requirements that arise in real-life applications such as Intranets, ERPs, CRMs, document managers, accounting systems, etc. Kitikat The Kitikat Java Framework is a powerful but simple Datastore processing framework. A Datastore represents an in-memory copy of data. Kweelt a framework to query XML data. Among other things, it offers an evaluation engine for the Quilt XML query language lmappletserver lmappletserver is a framework for integrating Java applets into the J2EE environment. Targeting EJB3.0 or other server objects, it allows applets to access server logic as if they were local objects. Its features include transparent remote access without RMI, automatic applet packaging and deployment, and more. It runs over port 80 like a Web service, but without the overhead. Server side methods are exposed to the applet simply by using annotations. Macao Macao is a framework based on Javascript and DHTML to build animated interactive homepages. It is intended to build graphic adventures and other animated interactive fiction. Macao-based games don't need any plugin and can be hosted on static Web servers. The framework comes with a step-by-step tutorial and a complete Java-style API documentation. It has a Road Editor and other useful tools. MACAW Methods And Classes All Webified: a Java application framework layered over Freemarker. It also includes a basic integration with Hibernate which is contained within the macaw.database package, but this is merely to wrap method invocations within transactions: a similar wrapping can be defined for any other persistence framework MagicBus The MagicBus is an event framework designed to allow developers to concentrate more on developing application components than the means of inter-component communication. Morphis Morphis is a set of Morphis tools and an abstract markup language used to write content for wireless applications. neteye actioncache an extension to the jakarta struts framework. It is intended for projects that use struts to display data provided by content management systems. With the neteye actioncache your actions (and views) that display the content are only invoked when the underlying data has changed NetServe NetServe is a lightweight network framework for Java. NetServe provides easy plugin facilities for handling network requests. This lets the developer focus on the core business rather than queueing, threading, and configuration problems. NIO Framework The NIO Framework sits on top of the Java NIO library and hides most of the complexity of plain NIO and SSLEngine. With it, one can easily implement secure, high-performance Java network applications. OpenEmcee Microflow Engine an open source framework (Released under MPL 1.1) for developing flexible, manageable, and adaptable applications. It aims to allow application developers to develop well-engineered business-logic intensive application domain software. OpenXava OpenXava is an XML/Java Framework to develop J2EE business applications rapidly and easily. It is based on business components defined with XML. It is feature rich and flexible, since it has been used for years to create real business applications. OpenXava OpenXava is a framework to develop easily business applications with XML and Java. Pendulum a Swing MVC and application framework built upon OpenSymphony's XWork and PicoContainer. It's primary purpose is to simplify and separate Swing POI aims to provide both the framework for porting and actual ports of file formats based on Microsoft's OLE 2 Compound Document Format (tm) to pure Java (tm). This includes all post-1997 MS Office (tm) file formats Proteus a framework for creating messaging applications, and a message broker built upon that framework. Proteus has adapters that allow databases, message queues, ftp servers, email and other message sources and sinks to be addressed in a simple, uniform fashion Pustefix Pustefix is a framework that helps you to develop web based applications The framework consists of two more or less independent parts: A machinery to apply recursive XSLT transformations that produces the UI of the web application, and a Java framework that takes input from the UI to change the application data and supplies changes of the application data back to the UI. qFJ qFJ is a port of Miro Samek's Quantum Framework in C/C++. qFJ consists of heirarchical statecharts, active objects, and the framework to tie it all together. Qt Jambi Qt Jambi is a cross-platform rich client application development framework. It includes a comprehensive class library and integrated development tools for high-end rich client application development. Query-Oriented Model for XML Query-Oriented Model for XML is a lightweight XML processing framework for Java that promotes the use of XPath instead of Java code for consuming XML. The resulting code is simple and expressive with no meaningless objects and no meaningless parameters - just pure business code. Restlet Restlet is a framework that brings the simplicity and efficiency of the REST architectural style to Java developers. It is composed of two parts, the Resltet API (alternative to Servlet API) and a reference implementation (Noelios Restlet Engine). It supports all REST concepts (resource, representation, data, connector, components, etc.) and is suitable for both client and server REST applications. The server connectors provided are HTTP(S), AJP (via Mortbay's Jetty or an adapter Servlet) and the client connectors are HTTP(S), JDBC, and SMTP (via JavaMail). RIFE RIFE aims to offer a viable solution for rapid web application development in Java without being troubled by the complex implications of J2EE. Roma Framework ROMA is POJO based and designed with concepts taken from Ruby On Rails. It allows you to build an AJAX-enabled Web application in a few minutes. RvTest an extension to JUnit that allows for server, integration, and load testing of TIBCO Rendezvous based solutions Saffeine (commercial) a pure Java framework that uses the power of the Java Cryptography Extension (JCE) to provide feature driven license management and code protection, based on Public Key cryptography, in one product. 'Saffeine' allows Software Product Development companies to provide solid protection for their products without embedding traditional license validation code Sanssouci for autogenerating fancy Swing-GUIs via introspection which display objects directly to the user Satyr Satyr is an open-source application framework designed to make it easier to build and maintain sophisticated web applications that incorporate complex flow logic. Simple XML Framework Simple is an XML serialization framework for Java. Its goal is to provide an XML framework that enables rapid development of XML configuration and communication systems. SINS Web Controller Framework a simple controller framework for web applications written in Java programming language and published under a GNU Lesser General Public License. Implementation is based on standard Java Servlet, Java Server Pages tag library and XML technologies and runs in standard Servlet containers Skaringa a framework for Java and XML language binding. Its core component is an Object Transformer, which is able to transform Java objects into XML documents and vice versa SOFIA Salmon Open Framework for Internet Applications: a RAD tool set for the J2EE. It integrates best-of-breed tools with a Java framework to provide an end-to-end solution for developing high quality database driven web applications Sojo SOJO is a Java framework that converts JavaBeans (complex Java-Object graphs) to a simplified representation, so that handling access to JavaBeans properties is easy and uniform. The framework is meant to compliment POJOs in cases where object orientation is not supported or is not the best decision. STAF Software Testing Automation Framework: an open source framework designed to improve the level of reuse and automation in test cases and test environments. The goal of STAF is to provide a complete end-to-end automation solution for testers Stripes Web Framework Stripes is a presentation framework for building web applications using the latest Java technologies. The main driver behind Stripes is that web application development in Java is just too much work! It seems like every existing framework requires gobs of configuration. subPersistence an abstract, light-weight yet flexible framework for working with O/R persistence mappers. It provides independence of a specific O/R mapper such as Hibernate or Castor. This decouples the application layer and the persistence layer SwitchRMI a framework for Java Remote Method Invocation (RMI) with plugin architecture for both protocol implementation (XMLRPC, etc) and network transport (HTTP, SMTP, etc.) Tammi a component based development framework and run-time container for applications supporting web browsers, mobile terminals and/or Swing based user interfaces Tarsis a Java Web MVC Framework that implements ServiceToWorker pattern UJO Framework UJO Framework offers a special architecture of beans different from conventional JavaBeans. The useful features are XML persistence of an object tree, controlled access to its attributes, easy collaboration with Swing tables, and very light weight. Unitee a Java testing framework and application used to build effective test cases in Java, as an alternative to JUnit Vexi Vexi is a platform for creating and publishing Graphical User Interfaces for applications that can be used over the Internet. Waffle Web framework Waffle is a Java Web framework that allows for POJO-based actions. Waffle does not require any custom XML configuration files, nor does it have a proprietary templating language. Web applications built on Waffle are easier to write and test than those built on other frameworks. WebMacro Servlet Framework a Java open source server-side web template engine and servlet development framework WebWork MVC Framework built on top of XWork, which provides a generic command pattern framework as well as an Inversion of Control container. In addition to these features, WebWork provides robust support for building reusable UI templates, such as form controls, UI themes, internationalization, dynamic form parameter mapping to JavaBeans, robust client and server side validation, and much more Wi.Ser Wi.Ser is a Java/XML server-side GUI-framework which enables an application to run as either a monolithic Swing app, a thin-client/server Swing application, or as a Web application without any change. WidgetServer WidgetServer is a Java/XML server-side GUI-framework which enables an application to run as either a monolithic Swing app, a client/server Swing app, or as a Web app without any change and without loss of functionality. A rich widget set is supported that includes tree views, tabbed panes, split panels, and much more. A unified widget-based, object-oriented programming interface for Web and Swing GUIs is offered to the developer to control and assemble the GUI. Web applications are fully AJAX enabled. For Swing client/server applications, the framework handles client/server communication, including compression and security layers. A GUI builder is included. X2J X2J is an XML binding framework which performs validation, serialization, and deserialization without the use of XSDs. Instead, it incorporates the strength of Annotations. Xholon The Xholon runtime framework executes applications that are event-driven or that have highly dynamic structure or behavior. You specify your models using XML and Java, or using third-party UML 2.0 tools and MDA transformations. It is based on the Real-Time Object-Oriented Modeling (ROOM) approach, UML 2.0 composite structure with ports, and finite state machines. XmlIO XmlIO is a package for reading XML files into corresponding Java objects and for writing a graph of Java objects to XML. XWork a command-pattern framework that is used to power WebWork as well as other applications. XWork provides an Inversion of Control container, a powerful expression language, data type conversion, validation, and pluggable configuration Yawda an MVC Web development application framework based on Struts. With this framework, you can easily output HTML, SVG, PNG, JPEG, PDF, RTF, XML, JS, CSS (and any text file) with data from several sources. It uses cayenne ORM (or another tool like jaxor, hibernates, or jdbc) and rhino for the model, Struts for the controller, and Velocity/iText/Batik for the view component