Appendix B. Third-Party Tools

A wide variety of open source and commercial third-party tools and technologies are available to assist you with developing Java-based applications.

The sample set of resources listed here are both effective and popular, or at least many that we have used frequently. Remember to check the licensing agreements of the open source tools you are using for commercial environment restrictions.

Development, CM, and Test Tools

Ant

Apache Ant is an XML-based tool for building and deploying Java applications. It’s similar to the well-known Unix make utility.

Bloodhound

Apache Bloodhound is an open source web-based project management and bug tracking system.

CruiseControl

CruiseControl is a framework for a continuous build pro⁠cess.

Enterprise Architect

Enterprise Architect is a commercial computer-aided software engineering (CASE) tool that provides forward and reverse Java code engineering with UML.

FindBugs

FindBugs is a program that looks for bugs in Java code.

Git

Git is an open source distributed version control system.

Gradle

Gradle is a build system that provides testing, publishing, and deployment support.

Hudson

Hudson is an extensible continuous integration server.

Ivy

Apache Ivy is a transitive relation dependency manager. It is integrated with Apache Ant.

Javacc

Javacc is a tool that reads a grammar specification and converts it to a Java application that can recognize grammar matches.

Jalopy

Jalopy is a source code formatter for Java that has plug-ins for Eclipse, jEdit, NetBeans, and other tools.

jClarity

jClarity is a performance analysis and monitoring tool for cloud environments.

jEdit

jEdit is a text editor designed for programmers. It has several plug-ins available through a plug-in manager.

JavaFX SceneBuilder

JavaFX Scene Builder is a visual layout tool for designing JavaFX applications.

Jenkins

Jenkins CI is an open source continuous integration server, formally known as Hudson Labs.

JIRA

JIRA is a commercial bug tracking, issue tracking, and project management application.

JUnit

JUnit is a framework for unit testing that provides a means to write and run repeatable tests.

JMeter

Apache JMeter is an application that measures system behavior, such as functional behavior and performance.

Maven

Apache Maven is a software project management tool. Maven can manage builds, reports, and documentation.

Nemo

Nemo is an online instance of Sonar dedicated to open source projects.

PMD

PMD scans Java source code for bugs, suboptimal code, and overly complicated expressions.

SonarQube

SonarQube is an open source quality management platform.

Subversion

Apache Subversion is a centralized version control system that keeps track of work and changes for a set of files.

Libraries

ActiveMQ

Apache ActiveMQ is a message broker that supports many cross-language clients and protocols.

BIRT

BIRT is an open source Eclipse-based reporting system to be used with Java EE applications.

Bitlyj

A DSL for Bitly-powered URL shortening services.

Camel

Apache Camel is a rule-based routing and mediation engine.

gedcom4j

gedcom4j is a Java library for parsing, manipulating, and writing GEDCOM data.

Geocoder-java

Geocoder-java is a Java API for Google geocoder v3.

GSON

Google-gson is a Java API that can convert Java Objects into JSON and back.

Guava

Google Guava is a set of libraries that includes new collection types, immutable collections, a graph library, functional types, an in-memory cache, concurrency utilities, I/O, hashing, primitives and reflection.

Hibernate

Hibernate is an object/relational persistence and query service. It allows for the development of persistent classes.

iText

iText is a Java library that allows for the creation and manipulation of PDF documents.

Jakarta Commons

Jakarta Commons is a repository of reusable Java components.

Jackrabbit

Apache Jackrabbit is a content repository system that provides hierarchical content storage and control.

JasperReports

JasperReports is an open source Java reporting engine.

Jasypt

Jasypt is a Java library that allows the developer to add basic encryption capabilities.

JFreeChart

JFreeChart is a Java class library for generating charts.

JFXtras2

JFXtras2 is a set of controls and add-ons for JavaFX 2.0.

JGoodies

JGoodies provides components and solutions to solve common user interface tasks.

JIDE

JIDE software provides various Java and Swing components.

jMonkeyEngine

jMonkeyEngine is a collection of libraries providing a Java 3D (OpenGL) game engine.

JOGL

JOGL is a Java API supporting OpenGL and ES specifications.

jOOQ

jOOQ is a fluent API for typesafe SQL query construction and execution.

Moneta

Moneta is a reference implementation of the JSR 354 Money & Currency API.

opencsv

opencsv is a comma-separated values (CSV) parser library for Java.

POI

Apache Poor Obfuscation Implementation (POI) is a library for reading and writing Microsoft Office formats.

ROME

ROME is a Java framework for RSS and Atom feeds.

RXTX

RXTX provides native serial and parallel communications for Java.

Spring

Spring is a layered Java/Java EE application framework.

Tess4J

A Java JNA wrapper for the Tesseract optical character recognition (OCR) API.

Twitter4j

A Java library for the Twitter API.

Integrated Development Environments

BlueJ

BlueJ is an IDE designed for introductory teaching.

Eclipse IDE

Eclipse IDE is an open source IDE for creating desktop, mobile, and web applications.

Greenfoot

Greenfoot is a simple IDE designed to teach object orientation with Java.

IntelliJ IDEA

IntelliJ IDEA is a commercial IDE for creating desktop, mobile, and web applications.

JCreator

JCreator is a commercial IDE for creating desktop, mobile, and web applications.

JDeveloper

JDeveloper is Oracle’s IDE for creating desktop, mobile, and web applications.

NetBeans IDE

NetBeans is Oracle’s open source IDE for creating desktop, mobile, and web applications. This IDE is currently in the Apache Incubator.

Web Application Platforms

Geronimo

Apache Geronimo is a Java EE server used for applications, portals, and web services.

Glassfish

Glassfish is an open source Java EE server used for applications, portals, and web services. Payara is a GlassFish derivative.

IBM WebSphere

IBM WebSphere is a commercial Java EE server used for applications, portals, and web services.

JavaServer Faces

JavaServer Faces technology simplifies building user interfaces for Java server applications. JSF implementations and component sets include Apache MyFaces, ICEFaces, RichFaces, and Primefaces.

Jetty

Jetty is a web container for Java Servlets and JavaServer Pages.

Oracle WebLogic Application Server

Oracle WebLogic Application Server is a commercial Java EE server used for applications, portals, and web services.

Resin

Resin is a high-performance, cloud-optimized Java application server.

ServiceMix

Apache ServiceMix is an enterprise service bus that combines the functionality of a service-oriented architecture and an event-driven architecture on the Java Business Integration specification.

Sling

Sling is a web application framework that leverages the Representational State Transfer (REST) software architecture style.

Struts

Apache Struts is a framework for creating enterprise-ready Java web applications that utilize a model-view-controller architecture.

Tapestry

Apache Tapestry is a framework for creating web applications based upon the Java Servlet API.

Tomcat

Apache Tomcat is a web container for Java Servlets and JavaServer Pages.

TomEE

Apache TomEE is an all-Apache Java EE 6 Web Profile certified stack.

WildFly

WildFly, formally known as JBoss Application Server, is an open source Java EE server used for applications, portals, and web services.

Scripting Languages Compatible with JSR-223

BeanShell

BeanShell is an embeddable Java source interpreter with object-based scripting language features.

Clojure

Clojure is a dynamic programming language targeted for the Java Virtual Machine, Common Language Runtime, and JavaScript engines.

FreeMarker

FreeMarker is a Java-based general-purpose template engine.

Groovy

Groovy is a scripting language with many Python, Ruby, and Smalltalk features in a Java-like syntax.

Jacl

Jacl is a pure Java implementation of the Tcl scripting language.

JEP

Java Math Expression Parser (JEP) is a Java library for parsing and evaluating mathematical expressions.

Jawk

Jawk is a pure Java implementation of the AWK scripting language.

Jelly

Jelly is a scripting tool used for turning XML into executable code.

JRuby

JRuby is a pure Java implementation of the Ruby programming language.

Jython

Jython is a pure Java implementation of the Python programming language.

Nashorn

Nashorn is a JavaScript implementation. It is the only scripting language that has a script engine implementation included in the Java Scripting API by default.

Scala

Scala is a general-purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way.

Sleep

Sleep, based on Perl, is an embeddable scripting language for Java applications.

Velocity

Apache Velocity is a Java-based general-purpose template engine.

Visage

Visage is a domain-specific language (DSL) designed for the express purpose of writing user interfaces.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.191.253.62