Tools & Frameworks

Multimedia

Development Environment

IDE

XML/XSD/DTD

  • jInfer jInfer is a framework for XML schema inference based on NetBeans platform. Using jInfer, you can create DTD or XSD schema from your existing XML documents, schemas and queries.

UML-Modeling

  • ArgoUML ArgoUML is an open source UML modeling tool and includes support for all standard UML 1.4 diagrams.

Frontend

Desktop-Application-Frameworks

Web-Frameworks

  • Apache Click Apache Click is a modern JEE web application framework, providing a natural rich client style programming model. Click is designed to be very easy to learn and use, with developers getting up and running within a day.
  • Apache MyFaces The Apache MyFaces project provides a JavaServer(tm) Faces implementation (MyFaces API, MyFaces Impl modules), several component libraries containing UI widgets for building web-applications with JSF (e.g. MyFaces Tomahawk, MyFaces Trinidad, MyFaces Tobago), ...
  • Apache Struts Apache Struts is a free open-source framework for creating Java web applications.
  • Apache Tapestry Apache Tapestry is an open-source framework for creating dynamic, robust, highly scalable web applications in Java. Tapestry complements and builds upon the standard Java Servlet API, and so it works in any servlet container or application server.
  • Apache Wicket With proper mark-up/logic separation, a POJO data model, and a refreshing lack of XML, Apache Wicket makes developing web-apps simple and enjoyable again. Swap the boilerplate, complex debugging and brittle code for powerful, reusable components written with plain Java and HTML.
    vHost-specific content
  • Eclipse Rich Ajax Platform (RAP) The RAP project enables developers to build rich, Ajax-enabled Web applications by using the Eclipse development model, plug-ins with the well known Eclipse workbench extension points and a widget toolkit with SWT API (plus JFace). RAP is very similar to Eclipse RCP, but it has its own implementation of the SWT API (called RWT) which renders the widgets remotely on a web browser. The RAP application runs on a servlet container and clients can access the application with standard web browsers.
  • Google Web Toolkit Google Web Toolkit (GWT), especially when combined with the Google Plugin for Eclipse, eases this burden by allowing developers to quickly build and maintain complex yet highly performant JavaScript front-end applications in the Java programming language.
  • ICEfaces As a leading open source Ajax framework, ICEfaces is more than a Ajax JSF component library, it's an J2EE Ajax framework for developing and deploying rich enterprise applications (REAs). With ICEfaces, enterprise Java developers can easily develop rich enterprise applications in Java, not JavaScript.
  • JavaFX JavaFX provides a unified development and deployment model for building rich client applications that integrate rich immersive media such as audio and video, graphics, rich text and web services.
  • Spring MVC A flexible MVC web application framework, built on core Spring functionality. This framework is highly configurable via strategy interfaces, and accommodates multiple view technologies like JSP, Velocity, Tiles, iText, and POI. Note that a Spring middle tier can easily be combined with a web tier based on any other web MVC framework, like Struts, WebWork, or Tapestry.

Javascript- / AJAX-Frameworks

  • CodeMirror CodeMirror is a JavaScript component that provides a code editor in the browser (with preview!).
  • Data-Driven Documents JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG and CSS.
  • DWR Direct Web Remoting is a Java library that enables Java on the server and JavaScript in a browser to interact and call each other as simply as possible.

Backend / Database

Persistence Frameworks

Comparisions: Object Relational Tool Comparison

  • Apache Cayenne Apache Cayenne is an open source persistence framework licensed under the Apache License, providing object-relational mapping (ORM) and remoting services.
  • EclipseLink The Eclipse Persistence Services Project (EclipseLink) delivers a comprehensive open-source Java persistence solution. EclipseLink focuses on standards with advanced features, performance and scalability for enterprise software developers across data sources, formats, and containers.
  • EJB Enterprise JavaBeans (EJB) technology is the server-side component architecture for Java Platform, Enterprise Edition (Java EE). EJB technology enables rapid and simplified development of distributed, transactional, secure and portable applications based on Java technology.
  • Firestorm FireStorm/DAO is a code generator that makes software developers more productive by automatically generating DAO code for accessing relational databases. FireStorm/DAO's code generation approach cuts costs through higher developer productivity, better software quality, and lower maintenance costs.
  • Hibernate Hibernate is a powerful, high performance object/relational persistence and query service. Hibernate lets you develop persistent classes following object-oriented idiom - including association, inheritance, polymorphism, composition, and collections. Hibernate allows you to express queries in its own portable SQL extension (HQL), as well as in native SQL, or with an object-oriented Criteria and Example API.
  • iBatis The iBATIS Data Mapper framework makes it easier to use a database with Java and .NET applications. iBATIS couples objects with stored procedures or SQL statements using a XML descriptor. Simplicity is the biggest advantage of the iBATIS Data Mapper over object relational mapping tools.
  • JDO The Java Data Objects (JDO) API is a standard interface-based Java model abstraction of persistence, developed under the auspices of the Java Community Process.
  • JPA The Java Persistence API provides a POJO persistence model for object-relational mapping. The Java Persistence API was developed by the EJB 3.0 software expert group as part of JSR 220, but its use is not limited to EJB software components. It can also be used directly by web applications and application clients, and even outside the Java EE platform, for example, in Java SE applications.
  • Oracle TopLink Oracle TopLink delivers a proven enterprise Java solution for all of your persistence needs based on high performance and scalability, developer productivity, and flexibility in architecture and design.

Data-Modeling

  • ERMaster ERMaster is GUI editor for ER diagram. It is operated as Eclipse plug-in. Making ER diagram, the print of ER diagram, and the DDL output from ER diagram, etc. can be done graphical. Moreover, import, the group management, and the historical management, etc. from DB are supported.

Clients

  • Squirrel SQuirreL SQL Client is a graphical Java program that will allow you to view the structure of a JDBC compliant database, browse the data in tables, issue SQL commands etc.

Code Quality

  • CheckStyle Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. It automates the process of checking Java code to spare humans of this boring (but important) task. This makes it ideal for projects that want to enforce a coding standard.
  • FindBugs FindBugs, a program which uses static analysis to look for bugs in Java code.
  • Profile4J Profiler4j is an open-source CPU profiler for Java.

Build Systems

Build

  • Ant Apache Ant is a Java-based build tool. In theory, it is kind of like Make, but without Make's wrinkles.
  • Maven Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

Continuous Integration

  • Continuum Apache Continuum is an enterprise-ready continuous integration server with features such as automated builds, release management, role-based security, and integration with popular build tools and source control management systems.
  • CruiseControl CruiseControl is both a continuous integration tool and an extensible framework for creating a custom continuous build process.

Testing

Unit-Testing

  • JUnit JUnit is a simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks.

Load-Testing

  • Apache JMeter Apache JMeter is open source software, a 100% pure Java desktop application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.