1[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi
Panoramica sulle soluzioni FOSSdi livello aziendale
Testimonianza di:Antonio Majori
2[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi
� Modello di classificazione
� Modello di riferimento
� Metrica di valutazione
� Individuazione delle soluzioni OSS
� Approfondimenti su alcune soluzioni
• Rich client (Tibco – OpenLaszlo)• Portali (eXo Platform)• ESB (ServiceMIX – Cimero)• ETL/EAI (Talend OpenStudio)• SOA & sistemi documentali• Soluzioni Engineering & Integration Landscape
Indice
3[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi
Support Solutions
PresentationFramework
RichClient
ThickClient
Portal
SOA BPM / Choreographer
AnaliticsReport/OLAP/Chart/DataMining
ETL/EAI Doc.SearchEngine
Workflow ….
Core Common Component
Logging 3°Party Utilities
TransactionManager
MQCache
ManagerSpecific
ContainerApplication
ServerMail
Connectivity RepositoryConnector
…
Security
Netw
orking
Presentation tier
Integration gateway
Service tier
Glue Code
Data tier
App. Infrastructure
Framework
Build & Deployersystem
IDE Tracking MonitorSourceControl
Testing
Stack architetturale
4[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi
Servizi verticali su Open Architecture
ERPCRM Group-
wareBI
…..
Open architecture is a type of computer architecture or software architecture that allows adding, upgrading and swapping components. Open architecture allows potential users to see inside all or parts of the architecture without any proprietary constraints. Typically, an open architecture publishes all or parts of its architecture that the developer or integrator wants to share. The open business processes involved with an open architecture may require some license agreements between entities sharing the architecture information
Definizione da WikiPedia
5[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi Modello di riferimento: EAP
CRM
Enterprise Portal
portlet portlet portlet
Partner Integration Hub
Service Manager Business Process ManagerRouting
ERP BI
RoolsMeta rep.
IAM
Publicationservices
Integrationservices
Applicationservices Docum. Groupw.
Legacysystem
CustomDBMSsystem
Trans.
Enterprise Application Platform: relazionare applicativi e componenti infrastrutturali tramite:
� Bus logico (di front end e di back end)� Business Process Management (BPM)� Identity Access Management (IAM)� Catalogo centrale che contiene le regole aziendali di processo (Rools&Meta repository).
Bus integrazione servizi front end
Bus integrazione servizi di back end
6[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi Metrica di valutazione
�Riferimenti: URL, Comunità di riferimento, Eventuale Vendor�Licenza (tipo ed eventuale presenza di soluzione commerciale)�Data inizio progetto�Ultima data aggiornamento�Versione attuale�Frequenza rilasci�Livello di interesse (esempio partendo dall’utilizzo dei forum)�Livello di maturità�Livello di diffusione�Livello documentazione�Livello di usabilità (tool, skill, formazione, ..)�Gestione retro compatibilità�Standard riferimento�Relazione con altri progetti OSS�Relazione con altri progetti commerciali�Conoscenza aziendale�Eventuali progetti�Relazioni con la comunità�Valutazione
Possibili voci di valutazione
DocumentoCensimentoSw OSS
7[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi Presentation
�JSF
�Struts
�JBoss SEAM
�Velocity
�Scripting (Groovy)
Framework / Templating
�AJAX•TIBCO GI•Google web toolkit•Dhtmlgoodies.com•Dojo
�Flash/DHTML�OpenLaszlo
�Web start (Swing/SWT)�Eclipse RCP
Rich Client
8[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi
Tibco General Interface
�Ambiente di RAD per:• sviluppo (layout, proprietà)• supporto modello SOA• gestione eventi• deployment
�Libreria di componenti utili alla realizzazione di applicativi web Rich Client�Licenza BSD�Ampia documentazione
Javascript, SOAPStandard riferimento
forte pressione di marketingLivello di diffusione
versione commerciale anteriore sufficientemente stabileLivello di maturità
In valutazione per supporto nuovi requisiti clienti. In test l’integrazione su SpagoBI.
Conoscenza Engineering
9[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi Rich Client: OpenLaszlo
OpenLaszlo compila in modo trasparente quanto scritto in XML e Javascript su tecnologia Flash e DHTML (in Beta). Attraverso API proprietarie si ottengono animazioni, layout, data binding, server communication, … in modo alternativo a quanto possibile con soluzioni proprietarie come Macromedia.
XML, runtime Flash, DHTML (Beta),Javascript, SOAPStandard riferimento
Diversi progetti di nicchia. Rapporti di collaborazione con SUNLivello di diffusione
versione sufficientemente stabile. Livello di maturità
Utilizzato per i dashboard di SpagoBIConoscenza Engineering
10[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi Presentation layer:
Portali + CMS/ECM
� eXo Portal
� JetSpeed
� JBoss Portal
� Liferay
Portali JSR 168
�eXo ECM/JCR
�Graffito
�JBoss CMS Portlet
�Alfresco
�Magnolia
CMS/ECM (JSR 170)
JSR 168
JSR 168
11[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi eXo Platform
JSR 168, JSR 170.Standard riferimento
Prima soluzione JSR 168 open source. Maggiore diffusione su progetti francesi con partner importanti (Telecom France, Thales, BULL).
Livello di diffusione
versione sufficientemente stabile. Fa parte del consorzio ObjectWEBLivello di maturità
Utilizzato per diversi progetti di Enterprise Portal e come portale di sviluppo per SpagoBI
Conoscenza Engineering
L’obiettivo di eXo Platform è il completamento di una piattaforma di portale, contenete un completo ambiente di ECM, in grado di colloquiare con servizi esterni tramite portlet e workflow (JBPM/Bonita), JCR e Business Intelligence (Portlet JSR 168 di SpagoBI).
12[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi Integration Gateway
“An Enterprise Service Bus providing a Service-Oriented Architecture approach to building composite applications” open esb
ESB combina: Messaging, Data transformation, Routing, Web Services
� Apache ServiceMIX
� Iona Celtix
� SUN OpenESB
� Mule
� Petals
� Jboss ESB
ESB
� ActiveBPEL
� Apache ODE
� Intalio BPM/PXE
� Bull Orchestra
� JBPM / BPEL
BPM / Choreographer
13[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi ESB: ServiceMIX
� Open Source JBI Container JSR 208� Transaction Management tramite Jencks e Java Transaction API (JTA)� Java Message Service (JMS) tramite ActiveMQ� Un J2EE compliant Server, tramite Servicemix, adotta un JBI Conteiner
� Binding Components (BC): protocolli/trasportatori (e.g. JMS binding, SOAP binding) e Proxy � Service Engines (SE): servizi infrastrutturali (e.g. BPEL runtime) e business logic� Shared Libraries (SL): Common logic dei diversi SE e BC� Service Assembly (SA): realizza una applicazione SOA, combinando BC, SE e SL
JBI: Assemblies & Components
14[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi Esempio utilizzo JBI
JBI based ESB
Customer
Web
Browser
Web C
onta
iner
Banking
System
Web F
ronte
nd
Mail Client
Norm
aliz
ed M
essage R
oute
r (N
MR
)
JBI Component Manager
Messages Buffer
Service Engines
BPEL SE
Binding Components
Supplier
Retrieval
System BC
Bank System
BC
Mailing System
BC
EJB Container
Order
Processing
System
R
SET
EDI
Message
Exchange (ME)
ME
ME
ME
RMI
Rhttps
ME
Mailing System
Supplier
Retrieval
SystemR
CSV,
EDI
XML
R
SMTP
R
Session Database
DB
JBI Artifacts
R
15[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi Java Business Integration (JBI)
Principi di base
• Disaccoppiamento dei servizi e degli assembly dai dettagli di invocazione tramite l’utilizzo di un Message Router
• Costruzione di applicazioni complesse tramite “assemblaggio” di componenti di servizio e componenti di interfacciamento
16[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi
Service ComponentArchitecture: SCA (1)
Service Component Architecture (SCA) è un insieme di specifiche che descrive un modello per lo sviluppo di applicazioni e sistemi aderenti al paradigma delle Service-Oriented Architecture.
E’ sponsorizzato principalmente da: BEA Systems, IBM, Oracle.
E’ uno standard alternativo a JBI di cui riprende buona parte (se non tutti) i concetti di base.
Le specifiche attuali di SCA sono alla versione 0.95: non è stataancora rilasciata una versione finale.
17[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi
Service ComponentArchitecture: SCA (2)
Principi di base
• Disaccoppiamento dei servizi e degli assembly dai dettagli di invocazione
• Supporto a implementazioni di servizi scritte in linguaggi diprogrammazione come Java™, PHP, C++, COBOL, e linguaggiXML-based come BPEL e XSLT
18[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi Service tier
�JasperReport
�BIRT
�Mondrian
�Palo
�JFreeChart
�Oximel
�Weka data minig
Analytics
�Talend Open
Studio
�Kettle
�KloverETL
ETL
�Jackrabbit
� eXo JCR
� JLibrary
� Magnolia
� Alfresco
Repository Doc
� Bonita
� JBPM
� Shark
� Intalio
Workflow
� Lucene
� Carrot2
Search Engine
�xWiki
�JForum
�JBoss Collab.
Collaboration
19[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi
Data Integration: Talend OpenStudio
� Open Source ETL code generator (Perl, 2007 Java)� Sviluppato su Eclipse� Ambiente di mapping� Ambiente di debug�Disponibilità di numerosi conettori Perl. Attualmenteverso DBMS, Excel, CSV, file posizionali, XML.� Versione 1.1 (beta): schedulatore processi, LDAP, mail
Potenzialmente può generare in qualsiasi linguaggio. Supporta linguaggio Perl e Java.
Standard riferimento
forte pressione di marketingLivello di diffusione
Tre anni per lo sviluppo – Rilasciato 2006.Livello di maturità
Integrato su progetto Spagic”In test l’integrazione su SpagoBI.
Conoscenza Engineering
20[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi
Documentale: evoluzione verso la SOA
Protocollo
Anagrafe
WF esterni
Enti esterni
…..
ServiziBusiness
Workflowcollaborativo
ServiziInfrastrutturali
Processiorchestrazione
Motori ricerca
TG
CC
IS
DB
MS
Altri W
F
…..
Protocollo standard webDAV
Tool utilitàindividuale
Sistema Documentale
Aderente standard
Approccio Dorsale integrazione:
Servizi comuni su cui realizzare applicativi
OS
S JackR
abit
Hum
mingbird
FileN
et
……
Sistema Documentale+ WF interno
Protocollo
Anagrafe
…..
WF esterni
Enti esterni
Servizi infrast. Approccio Documentale
centrico:Servizi applicativi
che utilizzano repository e WF documentale.
Sono responsabili del colloquio
esterno e processi di business
Ulteriore obiettivo: supportare le attività che fino ad oggi sono spesso svolte tramite Lotus Notes
21[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi
Glue Code
� Spring
� Jboss SEAM
� Spago
Framework
�Log4J
Logging
� Jboss rools engine (drools)
� Groovy
� Apache CBE
� Hibernate
3.Party Utilities
22[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi Application Infrastructure
�Tomcat
�Jboss
�Jonas
�Geronimo
Application Server
�ActiveMQ
�Joram
MQ
�JUDDI
�freebXML
�scout
Service Repository
23[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi
Servizi Supporto
�Eclipse
�NetBeans
IDE
�JUnit
�OpenSTA
�JMeter
Testing
�Eclipse TPTP
Monitor / Profile
�Jira
�Bugzilla
�Mantis
�Trac
Tracking
�CVS
�SVN
Source Control
24[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi
Servizi Verticali
�SugarCRM
�vtigerCRM
�OFBIZ
CRM
�Compiere
ERP
�SpagoBI
�Pentaho
�Bee
Business Intelligence
�Open-Xchange
�Opengroupware
Groupware
25[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi
Engineering OSS& Integration Landscape
IntegrationLand
scape DataIntegration
ProcessIntegration
ApplicationIntegration
SpagicPresentationIntegration
26[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi Modello architetturale
BPELServer
ES
B
Orchestr.services
Integrationservices
Applicservices
� Supporto verso processi di integrazione, workflow (human activity) e data integration� SOA Enterprise Service BUS per comunicazione & assemblaggio servizi� BPEL per processi di orchestrazione� Registry di servizi (UDDI & ebxml)� Tool di sviluppo & management� Enterprise Monitor (system, service e business activity monitor)� MetaDB: per catalogare e registrare regole aziendali & process tracking
e-formservices
Human Activityservices
MetaDB&
Trace
EnterpriseService Monitor
BI
ServiceAssembly 1
ServiceAssembly 2
CRM ERP Custom Doc. DBMS HL7 LegacyWorkflow Data Integr.
Visual tools
ServiceRegistry
Service Assemly 3
JBI BC SCA
27[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi Utilizzo di ServiceMIX
�Motore di regole (Drools)�Schedulatore (Quartz)�Trasformazione e Validazione�Cache�Gestione code (MQ)�BPEL�Routing�JDBC
Nuovi Componenti Sviluppati� Spago : per richiamare componenti sviluppati con spago� ETL: per integrare processi di ETL sviluppati con Talend Open Studio� People : per invocare servizi della piattaforma people ( SOAP )� TCPIP� HL7� Estensioni JDBC� Gestione chiamate sincrone
Contribuzione al progetto: SA Listener� ServiceAssemblyListener: Intercetta i deploy e gli undeploy dei service assembly e salva la struttura
logica sul database� MessageExchangeListener: Intercetta tutti i messaggi riconducendoli ad un’istanza di processo
Servizi utilizzati Binding utilizzati
�HTTP�SOAP�email�File/FTP�JMS�RSS�TCP/IP
28[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi
Drools BPEL Design.
Customcode
TalendETL
SA Designer
definizione, classificazione,
sviluppo servizi e processi di
integrazione
Mapping & trasform
Service Archive (SA)Aggregazione ed orchestrazione+SU
Regole di cooperazione
Singolo Servizio (SU)
Regole di integrazione
Service class.& Document.
Regoleinvocazione
Tracking attivitàReferenziazioneprocessi esterni
(BPEL/Workflow,)
RegoleMonitoraggio
Meta DB
ETL Transformer HL7 DBMS(JDBC) Workflow Frameowrk
components
SO
AP
JBI
JBI
JBI
SO
AP
SO
AP
varie
Service Manager: deploy di servizi & processi di in tegrazionePortale: gestione servizi utente
Monitoraggio &
Gestione
Monitoraggio sistemistico,
applicativo ed analitico
JMX Console BAM Console & gestione (ripartenze, blocchi, ..) BI Console
Progettazione
…..
SOAP, JBI, JMS, File/FTP, TCP/IP,RSS
Node Node
Node ListenerESB ServiceRegistry
componenti
29[Panoramica soluzioni FOSS di livello aziendale]www.math.unipd.it/~ruffatti/
Laurea Specialistica in InformaticaStruttura e Configurazione di Sistemi Liberi SpagoBI: FOSS business
intelligence
Progetto OSS Engineering rilasciato nel 2005. Utilizzato in diversi progetti italiani ed esteri. Segue gli standard JSR (168 e 170) e SOA
Top Related