Open source software is an integral part of Java software development. Myriad third-party open source projects extend Java technology with libraries, tools, frameworks, applications, and application servers to help programmers harness this powerful technology. Many of the technologies discussed in this article are open source.
OpenJDK
OpenJDK is a free and open source implementation of the Java programming language, available under the GPLv2 license. In October 2010, IBM, previously the main corporate contributor of the competing Apache Harmony project, formed an alliance with Oracle to support OpenJDK and create a single, stable platform for Java development.The OpenJDK community is currently focused on the next major revision of the Java platform, Java 7, which is expected to include a number of the features noted in "A new era in Java technology" (some will likely end up in Java 8 per Oracle's latest roadmap) and the two-part article, "An NIO.2 primer."
Apache
The Apache Software Foundation is the umbrella organization for a panoply of open source projects that are predominantly Java language-based. Here's a sampling:- Apache Ant is the de facto standard build tool for Java development. (See the tutorial "Apache Ant 101: Make Java builds a snap" and "Invoking Apache Ant programmatically.")
- The Apache Maven build tool is designed to meet the challenges of modern software projects that require dynamic collaboration among project teams and depend on a mix of globally created and maintained components. (See the tutorial "Introduction to Apache Maven 2" and the article "5 things you didn't know about ... Apache Maven")
- Get acquainted with two Apache web services frameworks in "Java web services: Introducing CXF" and "Web services and Axis2 architecture."
- Read "Using Apache Lucene to search text" to learn about Apache's full-featured text search-engine library.
- "Introducing Apache Mahout" introduces an Apache project that's building scalable, machine-learning libraries.
- Apache Tomcat is a popular web container that supports servlets and JavaServer Pages technology. (The tutorial "Tomcat for beginning web developers" will help you get started with Tomcat.)
- The Apache Geronimo project is building a fully compliant Java EE application server based entirely on open source components. (Meet Geronimo in "Get started with Geronimo" and visit the developerWorks Apache Geronimo project resources for a wealth of Geronimo information.)
- Apache Derby is a relational database implemented entirely in the Java language. (Get started with "Developing with Apache Derby — Hitting the Trifecta: Introduction to Apache Derby" and visit the developerWorks Apache Derby project resources for tons more on Derby.)
Eclipse
Eclipse is a vendor-neutral, open development platform and set of application frameworks for building software. The Eclipse platform is written in the Java language and provides a plug-in based framework that makes it easier to create, integrate, and use software tools. (IBM is a founding member of Eclipse and actively participates on the Eclipse.org Board of Stewards and its working subcommittees.) Learn more about some of the platform's component technologies for Java development:- "A tour of Eclipse Helios" gives you a look at the latest simultaneous release of multiple Eclipse projects.
- Read "Eclipse e4 highlights" to learn what's coming in the next generation of the Eclipse platform.
- AspectJ is an aspect-oriented extension to the Java language that can be used to modularize crosscutting concerns such as logging and exception handling. (See the tutorial "An introduction to AOP" and explore further in several articles in the AOP at work series.)
- The Standard Widget Toolkit (SWT) is a user interface toolkit designed to provide efficient, portable access to the UI facilities of the underlying operating system. (See "A gentle introduction to SWT and JFace: How to create a simple SWT application.")
- Mylyn is a sophisticated task tracker for Eclipse users. (See "Mylyn 2.0, Part 1: Integrated task management" and "Mylyn 2.0, Part 2: Automated context management"" for a comprehensive Mylyn guide.
- The Eclipse Test and Performance Tools Platform (TPTP) supplies frameworks and services for test and performance tools. (See the tutorial "Introduction: Eclipse Test and Performance Tools Platform.")
- The Eclipse Web Tools Platform (WTP) extends the Eclipse platform with tools for developing Java EE web applications. (See the tutorial "An introduction to the Eclipse Web Tools Platform V1.0.")
- Visit the developerWorks Eclipse IDE project resources for loads more Eclipse articles and tutorials.
Spring
The popular Spring framework is a layered framework for Java EE application development:- Check out The Spring series and the tutorial "Introduction to Spring 2 and JPA" for detailed information.
- Spring Security — formerly known as the Acegi Security System for Spring — is a powerful, flexible security solution for enterprise applications developed using the Spring framework. Learn more in the four-part article "Securing Java applications with Acegi."
No comments:
Post a Comment