Logo Blogo

OSS...equi alla signora: JPound

Pubblicato: lunedì 16 ottobre 2006 da Fullo

Anche se con un pochino di ritardo ecco a voi l’intervista di oggi per OSS…equi alla signora. Questa settimana si tratta di un software per gestire e configurare agevolmente centralini VoIP tramite Asterisk, software SIP di cui abbiamo ampiamente discusso qui su OSSBlog.

D: Presentati e presenta il tuo progetto ai nostri lettori. Ciao. Mi chiamo Detro (Ivan De Marino). Sono uno studente della Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica presso la “Federico II” di Napoli. Sono classificabile, almeno per ora, come “programmatore freelance”, anche se ho quasi sempre lavorato con contratti Co.Co.Co. (la maledizione dei giovani italiani). Mi sto per laureare e JPound è proprio il risultato di tutto questo.

JPound è un progetto che cerca di realizzare un “Control and Configuration System” per il PBX Asterisk. In Java. E’ una POJO (Plain Old Java Object) nata… per non rimanere tale.

D: come funziona JPound?
JPound è prima di tutto un framework che si basa sull’uso di altri progetti Open Source per realizzare il suo obiettivo: in particolare Asterisk-Java (ringrazio Stefan Reuter anche in questa sede per il suo ottimo lavoro), Log4J e Commons Configuration. Questo Framework è composto di diverse classi nate con lo scopo di gestire gli aspetti sia del controllo, sia della configurazione. Allo stato attuale, è fornito anche di una Main Class (CoreServer) che realizza un Server vero e proprio.

Per comprendere il funzionamento/ruolo di JPound bisognerebbe conoscere sia Fast-AGI (Fast Asterisk Gateway Interface), sia Manager-API, sia ARA (Asterisk Realtime Architecture): JPound nasce con l’obiettivo di usare queste tecnologie.

In pratica però, essendo un lavoro di tesi, non ho potuto mettere in pratica il 100% di quello che avevo pensato (ci mancherebbe, stavo ancora a lavorarci).

Allo stato attuale:
- l’80% della parte di configururazione è completa (100% per le interfacce, 60% per le implementazioni vere e proprie, basate su ARA)
- il 100% della parte Fast-AGI (dotata di un sistema a plugin davvero buono)
- 0% della parte Manager-API (qui ho avuto poco tempo anche per progettare… è rimasto qualcosa nei vecchi UML… andrebbe progettato quindi tutto)

Ah, è totalmente XML based: ho cercato di sfruttare a pieno il progetto Commons Configuration.
Ed è anche facile da debuggare, grazie all’uso dello straordinario Log4J.

D: differenze con le altre soluzioni asterisk enabled?
Esistono diverse soluzioni per il controllo di Asterisk. Quelle commerciali non le prendo in considerazione. Tra quelle open-source, quasi nessuna ha puntato sull’ARA e su Fast-AGI. Qualcuna su Manager-API. In particolare, un progetto che ben rappresenta le idee che mi hanno portato a JPound è VoiceOne tra l’altro, è un progetto italiano: scritto in PHP, con una architettura Server-Client, basata sulla comunicazione tramite webservices. JPound era nato pensando alla possibile integrazione all’interno di un Web Services. Il tempo è stato tiranno, quindi ho potuto solo far si che fosse “pluggable” al massimo.

Ed è qui che viene fuori la differenza fondamentale: JPound è integrabile in quasi ogni tipo di architettura di servizi. Può essere inserito in una Servlet, fornito di interfaccia Web, può essere inserito in un Client Stand-Alone, può essere inglobato in un Web Services. E’ una Pojo… nata per non rimanere tale. Tutto questo, perché è Java. Basta poi pensare che se venisse inserito in un Web Services, in pratica non esisterebbe più nemmeno il limite del linguaggio.

Gli scenari in cui può risultare utile JPound sono quelli di media o grande impresa, dove si ha la necessità di una gestione completa della Telefonia (con un proprio PBX) e dove si ha tutta l’intenzione di alimentare e sfruttare l’Open Source. JPound, così com’è, avrebbe bisogno di persone interessate a spingerne lo sviluppo. Un pò quello che è successo tra Mark Spencer di Asterisk e Digium: Digium guadagna dalla vendita delle Schede, e Asterisk continua a migliorare.

D: una curiosità, come mai hai preferito usare google code invece di sourceforge? come pensi che potrai organizzare eventuali community di utenti?
Semplicissimo: volevo provare Google Code. E’ appena uscito e quindi volevo tastare con mano quanto aveva da offrire. E’ evidente la distanza abissale da SourceForge, ma ho fiducia nella capacità di apprendimento di BigG.
Per la community, credo che ci sia prima bisogno che io mi laurei e che nasca davvero interesse per JPound.

Voglio però lanciare un appello:
A tutti gli Admin interessati a realizzare extension di Asterisk con Fast-AGI: JPound, allo stato attuale, offre già tutto quello (si spera :P) di cui potete aver bisogno. Dategli una chance: se vi piace programmare in Java, apprezzate Log4J e non avete paura di usare file di configurazione basati su XML, ci sono già 2 begli esempi (plugin) di cosa si può fare.

D: sviluppi futuri?
Se già riuscissi a mettere in pratica l’80% di tutto quello che vorrei far fare a JPound, sarebbe un risultato enorme. E, credo, la community si creerebbe grazie a questo.

D: In bocca al lupo per la discussione di tesi!

1 stelle2 stelle3 stelle4 stelle5 stelle (nessun voto)
condividi condividi
2 commenti

Commenti dei lettori

(Inserisci un commento - Nascondi commenti anonimi)
  • Detro

    16 ott 2006 - 18:33 - #1
    0 punti
    Up Down

    La discussione è domani: spero che sia di buon augurio. Datemi l’IBAL!

  • nemo

    16 ott 2006 - 20:23 - #2
    0 punti
    Up Down

    IBAL ;)

L'email è richiesta ma non verrà mostrata ai visitatori.
Commenta questo articolo

Registrati per riservare il tuo nickname preferito su tutti i blog di Blogo e per caricare il tuo avatar. Se sei già registrato, effettua il login per usare il tuo nickname.

Si No
I commenti sono sottoposti alle linee guida per la moderazione.

Anteprima del commento