A list of Acronyms, Open Source Software, Programming Expressions, Jargon and other technical terms used within the site.
Agile Programming A set of principles to follow during development of a software product, places much emphasis on communication between the business and tech elements and that projects should be developed iteratively with short term plans based on expediently rather than on a rigid long term plan.
Apache The most popular web server on the internet, approximately %60 of all web servers run Apache according to the influential Netcraft. Apache is not Java aware, a
Servlet Container is often used in conjunction with Apache to handle Java
(servlets/jsps) resource requests.
CMS A CMS (Content Management System) application provides a user interface to manage content; newspaper, etc . However, in this context it generally refers to a application used to manage the content of a website.
Camel Case is a popular naming convention used in many programming
languages including Java, two variants exist; lower case camel case which is typically used for variable
/ member names within class source code (i.e. myFirstName) to upper case camel case which is used for
class names (i.e. MyMemberClass).
Container A Container is a commonly used term within
J2EE, it refers to a software component that provides an environment which the various J2EE entities run in. For example,
Servlets or
EJBs cannot be run standalone, they need to run within a
Servlet or
EJB container.
Design Patterns Design patterns are solutions implemented in software to common problems a programmer may encounter. Facade, Factory and Visitor are well known examples of design patterns.
EJB
Enterprise Java Beans are Java objects which adhere to rigid interfaces. They should not be confused with JavaBeans. They provide a distributed object model supporting transactions, Java's answer to DCOM and CORBA.
Extreme Programming A programming methodology which places considerable stress
on a test driven development cycle. A typical XP programming cycle would be test/code/test/code in small increments.
Frameworks Frameworks build upon Servlet and JSPs by plugging in functionality commonly required when writing web applications. Dependant on the framework, many attempt to apply MVC principles to web application development. They often deliver a range of other benefits, such as connection pooling, declarative control flow and error handling, taglibs libraries and utility clases.
Free as in Beer An expression used in the IT community to distinguish between free
as in the monetary sense to free as in the freedom sense. The difference between freeware (free as in beer, but
not free as in freedom - closed source code) and opensource (free in both respects).
Geronimo
An open source J2EE container developed under the
Apache group umbrella. c.f. JBoss
Glassfish
The reference implementation of the latest J2EE 5 standard(s) developed by Sun Microsystems who have
now made it available for free download under a relatively restrictive licence. It was formerly called
the Sun Microsystems Application Server and available as a commercial product. Only Jetty and
Glassfish support the latest Servlet (2.5) and JSP (2.1) specifications. Servlet 2.5 and JSP 2.1 support is
scheduled to be included in the Tomcat 6 series.
Hibernate A popular Open Source
ORM (Object Relation Management) solution, a.k.a. Persistence.
Inversion of ControlA Design Pattern which stresses that a class's dependencies (other classes it uses/references) be weakly defined so implmentation of these dependencies can be
switched effortlessly; often during runtime. Now more commonly known as 'Dependency Injection'. See Spring.
JavaBeans JavaBeans are Java classes which adhere to a principles laid down by
the JavaBean specification, available here.
Jetty An Open Source Servlet Container
JBoss An Open Source EJB Container, which is now officially J2EE endorsed.
J2EE
Java 2 Enterprise Edition, a collection of specifications which include the Servlet and JSP specifications.
JSP Java Server Pages are a specification which allow a developer to integrate the JSP code with the presentation markup. Similar to ASP and PHP in that code is separated from the markup by being delimited by ?> tags. The Servlet Container will compile JSPs into servlets.
JVM The Java Virtual Machine provides the context where Java applications run. Java applications cannot operate outside a JVM.
MVC The Model View Controller is a software paradigm that stresses that software should be divided into discrete units (Model/View/Controller). The Model represents the data and the operations which are performed on it, the View outlines how the model is visually represented and the controller co-ordinates the interaction between the Model and View.
ORM Object-Relational Mapping provides a mapping between objects (instances of Java cless) and relations (academic term for database tables). Effective implementations accelerate application development as it eliminates the need to write large sections of JDBC code to map your objects to database tables.
OSS Open Source Software, a term used to define software engineered by the internet community at large and generally not by a single commercial entity. Open Source Software is characterised by the software having special licencing and the source code being readily available.
Resin A commercial Servlet Container noted for it's speed.
Servlets Servlets are Java classes which adhere to the Servlet Specification which run within a Servlet Container.
Spring A Open Source lightweight
container which has been designed with Inversion Of Control/Dependency Injection
(see Design Patterns) in mind.
It also comes with a huge range of utility classes.
Service-Orientated architecture An architecture where services (read subroutines) make themselves available autonomously (i.e. they don't depend on other services) within a loosely coupled environment, such as a network. Web services (SOAP/WSDL) could be regarded as an representation of a service-orientated architecture.
Struts Struts is a popular Open Source Framework which provides a MVC solution for developing web applications. It is developed under the Apache group.
Syntactic sugar is an addition to the syntax of a programme language that offers
an simplified way of expressing in code some form of statement.
Tomcat A very popular Open Source Servlet Container.
Toplink An
ORM implementation developed by Oracle and available as
both a commercial product and now freely available as toplink 'essentials'. c.f.
Hibernate
Taglibs
Taglibs are a mechanism with JSP which allow HTML tags to be associated with Java classes. These classes
adhere to the taglib specification.
Velocity A templating engine with it's own syntax. It can be used in conjuction
with servlets to generate output, an alternative to using JSP