BEEing va in pensione e rinasce con un nuovo progetto

BEEing è giunto al termine del proprio ciclo di vita.

In questi anni di duro lavoro e dopo oltre 65.000 righe di codice abbiamo maturato l’idea per una nuova versione del framework.

BEEing era nato per progetti di Enterprise 2.0, con logiche molto flessibili ma piuttosto influenzate dall’idea di base del progetto.

Da quell’esperienza e da un processo di reingegnerizzazione del codice durato diversi mesi è nato SmartForge, un Application Server che sfrutta al meglio l’architettura del suo predecessore, ma che anche la estende con nuove funzionalità legate alla gestione dei plug-in, con una parte di framework scritto in puro HTML5 e CSS3 e con il supporto nativo per MongoDB.

I primi plug-in ad essere rilasciati sono SmartCommerce (o Smart Forge Cart) e Smart Forge Chat (ancora in fase Alpha).

Smart Forge Cart è un progetto di e-commerce molto flessibile ed orientato all’integrazione con sistemi ERP esterni (es: SAP/R3) così come all’estensione ed alla personalizzazione di ogni singola funzionalità.

A breve sul nuovo sito troverete molte altre informazioni, tutorial, specifiche tecniche ed esempi di programmazione.

 

 

BEEing X

Clicca sull'immagine per ingrandire

Cos’è BEEing?

Dopo questo lungo periodo di refactoring credo sia doveroso rifare il punto zero.
La mappa concettuale che trovate qui sopra dovrebbe chiarire le idee a quanti si sentono ancora confusi.

BEEing X non è un’applicazione finita, ma una piattaforma costruita in Java su diverse librerie OpenSource con cui è possibile realizzare ogni tipo di implementazione.

Quali sono le funzionalità principali?

Queste sono le librerie che caratterizzano l’architettura di BEEing (che sono state armonizzate ed integrate ad arte).
Ne risulta un Application Server molto leggero e performante, facilmente estensibile ed accessibile mediante servizi esposti secondo le specifiche RESTful.
Lo scripting server side per produrre l’output HTML viene delegato a Velocity (che è facilmente espensibile secondo la logica a plug-in), mentre tutte le azioni client side sono implementate in JavaScript.
BEEing consente di partire nello sviluppo di soluzioni enterprise scalabili basate su Java con il minimo sforzo.

Dove trovo BEEing X?

BEEing X lo ritrovate su SourceForge: http://sourceforge.net/projects/beeingx/
Potete scaricare i sorgenti con un qualunque client SVN da questo indirizzo: https://beeingx.svn.sourceforge.net/svnroot/beeingx
Se invece volete solo curiosare qua e la nei sorgenti:

BEEing X scavalca BEEing 6

Lo sviluppo di BEEing 6 è terminato. Tuttavia l’esperienza maturata in questa nuova release mi ha fornito nuovi spunti per un’architettura ancora piu’ scalabile e flessibile.

Per questo motivo ho deciso di far pressione nel convincere il Team BEEing a non rilasciare ufficialmente la nuova release che era prevista per la fine del 2010.

Sarebbe stato come rilasciare un qualcosa di incompleto e destinato ad essere sostituito a breve.

Ecco allora affacciarsi il nuovo “BEEing X“. La differenza sostanziale sta nel fatto che il nuovo Application Server (completamente riscritto) sostituirà Glassfish in ogni sua parte ed offrirà agli sviluppatori una nuova architettura modulare a plug-in ed un framework di base estremamente flessibile e semplice da implementare.

Altrà novità è l’introduzione di Adobe Flex (abbiamo lasciato JavaFX che ancora non è pronto) come tecnologia per lo sviluppo dei moduli di interfaccia utente. Ecco perchè nel nuovo repository, oltre ai sorgenti Java, troverete i sorgenti ActionScript del framework BEEing Flex.

La nuova architettura del framework consente l’utilizzo di BEEing X per lo sviluppo di qualunque tipo di applicazione WEB con interfaccia utente avanzata (non solo E2.0). A breve pubblicheremo anche una sezione dedicata ai case history ed alle applicazioni commerciali implementate su base BEEing X.

Grazie a tutti.
Gian Angelo Geminiani
BEEing Team Leader

BEEing 6: road map e nuove funzionalità

1.0 Desktop App (The Drone) - Come strutturare l'interfaccia del drone

Nuova architettura

Come anticipato nel post precedente, BEEing 6 è stato dotato di una nuova architettura che lo rende ancora piu’ scalabile e performante.
Il modulo di accesso al database ed i servizi sono stati spostati in un nuovo application server, il Command Server.
Sono stati implementati nuovi servizi RESTful e JSON-RPC per consentire l’interazione del Command Server con  diverse soluzioni client, quali applicazioni PHP, AJAX/JSON, Flash, Native Java, .Net, Ruby, ecc.

Il nuovissimo modulo Command Server supporta inoltre la gestione di Add-On (o server side plug-in) per la personalizzazione e l’estensione delle funzionalità base. In questo modo l’aggiunta di ulteriori servizi RESTful o JSON-RPC risulta estremamente semplificata, così come il debug, il deploy e la manutenzione.

Ma le novità a livello tecnologico non si fermano qui. Negli ultimi mesi abbiamo progettato l’architettura per nuovi client (Mobile, TV e Desktop) che consentono un’esperienza utente di livello superiore. Il modulo Desktop, che sarà il primo ad essere rilasciato, porta tutte le funzionalità del web direttamente sul PC dell’utente. Login semplificato, drag & drop di files, maggiori performance, immediatezza dell’interfaccia sono solo alcuni dei vantaggi portati dalla nuova interfaccia.

La Web GUI attuale è stata spostata nel modulo Web GUI Application Server, che nella release finale girerà su Tomcat e richiederà molti meno parametri di configurazione per un deploy piu’ rapido e snello. Inoltre è possibile configurare un “cluster” di Web GUI Application Server per supportare carichi di lavoro molto consistenti.

Nuova filosofia e nuove funzionalità: le Panoramiche

Oltre ad aver riprogettato l’architettura e riscritto buona parte del codice sorgente, abbiamo ridisegnato anche alcuni aspetti funzionali.
L’introduzione di nuovi concetti e funzionalità, come ad esempio le “Panoramiche“, ha portato alla definizione di un nuovo paradigma.

Le Panoramiche saranno inizialmente tre ed offrono all’utente diverse prospettive su altrettante tipologie di risorse, ovvero Documenti, Persone e Tempo.
La Panoramica Documenti (o Panoramica Risorse) offre all’utente una serie di widgets mirati alla ricerca, alla valorizzazione, alla conservazione e alla categorizzazione dei documenti.
Le risorse gestite dalla Panoramica Documenti sono i link esterni, le immagini ed i video, i documenti del wiki, gli allegati (word, excel, power point, ecc..), le pagine dei siti web.
I widgets (elementi dell’interfaccia grafica) comprendono un componente per le ricerche, diversi tag cloud (tags personali, tags condivisi), un componente che raccoglie i segnalibro, ed altri per mostrare i documenti votati, quelli maggiormente graditi e quelli gestiti dai gruppi di appartenenza.

La Panoramica Persone (o Community) e la Panoramica Attività (gestione del tempo) hanno le medesime finalità della Panoramica Documenti (cioè la ricerca, la valorizzazione, la conservazione e la categorizzazione), ma applicate ognuna al proprio dominio (cioè Persone e Tempo).  Allo stesso modo anche le intefacce grafiche mantengono lo stesso aspetto.

Per chiarire meglio i nuovi concetti vi riporto come esempio la mappa concettuale della Panoramica Documenti.

1.1 Panoranica Risorse - Quali sono le caratteristiche della Panoramica Risorse

Tempi per il rilascio della nuova versione

L’analisi e lo sviluppo della nuova versione hanno richiesto piu’ tempo del previsto (colpa anche di alcuni problemi riscontrati sulla piattaforma JavaFX).
Le incertezze percepite a causa di una scarsa comunicazione e chiarezza da parte di Oracle sul futuro di JavaFX (ed alcuni bug importanti che affliggono il framework e l’IDE) ci hanno fatto optare per tecnologie alternative che tuttavia hanno richiesto alcuni mesi di studio e valutazione.

Per questo motivo il rilascio della versione definitiva di BEEing 6 è stato previsto per la fine del 2010.

A.A.A.A Designer di Interfacce Cercasi.

Se avete voglia e tempo per supportare BEEing con consigli e bozzetti, siete i benvenuti.

Macchina VMWare preconfigurata.

Introduzione

Questo breve manuale definisce la procedura per scaricare ed installare una macchina virtuale preconfigurata per l’utilizzo di BEEing.

Download e scompattamento BEEing

Per prima cosa è necessario effettuare il download dei file necessari all’installazione della macchina virtuale.
All’indirizzo http://sourceforge.net/projects/beeing/files/
si deve effettuare il download dei seguenti files:


Una volta completato il download sarà necessario scompattare il contenuto dei file compressi per procedere all’installazione della macchina virtuale.

nota(estrazione file compresso):
Cliccare sul file “ubuntu10_gv3.part1″ ed estrarne il contenuto. In automatico il programma per la scompattazione (nel nostro caso winrar) procederà a ricostruire il file originale dove è salvata la virtual machine (file suddiviso in 3 parti differenti per motivi di dimensioni). Una volta ottenuto un unico file “UBUNTU10_GV3″ si dovrà procedere all’estrazione vera e propria del disco che contiene la Macchiona virtuale “
UBUNTU10GV3.vmdk“.

Installazione Virtual Machine con VMWARE

In questo caso è descritta la procedura per l’installazione della versione light di VMWARE, cioè VMWARE PLAYER.
Come prima cosa procederemo con la creazione di una nuova macchina virtuale vergine:

In questo modo il sistema andrà a creare tutti i file necessari per la gestione di una nuova macchina virtuale.
Procedendo con i vari step per la creazione della virtual machine è consigliabile associare al sistema un disco da 20GB e almeno 1GB di RAM.

A questo punto è necessario sostituire il disco vuoto della macchina virtuale appena creata con il disco precedemente scaricato, il disco di BEEing!

Avvio Macchina Virtuale

A questo punto non resta che avviare la Virtual Machine ed utilizzare le seguenti credenziali per avere accesso alla macchina:


Ubuntu user: administrator
Ubuntu pasw: adminadmin

NOTA
: Affinche la macchina appena creata sia visibile dall’esterno è necessario impostare correttamente l’indirizzo ip affinchè sia accessibile dal vostro dominio.

Riepilogo credenziali di accesso ai vari servizi installati

MySQL user: beeing
MySQL psw: beeing

Glassfish user: admin
Glassfish psw: adminadmin

BEEing user: administrator
BEEing psw: administrator

Per installare l’applicazione BEEing è necessario:
- Effettuare
Download del BEEing.war e fare il deploy in Glassfish (http://mydomain:4848);
- Il Database si popola con i dati di default.

Soluzione problema visibilità Virtual Machine in rete:

Deploy di BEEing.

Scaricate il file BEEing.war ( l’ultima versione disponibile).

Collegatevi alla console di glassfish mediante URL: http://192.168.70.201:4848/
(dove “192.168.70.201″ è l’indirizzo IP della vostra macchina virtuale. Eventualmente sostituitelo con uno piu’ adatto alla vostra configurazione di rete).
Immettete il nome utente con diritti amministrativi (administrator) e la password (adminadmin), si aprirà la console di amministrazione di Glassfish.

Procedete con il deploy.
E’ fondamentale che “Application Name” e “Context Root” siano BEEing.

glassfish_deploy

Se avete dubbi su come effettuare il deploy di un’applicazione su Glassfish, fate riferimento al post precedente “Come installare BEEing“.

Una nuova versione di BEEing è in cantiere

beeing-enterprise-architecture

Abbiamo avviato lo sviluppo di una nuova major release di BEEing. La nuova versione comprende un’architettura completamente riprogettata per offrire maggior scalabilità e bilanciamento dei carichi di lavoro.

Il modulo CORE viene diviso in due differenti Application Server:

  • Server Applicativo (APP SERVER)
  • Server di interfaccia utente (GUI SERVER)

APP SERVER e GUI SERVER comunicano tra loro utilizzando il protocollo JSON mediante chiamate REST. Sarà quindi possibile sostenere carichi di lavoro notevoli con moltissimi client connessi ed attivare politiche di load-balancing senza dover effettuare investimenti troppo onerosi.

Inoltre le nuove API REST renderanno ancora piu’ semplice l’integrazione con applicazioni mobile, desktop o TV.
La nuova versione (sarà la 6.0) includerà anche alcune applicazioni di esempio sia per il desktop che per iPhone ed Android.

Ogni feedback è sempre gradito. :)

Nuova documentazione per BEEing

beeing_presentation

Eccoci finalmente pronti con un minimo di documentazione.
Abbiamo fatto questo sforzo :) in vista dell’International Forum on Enterprise 2.0.

I documenti sono due, una presentazione ed un opuscolo. Potete scaricarli da slideshare, oppure visionarli da questo post.

BEEing (Opuscolo)

BEEing (Presentazione)

International Forum on Enterprise 2.0: Ci siamo anche noi!

ife2_2010

Quest’anno non saremo solo attenti uditori, ma avremo anche un piccolo ruolo attivo.
BEEing è stato premiato assieme a Incentive al “Contest Start-Up” organizzato da Open-Knowledge in occasione del Forum.

Un ringraziamento particolare da parte di tutti noi a Open-Knowledge, che con questa iniziativa offre una buona occasione per conoscere e farsi conoscere a piccole start-up che diversamente avrebbero delle difficoltà. Un ringraziamento di cuore anche a Stefano Besana ed Emanuele Quintarelli per la pazienza e la fiducia dimostrataci.

In occasione del Forum stiamo preparando un po’ di documentazione. Come al solito all’ultimo momento ;) .
Vi lascio il link per un’anteprima.

AUTORE: Gian Angelo Geminiani

Archiviazione 2.0 con BEEing

archiviazione 2.0

BEEing può essere agevolmente utilizzato per la condivisione dei documenti, in alternativa o in aggiunta alla piu’ classica archiviazione e conservazione documentale.
Le caratteristiche della piattaforma e le funzionalità sociali implementate nativamente rendono l’archiviazione destrutturata un gioco da ragazzi.

Gli utenti non devono conoscere anticipatamente la tassonomia documentale per poterli archiviare. La struttura delle cartelle, i tag e le keywords dei vari documenti possono essere definite successivamente e con “pratiche sociali” abbinate alle attività dei singoli individui.

Tagging condiviso

Il tagging condiviso dei documenti, per esempio, aiuta gli operatori di diversi dipartimenti a condividere un linguaggio aziendale comune, ma anche ad organizzare la gerarchia documentale secondo un punto di vista personale ben piu’ utile e mnemonico di quanto non possa essere una struttura definita a priori e secondo punti di vista generalistici.

In questo modo, per esempio, lo staff commerciale potrà taggare i contratti con i clienti secondo le proprie keywords e condividere questa modalità di classificazione con il resto dell’azienda. Gli utenti amministrativi a loro volta avranno modo di etichettare gli stessi contratti con altre parole chiave, pur condividendo la catalogazione degli utenti commerciali. Entrambi i dipartimenti potranno ricercare i documenti in oggetto sfruttando le due diverse modalità di etichettatura e catalogazione e, aiutati dal tag cloud, avranno modo di condividere punti di vista differenti sugli stessi documenti.

Diventa “FAN” di un documento

I documenti hanno diverse opzioni e caratteristiche che facilitano la condivisione e la collaborazione sul documento stesso, nonchè la rintracciabilità.
Le caratteristiche di un documento sono:

  • Gestione multilingua (ogni documento può essere redatto in diverse lingue. ogni lingua ha la sua gestione delle versioni)
  • Tre livelli di accesso con relative regole (Visualizzazione, Modifica, Condivisione)
  • Allegati (Ad ogni documento possiamo allegare qualunque file)
  • Deduplica degli allegati (Gli stessi file possono essere allegati a diversi documenti senza che il sistema ne duplichi il contenuto)
  • Gestione della versione degli allegati
  • Blocco degli allegati per le modifiche
  • Gestione della versione del documento
  • Tre livelli di tagging (Tag di sistema, Tag personali, Tag Sociali)
  • Sistema privato di annotazione del documento (Note personali che restano riservate)
  • Documenti correlati e sottodocumenti
  • Aggiunta del documento ai Preferiti
  • Widget di condivisione
  • Collaboratori (L’autore del documento può definire dei collaboratori)
  • Iscritti al documento (gli utenti possono iscriversi al documento e ricevere le notifiche sulle variazioni)
  • Commenti (Ogni documento presenta una timeline di commenti)

Diventa “FAN” di un documento

I documenti hanno diverse opzioni e caratteristiche, tra cui anche la possibilità da parte degli utenti di essere “iscritti” (proprio come se il documento fosse un gruppo).
L’iscrizione al documento è un’opzione molto importante perchè consente la ricezione di una notifica ogni volta che il documento subisce una variazione o un viene inserito un nuovo commento.

Inoltre l’iscrizione ad un documento consente di rintracciarlo mediante il widget apposito che mostra agli utenti i documenti a cui ci si è iscritti, quelli di cui si è autore e quelli a cui si stà collaborando.

Dall’archiviazione documentale alla condivisione documentale

Screenshot

Potete trovare alcuni screenshot nella sezione apposita.

BEEing v. 5.0.0.2

v5002

Eccoci finalmente fuori con la nuova versione 5.0.0.2.
Le novità sono tantissime, tra cui:

  • Nuovo framework Ajax per l’interfaccia grafica ZK 5.x
  • Il modulo eCMS supporta la sottoscrizione ai documenti ed i collaboratori
  • Nuovi template grafici
  • Nuovi widgets per il tag cloud, i tag personali, i tag sociali e di sistema
  • Localizzazione in Polacco, Russo, Francese, Tedesco, Spagnolo, oltre alle già supportate Italiano ed Inglese.
  • Sistema di audit e notifica attività

Abbiamo creato una nuova sezione “Screenshots” che arricchiremo con immagini e video dimostrativi.

Potete scaricare la nuova versione da SourceForge.