Newsgroup: it.comp.java
Titolo: quale workflow utilizzate?

Ciao a tutti,
sto studiando Java EE e mi chiedevo quale fossero i workflow che 
utilizzate per i vostri lavori.
Ne ho trovati parecchi 
(
http://java-source.net/open-source/workflow-engines
) ma prima di 
approfondire desideravo avere qualche riscontro realistico con voi :)
Grazie
-- 
Morde

 approfondire desideravo avere qualche riscontro realistico con voi :)
In questa pagina ci sono progetti attivi ed altri dormienti.
OSWorkFlow per esempio fornisce una sorta di framework di base per
costruire motori di workflow in tencologia Java.
JBPM viceversa è un ambiente che permette di utilizzare la tecnologia
Java per implementare definizioni di processi che prevedano o meno
l'intervento umano nelle varie attività componenti, permettendoti di
definire l'interfaccia utente in termini di form di immissione dati
(stiamo parlando quindi di web application), e permettendo di inserire
codice Java custom nelle attività automatiche (quelle svolte per
intenderci da processi server), fino ad ottenere appunto
l'implementazione di processi aziendali..
Negli altri prodotti, là dove trovi la sigla BPEL (che sta per
Business Process Execution Language), in genere si tratta di prodotti
che permettono l'orchestrazione (come si dice in gergo) di Web
Services, sviluppati in linguaggio Java, ma anche in altri linguaggi.
I Web Services difatti sono uno standard, supportato sia in Java che,
ad esempio, su piattaforma Dot.NET.
Ciao
Daniele

 ad esempio, su piattaforma Dot.NET.
Grazie tanto, grazie per le spiegazioni: ho apprezzato parecchio il tuo 
aiuto :-)
Ciao
-- 
Morde

 > intendessi "framework" ;-)
Scusa per l'ironia, è raro sentir chiedere di workflow... :-)
Prova a dare un'occhiata a jBPM, della grande famiglia JBoss:
http://www.jboss.org/jbossjbpm/jbpm_downloads/
A questa url 
http://docs.jboss.com/jbpm/v3/demos/movies/jbpm-overview.htm
c'è anche un bel demo che mostra qualche caratteristica.
Ciao
Daniele

Aggiungo Bonita:
http://www.bonitasoft.com/
Sia Bonita che jBPM nascono nel mondo open-source, anche se poi hanno
in aggiunta anche "incarnazioni" commerciali.
Ciao
Daniele

 in aggiunta anche "incarnazioni" commerciali.
Grazie per i riferimenti: gli darï¿œ un'occhio appena possibile, intanto 
avevo cercato un video di presentazione per bonita e ho trovato questo:
http://www.youtube.com/watch?v=7nhmbngbcmA
non male direi.
Nel mio lavoro utilizzo il paradigma MDA: nel progetto di cui ti ho 
parlato la mia architettura era basata su dei COM che erano i miei 
application objects, che venivano serializzati in xml. L'xml veniva 
sparato al ws, il quale lo validava e lo passava al motorino di WF.
Il motorino in base agli eventi associati all'application object andava 
ad aggiornarne lo stato e poteva compiere delle azioni. Per azioni 
intendo il cambiamento di altri stati di altri oggetti oppure anhce 
l'esecuzione di pezzi di business logic, che per me poteva 
rappresentare delle azioni prefissate quale l'invio di notifiche, sms, 
oppure attivare dei pezzi managed code che eseguivano qualsiasi 
business logic il cliente volesse. (ero in ambiente 
asp.net
, IIS)
Il bello ï¿œ che era tutto gestito e definito da configurazione: cioï¿œ, il 
WF non sapeva nulla di quello che c'era dall'altra parte e chi o che 
cosa gli stava mandano xml. Lui sapeva che in base ai tag xml 
riconosceva un oggetto di business che aveva nella sua configurazione, 
e quindi agiva in base alla sua mappatura.
Cosï¿œ facendo io potevo scalare e distribuire il sistema e permettere a 
terze parti di realizzarmi dei pezzi di business logic da associare a 
determinati eventi degli application object del cliente.
Io immagino di poter rifare lo stesso con JEE: devo solo incominciare 
poco alla volta a muovere i primi passi nell'implementazione delle 
soluzioni e nella scrittura del codice. (provengo da delphi ed il 
linguaggio e un pï¿œ diverso).
Tu cosa mi suggerisci come IDE/strumenti di sviluppo?
Come avrai capito sto migrando tutta la mia esperienza in questo campo 
e per me l'importante ï¿œ avere dei riferimenti reali, di persone che giï¿œ 
lavorano on the field e quotidianamente sono chiamati a progettare o 
evolvere architetture espandendole, scalandole o modularizzandole.
Ciao :)
-- 
Morde

 Tu cosa mi suggerisci come IDE/strumenti di sviluppo?
Gli IDE principali utilizzati nel mondo Java sono tre:
1. NetBeans (
http://netbeans.org/
), IDE ufficiale secondo SUN. Il
tutorial JEE fa riferimento a NetBeans (e ad Ant 
http://ant.apache.org
),
a onor del vero, strumento estremamente potente di building e gestione
di progetti Java, su cui in effetti anche Netbeans si appoggia;
2. Eclipse (
http://www.eclipse.org
), IDE storico, nato in IBM e poi
donato al mondo open-source
3. IntelliJIdea (
http://www.jetbrains.com/idea/
).
NetBeans e Eclipse sono entrambi open-source, IntelliJIdea lo diverrà
con la prossima release 9.
Dei tre, Eclipse è l'IDE più generico, nel senso che ha
un'architettura a plugin che permette di personalizzarlo per divenire
qualunque cosa. Tanto per farti un esempio: lo puoi utilizzare per
sviluppare anche in Cobol (
http://www.eclipse.org/cobol/
).
In Apache invece hanno realizzato una console di gestione per il
proprio server LDAP, chiamata Apache Directory Studio (http://
directory.apache.org/
).
JBoss ha proposto una propria personalizzazione di Eclipse,
ribattezzandola JBoss IDE, pienamente integrata con tutte le proprie
tecnologie. E l'url che ti ho indicato come demo per jBPM ti mostra
l'ennesima incarnazione Eclipse per l'ambiente di Workflow.
Dal video che mi hai indicato, mi è sembrato di riconoscere gli stessi
widget nell'ambiente Bonita.
Visto che ci siamo ti segnalo una soluzione open-source tutta italiana
per la gestione in ambiti SOA, Spagic (
http://www.spagic.org/ecm/faces/
public/guest/home/solutions/spagic) che ha anche un suo IDE di
definizione di processi, Spagic Studio (qui uno screenshot con
descrizione: 
http://www.spagic.org/ecm/faces/public/guest/home/solutions/spagic/architecture
),
basato, indovino un po'? Su Eclipse.
Si tratta di open-source vero, con licenza GPL, e non come spesso
accade di un progetto in cui la parte resa open ha solo funzionalità
di base, mentre per un utilizzo enterprise devi necessariamente
comprare le parti aggiuntive rigorosamente "closed" ;-)
Per quanto riguarda la mia esperienza di ambienti di sviluppo, lavoro
con Eclipse, e utilizzo NetBeans per il mio studio personale. Li trovo
entrambi ottimi strumenti, che offrono tantissimo. IntelliJIDEA invece
non lo conosco.
Ti consiglio di provarli entrambi e poi scegliere quello che ti può
dare di più.
Visto che stai iniziando a conoscere la piattaforma JEE, se scarichi
il JEE a questa pagina 
http://java.sun.com/javaee/downloads/index.jsp
,
trovi il pacchetto completo, con il server Glassfish di SUN,
l'ambiente NetBEans con tutti i plugin necessari per lo sviluppo JEE,
documentazione varia, OpenESB per i servici e Access Manager per
funzioni di access management, tutto gentilmente offerto da mamma SUN
e liberamente utilizzabile in qualunque contesto.
Ciao
Daniele

 [SNIP]
Nei giorni scorsi mi ero giï¿œ scaricato virtualbox e preparato una 
macchina virtuale con il JEE. Come da te suggerito ho integrato 
scaricando i tutorial di sun cosï¿œ me li posso guardare con calma.
A questo punto credo di aver preso la giusta direzione verso il 
learning di JEE, e te ne sono grato :)
Approfitto ulteriormente della tua competenza e disponibilitï¿œ per 
chiederti se conosci societï¿œ in zona milano-como specializzate in corsi 
di formazione e preparazioni alle cerificazioni (Come ho visto su 
http://www.sun.com/training/certification/java/index.xml
)
Come avrai giï¿œ capito non mi serve il classico corso sulla 
programmazione oop e fondamenti di java, (per quelli posso pensarci da 
me ad organizzarmi) quello che cerco e' un qualcosa che mi permetta di 
darmi una forte e decisa spinta verso il mondo java enterprise. una 
cosa tipo i classici 5 giorni di ferie da prendersi per autofinanziarsi 
la formazione presso una societï¿œ specializzata.
Mi servirebbe un tutor che mi guidi cosï¿œ come stai facendo te, dandomi 
la giusta direzione per finalizzare il mio lavoro al migrare i miei 
skill verso il mondo JEE.
Hai qualche suggerimento a riguardo?
grazie :)
-- 
Morde

 skill verso il mondo JEE.
Come scoprirai, il mondo JEE è un universo in continua espansione,
così come immagino sia per Dot NET. In questo universo ad un certo
punto hanno fatto la comparsa due nuove entità, che hanno stravolto
l'esistente, con l'obiettivo dichiarato di semplificare la vita agli
sviluppatori: Hibernate (
http://www.hibernate.org
) e Spring (http://
www.springsource.org
). Il primo ha reso la vita più semplice sulla
persistenza dei dati, tanto che SUN si è data una mossa, e molte delle
cose introdotte da Hibernate sono diventate, con nomi diversi, parte
di JPA, lo standard SUN per la persistenza dei dati; il secondo ha
reso più semplice... tutto il resto.
Attorno scoprirai che sono nati altri progetti e framework che hanno
come fondamento il paradigma DRY (Don't Repeat Yourself): mi viene in
mente Groovy e l'ambiente Grails (
http://grails.org
, quest'ultimo
acquisito proprio da Spring Source), che ti permette di sviluppare in
10 minuti netti un'applicazione web con CRUD (Create Read Update
Delete) incorporato. Ci sono diversi linguaggi che sono nati sulla
piattaforma Java e che mirano a rendere più veloce lo sviluppo:
Groovy, appunto, e poi JRuby, Jython e Scala, linguaggio con notevole
che permette di sviluppare  (anche) secondo il paradigma funzionale.
Entrare nel mondo JEE a prescindere da questi due attori non è
saggio :-) E oggi Spring Source offre anche percorsi di formazione, a
Milano e Roma.
Diciamo che il JEE Tutorial ti mostra le potenzialità della
piattaforma, tutto quello che può esprimere e fare, e questi framework
concorrono a migliorare queste potenzialità.
Purtroppo percorsi formativi alternativi a quelli standard proposti da
SUN, Spring Source & C, non ne conosco, e la via che seguo
abitualmente è quella che stai percorrendo tu: scarico, installo,
studio, provo.
Verrebbe voglia di studiare tutto...
E poi ci sono i gruppi di discussione. Ti consiglio di iscriverti
anche ad un JUG (Java User Group), e di partecipare ai meeting
periodici che ogni JUG organizza (cercane uno vicino alla tua città,
ad esempio 
http://www.jugmilano.it/vqwiki/jsp/Wiki?StartingPoints
:
questo di Milano non prevede una quota di iscrizione. Altri JUG, con
una quota minima di iscrizione, ti permettono di accedere alle
certificazioni SUN a prezzi più bassi di quelli ufficiali): sono
momenti molto utili per condividere esperienze e capire che direzione
stanno prendendo le tecnologie.
In bocca al lupo e buon viaggio :-)
Ciao
Daniele

Dimenticavo: la rivista online 
http://www.mokabyte.it
 è un ottimo
riferimento mensile. Dal loro sito puoi inoltre scaricare
gratuitamente dei libri sulle tencologie Java, previa registrazione
gratuita, all'indirizzo 
http://www2.mokabyte.it/cms/section.run?name=edizioni-mokabyte
.
In particolare il vol.2 del manuale pratico di Java copre le
tecnologie JEE.
Volendo invece un volume gratuito sull'attuale piattaforma Java, a
questo indirizzo 
http://www.claudiodesio.com/
 trovi un libro gratuito
in italiano sul linguaggio.
Per quanto riguarda i componenti del pacchetto JEE, trovi anche tutta
la documentazione di amministrazione in comodi documenti PDF. In
particolare:
Application Server Glassfish: 
http://dlc.sun.com/zip/1343.6.zip
Access Manager: 
http://dlc.sun.com/zip/1292.2.zip
Ma basta che inizi a spulciare sul sito della SUN, troverai tante
cose.
Ciao
Daniele

 Milano e Roma.
Uhm, si parlava di Hibernate e Spring. Ma credo che ne l'uno ne l'altro 
siano un passaggio obbligato.
Se con Hibernate intendiamo gli ORM in generale, possiamo dire che 
alcune persone preferiscono altri prodotti con una filosofia di pi� 
basso profile e minore complessit�. Ad esempio iBatis.
Per quanto riguarda Spring, oggi c'e' la possibilit� di saltarlo 
completamente scegliendo una serie di framework ottimamente integrati 
tra loro, forniti da JBoss. Parlo di Seam che riesce ad amalgamare 
perfettamente altre tecnologie come EJB, JSF, Hibernate, Webservice, 
JBPM (tanto per rimamere in tema con l'OP) e molte altre ancora.

 (tanto per  rimamere in tema con l'OP) e molte altre ancora.
Grazie per il contributo e per l'essere stato in tema con la mia 
richiesta.
Man mano che procedo con le mie esplorazioni mi rendo conto che qui ï¿œ 
"tutto grasso che cola.." modo di dire che significa che non solo c'ï¿œ 
tanto, ma c'ï¿œ anche troppo ;-)
Giusto per fare un esempio: ho scaricato e installato JEE, e mi trovo 
glassfish. Perï¿œ voi citate Jboss e relativi framework.
Quindi, penso che il mio problema principale non sarï¿œ nell'imparare a 
migrare i miei concetti di architettura da windows, .net, delphi in 
JEE.. quanto quello di orientarmi e di riuscire a trovare gli strumenti 
giusti e adattarli al mio modo di lavorare.
E questo, ovviamente, reclamerï¿œ il suo tempo: tuttavia per essere 
"vendibile" sul mercato, intendo comunque seguire i vostri consigli, 
ricorrendo a strumenti utilizzati da voi e quindi presumo maggiormente 
diffusi.
E' un bel viaggio, affascinante e ricco di sorprese: ho scoperto che le 
communities sono molto vaste e influenti in questo ambito. Aria di open 
source.. :-)
Grazie per i consigli, e se ti viene in mente qualcosa d'altro, magari 
strumenti che hai utilizzato per i tuoi progetti, scrivimi due righe 
qui sotto che mi precipito a bomba :-)
ciao
-- 
Morde

 cose.
Grazie per tutto il preziosissimo feed! :-D
Ciao
-- 
Morde

Lots of various studens know some techniques of term paper creating, but
that does not mean they can compose really good term papers, however a <a
href="
http://quality-papers.com
">essay writing</a> service could assist to
write the argument essay of A+ quality and show writing ability of
students. 
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it