Light-industry-up.ru

Экосистема промышленности

Apache jakarta commons, jakarta commons cookbook by timothy o brein pdf, timothy m o\u0027brien jakarta commons cookbook

05-02-2024

Apache Commons — проект фонда Apache Software Foundation, имеющий своей целью разработку и поддержку открытого программного обеспечения повторного использования на языке Java, т.е. библиотек Java. Apache Commons ранее являлся частью проекта Jakarta Project и носил название «Jakarta Commons»[1]. Apache Commons содержит набор библиотек утилит Java самого разного назначения, доступных по лицензии Apache License, и использующихся во многих других проектах с открытым исходным кодом. Утилиты проекта Apache Commons лежат в основе таких проектов как Apache Tomcat, Struts, Hibernate и др.[2][3]

Содержание

Цели проекта

Согласно уставу проекта, проект должен «создавать и поддерживать пакеты, написанные на языке Java, предназначенные для использования в разработке серверных приложений, и спроектированные таким образом, чтобы их можно было использовать независимо в любом более крупном продукте или фреймворке. Каждый пакет будет поддерживаться таким же образом, как и сам продукт Jakarta» (англ. "The subproject shall create and maintain packages written in the Java language, intended for use in server-related development, and designed to be used independently of any larger product or framework. Each package will be managed in the same manner as a larger Jakarta product.")[4].

История

История Apache Commons восходит к 1999 году, когда, в июне, была зарегистрирована ранее известная под названием «Apache Group» некоммерческая организация Apache Software Foundation (далее ASF)[5]. Основным проектом, поддерживаемым фондом, был Apache HTTPD Web Server, созданный между 1995 и 1999 гг. Одним из проектов Apache Software Foundation стал Jakarta Project (проект Jakarta), который являлся результатом сотрудничества компаний Sun Microsystems, IBM, Oracle и сообщества разработчиков веб-сервера (Apache HTTP Server). Несколько позже в рамках проекта Jakarta был создан проект Jakarta Commons, в котором начали активно создавать компоненты на Java. 19 марта 2001 Комитет проект-менеджмента Jakarta утвердил устав проекта[4], в котором оговаривались основные правила и условия работы в проекте[6]. Согласно уставу, первые пакеты были основаны на существующей кодовой базе ASF, включая код работающий с источниками данных и пулами баз данных, с конфигурирациями XML, ресурсами сообщений, интернационализацией, JNDI и именованием, тестовыми наборами. Первым пакетом, вошедшим в состав Commons, был пакет Database Connection Pool. В период 2001-2005 был разработан основной набор библиотек, ставший базисом для Apache Commons. К 2003 секция proper уже содержала 21 компонент[7]. 19 мая 2004 была утверждена новая версия устава, с поправками в старый вариант[4]. К 2005 в Commons было уже 29 компонентов[8]. 20 июня 2007 Apache Board (Совет Apache) по результату анонимного голосования выделил проект Commons из состава проекта Jakarta, после чего Commons стал проектом верхнего уровня (т.е. отдельным независимым проектом) и стал называться Apache Commons[9].

Структура

В иерархии проектов Apache Software Foundation Apache Commons является «проектом верхнего уровня». Библиотеки проекта Commons делятся на 3 секции: proper (корректные), sandbox (песочница) и dormant (спящие). Секция proper — основная секция библотек, которая на момент 2012 года включала 44 проекта. Модули секции proper поддерживаются в рабочем состоянии, и обновляются, сохраняя свои интерфейсы насколько возможно неизменными, чтобы не создавать проблемы существующим пользователям. Секция sanbox предназначена для создания новых проектов и подготовки их к включению в секцию proper или в другие проекты apache. На момент 2012 года секция sandbox включала 16 проектов. Доступ для внесения изменений в проекты этой секции открыт для всех зарегистрированных участников Apache. В секцию Dormant переводят старые проекты, в которых была замечена слишком низкая активность по внесениям изменений, и которые Apache не планирует в будущем обновлять. На момент 2012 года туда было включено 15 проектов.

Компоненты

Пояснения к таблице:

  • proper — компоненты секции proper (корректные), т.е. активные и обновляемые
  • sandbox — компоненты секции sandbox (песочница), т.е. находящиеся в стадии разработки и тестирования
  • dormant — компоненты секции dormant (спящие), т.е. устаревшие и необновляемые
  • Первый релиз — дата первого официального релиза или первого стабильного релиза, как правило версии 1.0, библиотеки как отдельного компонента (альфа-релизы, dev-релизы, релиз-кандидаты, pre-релизы, snapshot-релизы и релизы в составе других компонентов не учитываются)
  • таблица отражает положение на момент октября 2012
Название Сайт Статус Первый релиз Полное название и назначение
Attributes [1] proper 2004-08-15, v2.1[10] Поддержка атрибутов в стиле C#/.Net
BCEL [2] proper 2001-12-12, v5.0[11] Byte Code Engineering Library. Манипуляция java-классами
BeanUtils [3] proper 2001-07-14, v1.0[12] Удобные для использования обертки над пакетами java.lang.reflect и java.beans (API для отражения и самодиагностики)
Betwixt [4] proper нет Связывание JavaBeans с XML-документами
BSF [5] proper 2006-10-06, v2.4.0[13] Bean Scripting Framework. Интерфейс для скриптовых языков
Chain [6] proper 2004-12-09, v1.0[14] Реализация паттерна Цепочка обязанностей
CLI [7] proper 2002-11-06, v1.0[15] Command Line Interface. Парсер аргументов командной строки
Codec [8] proper 2003-05-11, v1.1[16] Кодирование и декодирование алгоритмов, таких как Base64, Hex, Phonetic; и URL.
Collections [9] proper 2002-04-05, v2.0[17] Расширение и дополнение Java Collections Framework.
Compress [10] proper 2010-08-24, v1.1[18] API для работы с файлами ar, cpio, Unix dump, tar, zip, gzip, XZ, Pack200 и bzip2.
Configuration [11] proper 2004-10-11, v1.0[19] Чтение файлов конфигурации и настроек различных форматов
CSV [12] proper планируется v1.0[20] Чтение и запись файлов табличных данных формата CSV (от англ. Comma-Separated Values — значения, разделенные запятыми).
Daemon [13] proper 2004-01-13, v1.0[21] API для создания сервисов на платформе WIN32 и демонов на платформе UNIX
DBCP [14] proper 2002-08-12, v1.0[22] Database connection pooling services. Создание пула соединений к базе данных, в котором каждое соединение может последовательно обслуживать множество клиентов.
DbUtils [15] proper 2003-11-11, v1.0[23] Обёртка над пакетом Java JDBC для упрощения кода.
Digester [16] proper 2002-01-12, v1.2[24] Обработка файлов конфигурации формата xml, построение дерева объектов на основе структуры xml. Надстройка над парсером xml SAX.
Discovery [17] proper нет Обнаружение реализаций для подключаемых интерфейсов (т.е. нахождение классов по заданному Java-интерфейсу).
EL [18] proper 2003-06-20, v1.0[25] Интерпретатор JSP 2.0 Expression Language (Язык Выражений).
Email [19] proper 2005-09-27, v1.0[26] API для отправки электронной почты.
Exec [20] proper 2009-03-26, v1.0[27] Исполнение внешних процессов из приложения Java и работа с переменными окружения.
FileUpload [21] proper 2003-06-24, v1.0[28][29] Пересылка файлов на сервер через веб-приложение, парсинг HTTP-заголовков, соответствующих RFC 1867.
Functor [22] proper нет[30] Объект-функция, для использования в паттернах Посетитель, Стратегия, Цепочка обязанностей и др.
Imaging (Sanselan) [23] proper нет Библиотека для работы с изображениями
IO [24] proper 2004-05-13, v1.0[31][32] Утилиты ввода/вывода
JCI [25] proper 2007-06-18, v1.0[33][34] Java Compiler Interface. Интерфейс компилятора Java. Используется для компилирования Java из Java-приложений.
JCS [26] proper 2007-06-05, v1.3[35][36][37] Java Caching System. Кэширование данных различной природы для ускорения приложений.
Jelly [27] proper 2005-06-16, v1.0[38] Скриптовый механизм, основанный на XML. Превращение XML в исполняемый код.
Jexl [28] proper 2004-09-07, v1.0[39] Java Expression Language. Язык выражений, расширяющий язык JSTL. Синтаксис похож на ECMAScript и shell-script.
JXPath [29] proper 2002-06-25, v1.0[40] Интерпретатор языка выражений XPath. Манипулирование классами JavaBeans.
Lang [30] proper 2002-10-04, v1.0[41][42][43] Дополнительная функциональность, расширяющая java.lang
Launcher [31] proper 2004-08-22 v1.1[44][45] Кроссплатформенный стартер приложений
Logging [32] proper 2002-08-13, v1.0.1[46][47] Обёртка над множеством реализаций логирования. Тонкий мост между приложением и библиотекой логирования.

Примечания

  1. Apache Commons ToStringBuilder  (англ.). JavaWorld (11/01/2008). Проверено 19 сентября 2012.
  2. Iverson, p. XIII
  3. Iverson, p. 1
  4. ↑ Jakarta Commons Charter v1.1
  5. The Apache Group Incorporates as the Apache Software Foundation  (англ.) (June 30, 1999). Проверено 19 сентября 2012.
  6. Jakarta Commons Charter v1.0
  7. Using the Jakarta Commons, Part 1  (англ.). onjava.com by O’Reilly (06/25/2003). Проверено 19 сентября 2012.
  8. Iverson, pp. 2,3
  9. Apache Commons Charter: Scope of Apache Commons
  10. 2004 Jul-Dec
  11. 2001
  12. Commons BeanUtils - Older Releases
  13. 2006 Oct-Dec
  14. 2004 Jul-Dec
  15. 2002
  16. 2003
  17. 2002
  18. [ANNOUNCE] Commons Compress 1.1 released  (англ.). Список рассылки Apache Announce List (24 Aug 2010). Проверено 20 августа 2012.
  19. Commons Configuration - Changes Report
  20. Revision 1383555. Commons CSV. Contents of changes.xml (2012-09-11)
  21. Revision 140730. Commons Daemon. Contents of RELEASE-NOTES.txt (2004-01-13)
  22. 2003
  23. 2003
  24. Revision 132326. Commons Digester. Contents of RELEASE-NOTES.txt (2002-01-12)
  25. 2003
  26. 2005 Jul-Sep
  27. [ANN] commons-exec 1.0 released  (англ.). Список рассылки Apache Commons User (26 Mar 2009). Проверено 29 августа 2012.
  28. 2003
  29. [ANNOUNCEMENT] Commons FileUpload 1.0 Released  (англ.). Список рассылки Apache Commons User (26 Jun 2003). Проверено 30 августа 2012.
  30. Apache Commons Functor - Overview
  31. 2004 Jan-Jun
  32. [ANNOUNCEMENT][IO] Jakarta-Commons/IO 1.0 released  (англ.). Список рассылки Apache Commons User (14 May 2004). Проверено 4 октября 2012.
  33. Apache Commons JCI - Downloads
  34. [ANNOUNCEMENT] release of common jci 1.0  (англ.). Список рассылки Apache Commons User (20 Jun 2007). Проверено 4 октября 2012.
  35. Apache Commons JCS - Change Log
  36. 2007 Apr-Jun
  37. [ANNOUNCE] JCS 1.3 released  (англ.). Список рассылки Apache Announce List (11 Jun 2007). Проверено 20 августа 2012.
  38. 2005 Apr-Jun
  39. 2004 Jul-Dec
  40. [ANNOUNCEMENT] JXPath 1.0 Released  (англ.). Список рассылки The Jakarta Announcement List (25 Jun 2002). Проверено 6 октября 2012.
  41. Apache Commons Lang — Release History
  42. 2002
  43. [ANN] Commons Lang 1.0 Released!  (англ.). Список рассылки The Jakarta Announcement List (04 Oct 20022). Проверено 6 октября 2012.
  44. 2004 Jul-Dec
  45. [ANNOUNCEMENT] Commons Launcher 1.1 released  (англ.). Список рассылки The Jakarta Announcement List (22 Aug 2004). Проверено 6 октября 2012.
  46. 2002
  47. [ANNOUNCEMENT] Commons Logging 1.0.1 Released  (англ.). Список рассылки The Jakarta Announcement List (13 Aug 2002). Проверено 6 октября 2012.

Литература

  • Iverson, Will Apache Jakarta Commons: Reusable Java™ Components. — Crawfordsville, Indiana, USA: Prentice Hall Ptr, 2005. — 360 p. — ISBN 0-13-147830-3

Ссылки

  • commons.apache.org — официальный сайт проекта
  • Goyal, Vikram. Using the Jakarta Commons. 2003. Part 1, Part 2, Part 3. — серия статей об использовании Jakarta Commons (ныне Apache Commons)
  • Narayanan A.R. Extend the JDK Classes with Jakarta Commons. 2005. Part 1, Part 2, Part 3 - серия статей об использовании Jakarta Commons (ныне Apache Commons)

Apache jakarta commons, jakarta commons cookbook by timothy o brein pdf, timothy m o\u0027brien jakarta commons cookbook.

Версальский мир, Шаблон:Фильмы Ярополка Лапшина, Дети кукурузы 2: Последняя жертва, Файл:White army departure.jpg, Обсуждение шаблона:Навигация для категорий.

© 2014–2023 light-industry-up.ru, Россия, Краснодар, ул. Листопадная 53, +7 (861) 501-67-06