JCrete:Glossary

This page is a Java glossary specific to the Java Specialists Symposium 2011, augmenting the list of topics. User pages listed here were also used to find entries. Definitions are pitched to the participants who already have extensive knowledge of Java though not necessarily in all areas.

Please insert brief explanations and links to your favourite web resources under each topic if you have time and feel inclined.

Agile Methodologies
See The New Methodology,... and ...

Specifically, the following methodologies and concepts have been mentioned:


 * Scrum
 * ExtremeProgramming
 * continuous integration and deployment
 * TDD
 * FDD
 * software/process metrics.

Ajax
...

Android
...

ANTLR
''ANTLR, ANother Tool for Language Recognition, is a language tool that provides a framework for constructing recognizers, interpreters, compilers, and translators from grammatical descriptions containing actions in a variety of target languages. ANTLR provides excellent support for tree construction, tree walking, translation, error recovery, and error reporting''

Architecture
Software architecture ...

Aspect Oriented Programming
...

AST
Abstract syntax tree.

See also: Groovy AST and [Project] Lombok (below).

Behaviour-Driven Development
...

BIRT
Business Intelligence and Reporting Tools

''BIRT is an open source Eclipse-based reporting system that integrates with your Java/Java EE application to produce compelling reports. ''

Byte code manipulation
Context: Byte code manipulation at the AST level: Groovy AST and Project Lombok -- suggested by Andres Almiray.

Clojure
...

Cloud Computing
...

Context: Java and cloud computing (may be related to "The future of Java EE") --suggested by Álvaro Hernández.

CMS
Content Management System


 * Lenya

Cocoon
...

Concurrency
...

Dependency Injection
A programming technique whereby ....

Design Patterns
...

The Disruptor Pattern
...

See also: mechanical sympathy (below). (ask Michael Hunger)

Distributed/Remote Development
The development team is distributed.

Context: Topic: How to program in a remote team (Heinz)

DSL
Domain-specific language ... (e.g. jequel, squill, and xmldsl) Michael Hunger.

Dynamic Modules
Topic: Building applications on OSGi (below).

EclEmma
Code coverage plug-in for Eclipse.

Eclipse
An IDE, RCP, ...

Erlang
...

FormTool
... see also Velocity below.

Frameworks
...

See: Software framework on Wikipedia (and links under 'See also').

Context: How to prevent reinventing the wheel / Strategies of keeping up to date in the jungle of available Frameworks -- suggested by Rabea Gransberger.

G1
A Garbage Collector (below).

Garbage Collection
...

Context: topic: Garbage Collectors, G1, Zing

Game of Life
...

Grails
...

Griffon Framework
A desktop application development platform for the JVM.

Groovy
...

Groovy AST
Context: suggested topic 'Byte code manipulation at the AST level: Groovy AST and Project Lombok'.

Hazelcast
''Hazelcast is an open source clustering and highly scalable data distribution platform for Java, which is:


 * Lightning-fast; thousands of operations/sec.
 * Fail-safe; no losing data after crashes.
 * Dynamically scales as new servers added.
 * Super-easy to use; include a single jar.''

Hibernate
...

iBatis
Data mapper framework. Previously an Apache project (retired).

Lives on in MyBatis.

ICEfaces
...

IDE
...

iOS
iOS (known as iPhone OS before June 2010) is Apple's mobile operating system.

Context: OS (and Android) Development in Java -- suggested by David La Motta.

Jacob
JACOB is a JAVA-COM Bridge that allows you to call COM Automation components from Java.

JaCoCo
Code coverage library.

Jakarta
The Apache Jakarta™ Project: a bunch of Java projects run by the Apache community. Most of the projects have become full top-level Apache projects. Some have been retired. Some may be listed in this glossary.

JasperReports
...

Java 7
...

Java EE
...

JavaFX 2.0
...

Javascript
...

JBoss
...

Ask Dimitris ...

JBPM
...

JDO
...

Jigsaw
...


 * Project Jigsaw.

Jini
See Apache River.

Jserv
Apache JServ Protocol ...

JSF
...

Context: webapps on a facelets-JSF-Seam-JPA stack Brian Cole

JUnit
...

JXTA
JXTA is a programming language and platform independent Open Source protocol started by Sun Microsystems for peer-to-peer (P2P) networking in 2001.

Knowledge-based systems
...


 * e.g. the area of Configuration (Constraints, Procedures etc.) (Rabea)

Lambda functions
...

Lego Mindstorms
...

Also: Rabea has co-developed an interface for controlling robots with pure SWT and some overlays for OpenCV (real time image processing) created with JNI/JNA. The main purpose was the Robocup Rescue Real Robot League Event in 2006.

Lombok
Project Lombock: ...

Getting rid of boilerplate code in Java ...

Context: suggested topic 'Byte code manipulation at the AST level: Groovy AST and Project Lombok'. Also in the contexts of frameworks.

Maven
''Apache 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. ''

See also: Tycho below.

Mechanical Sympathy
...

Topic: Mechanical Sympathy, The Disruptor Pattern

Messaging
...

Topic: Messaging and concurrency.

Mobile technologies
...

Modularization and packaging systems
Context: Java modularization and packaging systems -- suggested by Álvaro Hernández.

Mule ESB
...

mybatis
data mapper framework ...

NetBeans
An IDE, RCP, ...

NoSQL
...

ORMs
...

See also: NoSQL, YesQL.

OSGi
...

See also project Jigsaw (above).

Performance
...

polyglot programming
using the right tool for the right job

Pragmatic Programming
...

Refers to the book The Pragmatic Programmer: From Journeyman to Master- a must read for career programmers - and pragmatic programming in general.

Qi4j
...

Quartz Scheduler
Quartz is a full-featured, open source job scheduling service that can be integrated with, or used along side virtually any Java EE or Java SE application - from the smallest stand-alone application to the largest e-commerce system.

RAP
[e.g. Eclipse] Rich Ajax Platform (RAP).

Rational Team Concert
Rational Team Concert integrates work item tracking, source control management, continuous builds, iteration planning, and highly configurable process support to adapt to the way you want to work, enabling developers, architects, project managers, and project owners to work together effectively.

RCP
Rich Client Platforms: e.g. NetBeans and Eclipse (above).

Refactor
...

Context: topic: Refactoring Golf

Refactoring Golf
A game to compare refactoring tools in IDEs (please expand).

Topic: Refactoring Golf, Refactor to a certain solutions using your IDE efficiently.

REST
REST APIs ...

RIA
...

Rich Ajax Platform
...

Rich Client Platform
...

Scala
...

Shiro
Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.

Spock
...

See also: TDD/BDD

Spring
...

SpringSource Tool Suite
...

Struts
The Apache Struts web framework is a free open-source solution for creating Java web applications.

SWRL
...

TDD/BDD
See Test-driven development/ Behaviour-driven development.

Test-Driven development
...

(including: incremental design, constant verification and quick feedback)

Tycho
Tycho is a set of Maven plugins and extensions for building Eclipse plugins and OSGi bundles with Maven.

UML
...

Unit Testing
...

Velocity
...

Virtual extension methods
...

Context: Java 8, lambda functions, virtual extension methods... -- suggested by Álvaro Hernández.

WebSphere

 * IBM WebSphere Portal: Servelets, Portlets, JSP, JSF, ...

WebWork
...

XML
...

YUI
...

Zing
A Garbage Collector (above).