Il progetto Apache Commons ha come obiettivo quello di sviluppare e manutenere componenti software riutilizzabili per Java. Tali componenti sono sviluppati in modo da essere indipendenti da altri framework o prodotti software e servono come soluzione a problemi ricorrenti nell'ambito della programmazione. FMJ9RUP6WVQ5
Il progetto Apache Commons ha come obiettivo quello di sviluppare e manutenere componenti software riutilizzabili per Java. Tali componenti sono sviluppati in modo da essere indipendenti da altri framework o prodotti software e servono come soluzione a problemi ricorrenti nell’ambito della programmazione.
Il progetto è diviso in tre parti:
- Sandbox repository: vi sono i progetti ancora in versione provvisoria che devono ancora essere testati per essere promossi a Community;
- Dormant repository: vi sono i progetti che hanno avuto degli sviluppi limitati in tempi recenti e probabilmente verrano dismessi in futuro;
- Community repository: vi sono i progetti che fanno realmente parte del progetto Apache Commons.
Possiamo raggruppare i vari componenti del Progetto Commons in varie categorie:
Categoria Componenti | Componenti |
---|---|
Web | FileUpload, Proxy, Email e Net |
XML | Betwixt, Digester, Jelly, e JXPath |
Utilities | BeanUtils, Logging e Validator |
Packages | Codec and Modeler |
Extensions | CLI, Discovery, Lang, IO and Collections |
DB | DBCP e Pool |
Others | Attributes, Exec, Compress |
Diamo ora uno sguardo ai componenti ed elenchiamo una breve descrizione:
Componenti | Descrizione |
---|---|
Attributes | Consente di utilizzare lo stile degli attributi utilizzato in .Net/C# in Java |
BeanUtils | Un Wrapper per lle API di Introspection e Reflection |
Betwixt | Servizion per il mapping di JavaBeansin documenti XML e viceversa |
Chain | Implementazione del Pattern Chain of Responsibility |
CLI | Parser di argomenti passati attraverso linea di comando |
Codec | Algoritmi di encoding/decoding (ad esempio base64, URL). |
Collections | Estende il Java Collections Framework. |
Compress | Definisce delle API per lavorare con tar, zip e bzip2 files. |
Configuration | Permette di leggere file di configurazione/prefereze in vari formati. |
Daemon | Permette di definire Daemon (Unix) e Servizi (Windows) tramite codice Java |
DBCP | Servizion di Database connection pooling. |
DbUtils | Libreria di aiuto per JDBC. |
Digester | Utility per il mapping XML-to-Java-object. |
Discovery | Strumento per localizzare risorse utilizzando il mapping service/reference names su resource names. |
EL | Interprete per l’ Expression Languagedefinito dalle JSP 2.0. |
Libreria per inviare e-mail da Java. | |
Exec | API per interagire con processi esterni in Java. |
FileUpload | Aggiunge la funzione di File upload a servlets e web applications. |
IO | Collezione di I/O utilities. |
JCI | Java Compiler Interface |
Jelly | Motore di scripting XML. |
Jexl | Expression language che estende l’Expression Language di JSTL. |
JXPath | Utilities per manipolare Java Beans usando la sintassi XPath. |
Lang | Fornisce funzionalità extra alle classi del package java.lang. |
Launcher | Cross platform Java application launcher. |
Logging | Wrapper costruito intorno ad una varietà di logging API. |
Math | Componente di funzionalità matematiche e statistiche. |
Modeler | Mechanismo per creare Model MBeans compatibili con le JMX specification. |
Net | Insieme di utility per la rete ed implementazione di protocolli di rete. |
Pool | Componente per l’bject pooling. |
Primitives | Utility per lavorare più facilmente e veloce con i tipi primitivi di Java. |
Proxy | Libraria per creare Proxy. |
Sanselan | Libreria per immagini. |
SCXML | Implementazione della specifica State Chart XML con lo scopo di creare e manutenere un motore Java SCXML. |
Transaction | Implementazione di lock multilivello, transactional collections e transactional file. |
Validator | Framework per definire validators e regole di validation in un xml file. |
VFS | Componente di Virtual File Systemper trattare files, FTP, SMB, ZIP come un singolo logical file system. |
Negli articoli successivi esamineremo alcuni di questi componenti.
FMJ9RUP6WVQ5
COMMENTS