Java open source project Introduction

Source: Internet
Author: User
Tags i18n version control system openpgp

The Jakarta project is part of the ASF (the Apache Software Foundation. ASF is a non-profit organization. She encourages cooperation and practical development based on open software licenses and provides high-quality software in various fields. It involves HTTP servers and compilation tools, class Libraries, development architecture, server-side Java technology, J2EE containers, database tools, log tools, XML parsing, and many other fields. Some Java projects provided by ASF are in Jakarta, and some become independent projects such as Tomcat. The Jakarta project provides a variety of open-source Java solutions.

First, we will introduce the Java project in parallel with the Jakarta project in ASF:

Ant -- Java build tool. You can use a configuration file to compile, package, test, run, deploy, and generate documents for Java projects.
Aveon is a complete development platform for component programming (AOP) that includes core frameworks, tools, components, and containers. Use Key design patterns, such as reverse control mode (IOC) and separation mode (SOC ). Aveon provides various basic components and default application modules to help you quickly build your own application solutions.
Excalibur-a lightweight, embedded reverse control container that combines multiple open source projects (aveon framework, logkit, and cornerstone.
Gump is a continuous integration tool used by Apache organizations. It fully supports ant and maven. When a new change is submitted to the version control system, it can check for potential conflicts, notify all members of the project team in a timely manner and generate detailed change reports automatically.
James is a set of mail, newsgroup, and message servers developed in Java. It provides a complete configuration solution, especially for mail content storage and user information storage. Supports SMTP, POP3, nntp, and IMAP.
Logging-a reliable and fast log tool.
Lucene-a high-performance, comprehensive text search engine developed by Java. Indexing for each word in a file greatly improves the search efficiency than the traditional one by word. Lucen provides a set of APIS for interpreting, filtering, analyzing files, orchestrating, and using indexes, in addition to being efficient and simple, it is the most important thing for users to customize their functions at any time.
Maven is a potential replacement for java-based apache ant build tools. Provides more powerful functions and ease of use.
Portals-provides a fully functional and commercial enterprise portal. Portal concept: A Portal integrates various resources in an enterprise, such as information management systems, and provides external services through a single interface, employees, partners, and customers can enjoy the services provided by the enterprise through any device at any location through the portal. analysts predict that the portal will become the next generation of desktop environment.
Struts-a web application development framework that implements MVC model2. A configuration file can be used to assemble various components with a clear structure and the most widely used web development framework.
Tapestry-similar to Struts, it is also a servlet-based application framework that supports MVC. It is not as popular as Struts. It is mainly developed using javabean and xml technologies,
The Tomcat -- Serlvet container also has the functions of traditional Web servers, such as processing Html pages. Able to process dynamic and static Web pages.
Watchdog -- used to check the compatibility of a servlet or jsp Container on the implementation of the corresponding specifications. However, this project is static and only supports Servlet2.3 and JSP1.2. The corresponding Serlvet containers such as Tomcat only support Tomcat 4.x.

The following describes each subproject of Jakarta:

Alexander Ria -- no longer available
BCEL -- The Byte Code Engineering Library (formerly known as JavaClass) bytecode engine class Library makes it possible for users to conveniently analyze, create, and operate java class files. It allows you to go deep into the details of class operations in the JVM assembly language.
The BSF-bean script Framework provides support for the scripting language in Java applications. You can use the scripting language to access Java objects and methods.
Cactus is a simple testing framework based on the JUnit framework. It is used to unit test the Java code of the server. Cactus unit test server content includes servlet, EJB, tag librarie, filter, etc.
Commons-provides many feature solutions with high usage in daily development and has been adopted by many well-known open-source projects. The specific project list will be later.
ECS-an open-source project that uses Java and object-oriented methods to create markup language documents (HTML, XML.
Hivemind is a microkernel for services and configurations. It is a framework for creating complex applications through simple Java objects and interfaces.
Httpcomponents -- provides more powerful and convenient HTTP protocol processing functions that the java.net package cannot provide.
JCS is a distributed cache system that improves application performance and provides many powerful additional functions.
Jmeter is a set of desktop applications developed in Java only. It is used for function testing and performance testing. It can be used to test the running status of servers in static databases or active databases. It can be used to simulate heavy loads on servers or network systems to test its resistance, it can also be used to analyze all running conditions of different load types. It also provides a replaceable interface for customizing data display, test synchronization, and test creation and execution.
Oro-a text processing tool that provides regular expressions, awk-like regular expressions, and glob expressions compatible with perl5.0. It also provides functions such as replacement, splitting, and file name consideration.
Poi-a set of files used to create and read and write files based on the OLE 2 component document format. Use Java to read and write MS Excel and Word files.
Regexp -- a set of Java-only regular expression-related packages.
Slide-the main module is a content warehouse that can be used as the underlying content management framework. it can access content information to specialized, heterogeneous, and distributed databases. slide also adds security, locking, versioning, and other features.
Taglibs-a set of common JSP tag packages that are useful for Web application development.
Turbine-similar to struts, it is also a servlet-based application framework that supports MVC. Provides a large number of reusable components. This framework package contains a large number of components, but these components are discrete.
Velocity-is a Java-based template engine ). It allows anyone to simply use the template language to reference objects defined by Java code. When velocity is applied to web development, the interface designer can develop a web site following the MVC Architecture in sync with Java program developers. That is to say, the page designer can only focus on the page display effect, java developers focus on business logic encoding. Velocity separates Java code from web pages, which facilitates the long-term maintenance of web sites and provides an optional solution besides JSP and PHP. Velocity is far more powerful than Web site development. For example, it can generate SQL, postscript, and XML from templates, it can also be used as an independent tool to generate source code and reports, or as an integrated component of other systems. Velocity can also provide template service for the turbine web development architecture ). Velocity + turbine provides a template service that allows a web application to be developed with a real MVC model.
Apache Java Project Overview 2
Next we will introduce the commons under Jakarta: A csdn user is very descriptive, and commons is like a Java Baobao.
Commons can be divided into three parts: commons proper, commons sandbox, and commons dormant.
Commons Proper: Provides well-designed and reusable java components and has undergone extensive and rigorous tests.
Commons Sandbox: components in the experiment and test phase.
Commons Dormant: components that exit from Sandbox and are inactive. Use them with caution.

Commons Proper component:

Attributes-supports source code-level metadata.
BeanUtils-a Java reflection and introspection API packaging tool for processing javabean.
Betwixt -- converts JavaBeans and XML.
Chain -- Implementation of the Chain of Responsibility (responsible Chain) design model. So that multiple objects have the opportunity to process the request, so as to avoid coupling between the request sender and the receiver. Connect these objects into a chain and pass requests along the chain until an object processes it.
CLI -- parse commands that process command lines.
Codec -- contains some common encoding and decoding algorithms. Includes Audio encoder, Hex, Base64, and URL encoder.
Collections -- extends and adds a standard Java Collection framework.
Configuration -- operate Configuration files in various formats. Properties file/XML file/JNDI/JDBC Data Source/System properties/Applet parameters/Servlet parameters
Daemon -- creates java code similar to a unix Daemon thread, which can safely perform some background operations. The thread is not controlled by an application, but is controlled by an operating system like a windows service, you can set a service to depend on another service. A service must be executed before it is closed.
DBCP -- a database connection pool
DbUtils-a jdbc tool class. For example, you can generate a javabean by using resutisets.
Digester-rule-based XML document parsing, mainly used for XML-to-Java object ing.
Discovery -- provides tools to locate resources (including classes) and map service/reference names and resource names in various modes.
Expression introduced by EL--JSP 2.0
Email -- process Email
FileUpload -- File Upload Component in web Applications
HttpClient-Client development framework using HTTP protocol
IO-help with the development of IO Functions
Jelly -- Jelly can convert XML into executable code, so Jelly is a script and Processing Engine Based on XML and Java. Jelly draws on many advantages of the script engine in JSP tag, Velocity, Cocoon, and Xdoclet. Jelly can be used in command lines, Ant, or Servlet.
Jexl -- Jexl is an expression language that extends the expression language defined by JSTL by drawing on experience from Velocity.
JXPath-a tool that uses the XPath syntax to operate javabean.
Lang -- provides extensions to the java. lang package.
Launcher-start of cross-platform java programs
Logging-provides a Log interface, which is lightweight and independent from specific Log implementation tools. It provides a simple log operation abstraction for middleware/log Tool developers, allowing program developers to use different log implementation tools. The user is assumed to be familiar with more advanced details of a log implementation tool. Interfaces provided by JCL are simply packaged for other log tools, including Log4J, aveon LogKit, and JDK 1.4. This interface is closer to the implementation of Log4J and LogKit.
Math-math is a lightweight, self-contained mathematical and statistical component that solves many common but not timely practical problems in java standard languages.
Modeler-supports mbeans development compatible with the JMX specifications.
Net -- integrates the Implementation of Network Tools and Protocol tools
Pool -- commons-Pool provides a common object pool interface, a toolkit for creating a modular Object pool, and Common Object pool implementation.
Primitives-support for the original Java type.
Scxml -- Process scxml
Transaction: transaction processing, Implementing Multi-Level Lock, transaction collection, and transaction file access.
Validator -- provides a simple and scalable framework to define the validator (verification method) and validation rules in an XML file. Supports rule validation and internationalization of error messages.
VFS-access various file systems, including local files, files on the HTTP server, and files in the ZIP file.
Commons sandbox components:

Compress -- Process compressed files such as tar, zip, and Bzip2.
CSV -- Process CSV files
Exec -- securely process external processes
Finder -- Implement functions similar to the Unix find command
I18n -- i18n function of Processing Software
Id -- id generation function
Javaflow -- capture the running status
JCI -- Java compilation Interface
Openpgp -- encryption method openpgp.
Pipeline -- pipeline tool for processing similar work queues
Proxy -- generate dynamic proxy

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.