Pianificazione di comandi e task in Linux

In questo post vedremo come poter pianificare tramite schedulazione dei comandi in ambiente Linux. Ciò è utile quando ad esempio si vuole pianificare delle operazioni di backup in certi orari della giornata (tipicamente durante gli orari notturni) o in precisi giorni della settimana o del mese, oppure quando si vuole semplicemente programmare l’esecuzione di un lavoro.

Ultimamente mi è capitato di dover prevedere dei riavvi di un Server Web (almeno una volta a settimana) poichè le applicazioni Java che vi girano, all’interno di un Application Server quale IBM WebSphere, consumavano nell’arco temporale di una settimana appunto tutte le risorse disponibili (in particolare la memoria Heap) lanciando delle eccezioni del tipo OutOfMemoryError.

Leggi tutto »

1 Stella2 Stelle3 Stelle4 Stelle5 Stelle (2 voti, media: 5,00 di 5)
Loading...

Creare un file eseguibile .exe per le applicazioni Java con Launch4j

In questo articolo vedremo come poter creare un file .exe (un eseguibile in ambiente Windows) che permetta il lancio di una applicazione Java semplicemente facendo un doppio click su di esso, come avviene per qualsiasi applicazione Windows nativa. Possiamo raggiungere questo scopo utilizzando un applicazione cross-platform (è disponibile oltre che per Windows anche per Linux, MacOs e Solaris) che si chiama Launch4j.

Launch4j è un progetto Open Source ospitato sul sito SourceForge http://sourceforge.net/projects/launch4j/.

Leggi tutto »

1 Stella2 Stelle3 Stelle4 Stelle5 Stelle (3 voti, media: 3,67 di 5)
Loading...

Leggere un file XML in Java con la libreria JDOM

In questo post vedremo come poter leggere e scrivere un file XML in Java utilizzando la libreria JDOM. JDOM è una API Open Source, sviluppata da Brett McLaughlin e Jason Hunter, la quale interagisce con gli standard già esistenti quali SAX (Simple Api for XML) e DOM (Document Object Model), il cui obiettivo non è quello di creare uno strato di astrazione aggiuntivo o di potenziamento delle funzionalità di queste API, ma bensì quello di fornire un modello e degli strumenti che siano più familiari ad un programmatore Java, rendendo meno complessa e meno esigente di risorse la manipolazione di file XML.

La versione che prendiamo in esame in questo articolo è la 1.1.1 (la più recente nel momento in cui scriviamo) nella quale è stato aggiunto il supporto alla Virtual Machine Dalvik (la VM di Android).

Leggi tutto »

1 Stella2 Stelle3 Stelle4 Stelle5 Stelle (1 voti, media: 5,00 di 5)
Loading...

Installazione e configurazione del database IBM DB2

In questo articolo vedremo come installare e come configurare il Relational Database Management System (RDBMS) IBM DB2. Nato nel lontano (tecnologicamente parlando) 1983, scritto in linguaggio C e C++,  è considerato il primo DBMS ad aver introdotto l’uso del linguaggio SQL e la prima release girava solo su Mainframe IBM MVS. Durante gli anni 90 fu esteso il supporto anche alle piattaforme Windows e Linux. Nel 2001 con l’acquisizione di Informix da parte IBM, vengono introdotte le specifiche Object Oriented (ORDBMS) anche all’interno di DB2.

Le versioni in cui è distribuito DB2 attualmente sono:

  • DB2 Enterprise Server Edition: include librerie capaci di gestire i carichi di lavoro più esigenti;
  • DB2 Workgroup Server Edition: ideale per le piccole e medie aziende;
  • DB2 Express: è il livello base di RDBMS ed è l’ideale per il piccolo mercato;
  • DB2 Express-C: è la versione gratuita dell’IBM, l’ideale per piccole aziende, compagnie multi-branch, sviluppatori.

Leggi tutto »

1 Stella2 Stelle3 Stelle4 Stelle5 Stelle (2 voti, media: 5,00 di 5)
Loading...

Creare e modificare bytecode Java a runtime con la libreria Javassist

In questo post analizzeremo la libreria Javassist (Java programming assistant) sviluppata da Shigeru Chiba professore presso il Tokyo Institute of Technology, ora un sotto progetto della Community JBoss. Questa libreria permette di manipolare il bytecode di una applicazione Java , in modo da poter cambiare l’implementazione di una classe a runtime (durante cioè il tempo di esecuzione dell’applicazione).

Questa manipolazione del codice è ottenuta durante la fase di caricamento della classe oggetto di modifica (load time) grazie ad un Class Loader fornito con la libreria.

Javassist può essere utile nei seguenti casi:

  • per compilare a runtime delle porzioni di codice sorgente, ad esempio fornito come input di un programma;
  • per l’Aspect Oriented Programming (AOP), introducendo dei nuovi metodi in una classe e per inserire advice di tipo before/after/around;
  • per la runtime reflection, introducendo un meta-oggetto che controlli le chiamate ai metodi.

Leggi tutto »

1 Stella2 Stelle3 Stelle4 Stelle5 Stelle (1 voti, media: 5,00 di 5)
Loading...

Apache MyFaces: un’implementazione Open Source delle specifiche JSF

In questo articolo analizzeremo il progetto Apache MyFaces che ha come scopo di creare e manutenere una implementazione Open Source (secondo la licenza Apache versione 2) delle specifiche JavaServer Faces, inoltre include una serie di sotto progetti che forniscono componenti aggiuntivi, servizi di integrazione per altre tecnologie (ad esempio Portali), etc… .

La lista completa dei sotto progetti include:

  • Core: un’implementazione delle specifiche e dei componenti JSF 1.1, JSF 1.2, JSF 2.0 e JSF 2.1 come specificato dalle JSR 127JSR 252 and JSR 314 rispettivamente;
  • Portlet Bridge: un’implementazione delle specifiche JSF Portlet Bridge come specificato dalla JSR 301;
  • Tomahawk: un set di componenti JSF components creati dal team di sviluppo MyFaces prima che passasse sotto l’egida Apache;
  • Trinidad: un set di componenti JSF donati a MyFaces da Oracle, prima conosciuti come ADF Faces;
  • Tobago: un set di componenti JSF sviluppati per MyFaces da Atanion GmbH;
  • Orchestra: un framework utilizzato per gestire la persistenza delle sessioni attraverso scope diversi;
  • Extensions Validator: un framework per la validazione JSF centrica, basato sulle annotazioni;
  • Others: sotto progetti più piccoli quali ad esempio MyFaces CommonsMyFaces Shared.

Leggi tutto »

1 Stella2 Stelle3 Stelle4 Stelle5 Stelle (Nessun voto ancora)
Loading...

Integrazione di Apache Tomcat su Apache HTTP Server

In questo post vedremo come poter integrare l’Application Server Apache Tomcat su di un server HTTP Apache, in questo modo potremo aggiungere la capacità di eseguire Servlet o pagine jsp ad un Server Web Apache già installato e funzionante.

Il motivo che ci può condurre a questa scelta sono essenzialmente due:

  • per maggior flessibilità, possiamo far girare Apache HTTP Server su di una macchina e Apache Tomcat su di un’altra, aggiungendo anche maggior sicurezza ad esempio posizionando il server su cui gira Tomcat dietro ad un firewall accessibile solo da Apche HTTP Server;
  • per maggior stabilità, Apache HTTP è notoriamente più stabile e veloce di Tomcat ed inoltre un eventuale crash di Tomcat renderebbe solo le jsp e le Servelt non raggiungibili.

Leggi tutto »

1 Stella2 Stelle3 Stelle4 Stelle5 Stelle (Nessun voto ancora)
Loading...

Apache PDFBox: una libreria Java per lavorare con i documenti PDF

In questo articolo vedremo come utilizzare la libreria Java Apache PDFBox per manipolare documenti in formato PDF. PDFBox è una libreria Java rilasciata con licenza Open Source (Apache License v2.0), la quale permette di creare un nuovo documento PDF, manipolare documenti esistenti ed estrarre il contenuto da questi documenti.

E’ possibile inoltre scaricarne una versione stand-alone (cioè che funziona senza dover sviluppare codice che la utilizzi), che permette di effettuare una serie di operazioni agendo direttamente da linea di comando.

Leggi tutto »

1 Stella2 Stelle3 Stelle4 Stelle5 Stelle (Nessun voto ancora)
Loading...

JQuery: una libreria JavaScript semplice e sintetica

In questo post analizzeremo la libreria JavaScript JQuery che si distingue nel panorama delle librerie del suddetto linguaggio per la sua sintassi sintetica (non a caso il suo motto è “Write less, do more”, “Scrivi meno, fai di più”) e semplice (vedremo che è molto facile manipolare degli oggetti in JQuery).

Il progetto JQuery nasce nel 22 agosto 2005 quando John Resig rilascia una prima versione primordiale, ma in effetti raggiunge la versione 1 (stabile) soltanto il 26 agosto dell’anno successivo. A partire dalla versione 1.3, il codice core (fondamentalmente la parte di CSS selector) viene reso indipendente (prenderà il nome di Sizzle) in modo da poter essere sviluppato ed esteso anche da Community esterne.

JQuey è una libreria di funzioni (framework) Javascript, cross‐browser per le applicazioni web, che si propone come obiettivo quello di semplificare la programmazione lato client delle pagine HTML. Tramite l’uso della libreria jQuery è possibile, con poche righe di codice, effettuare svariate operazioni, come ad esempio ottenere l’altezza di un elemento, o farlo scomparire con effetto dissolvenza.

Leggi tutto »

1 Stella2 Stelle3 Stelle4 Stelle5 Stelle (5 voti, media: 4,60 di 5)
Loading...

Come dimensionare l’Heap Size di un’applicazione Java

In quest’articolo vedremo come configurare e dimensionare la memoria Heap di un’applicazione Java in esecuzione su una Java Virtual Machine.

La Java Virtual Machine o JVM, è la macchina virtuale che esegue i programmi scritti in bytecode, secondo questo piccolo schema:

Codice Java : compilazione : bytecode : VM -> esecuzione reale del programma

Il bytecode è generalmente prodotto dalla compilazione di sorgenti scritti in linguaggio Java, anche se è possibile produrre bytecode partendo da altri linguaggi; infatti, già esistono delle implementazioni, parziali o complete, di compilatori che funzionino in tal senso.

Per comprendere la funzionalità della memoria Heap, bisogna prima capire come sia gestita la memoria dalla JVM, di cui l’Heap ne è parte. Leggi tutto »

1 Stella2 Stelle3 Stelle4 Stelle5 Stelle (5 voti, media: 4,00 di 5)
Loading...