Mokabyte

Dal 1996, architetture, metodologie, sviluppo software

  • Argomenti
    • Programmazione & Linguaggi
      • Java
      • DataBase & elaborazione dei dati
      • Frameworks & Tools
      • Processi di sviluppo
    • Architetture dei sistemi
      • Sicurezza informatica
      • DevOps
    • Project Management
      • Organizzazione aziendale
      • HR
      • Soft skills
    • Lean/Agile
      • Scrum
      • Teoria della complessità
      • Apprendimento & Serious Gaming
    • Internet & Digital
      • Cultura & Società
      • Conferenze & Reportage
      • Marketing & eCommerce
    • Hardware & Tecnologia
      • Intelligenza artificiale
      • UX design & Grafica
  • Ultimo numero
  • Archivio
    • Archivio dal 2006 ad oggi
    • Il primo sito web – 1996-2005
  • Chi siamo
  • Ventennale
  • Libri
  • Contatti
  • Argomenti
    • Programmazione & Linguaggi
      • Java
      • DataBase & elaborazione dei dati
      • Frameworks & Tools
      • Processi di sviluppo
    • Architetture dei sistemi
      • Sicurezza informatica
      • DevOps
    • Project Management
      • Organizzazione aziendale
      • HR
      • Soft skills
    • Lean/Agile
      • Scrum
      • Teoria della complessità
      • Apprendimento & Serious Gaming
    • Internet & Digital
      • Cultura & Società
      • Conferenze & Reportage
      • Marketing & eCommerce
    • Hardware & Tecnologia
      • Intelligenza artificiale
      • UX design & Grafica
  • Ultimo numero
  • Archivio
    • Archivio dal 2006 ad oggi
    • Il primo sito web – 1996-2005
  • Chi siamo
  • Ventennale
  • Libri
  • Contatti

Nel numero:

105 marzo
, anno 2006

Service Oriented Architecture

VI parte: Dalla teoria alla pratica – Enterprise S

Marco Piraccini – Stefano Rossini
Marco Piraccini

Marco Piraccini è nato a Cesena il 09/10/1975. E‘ laureato in Ingegneria Informatica presso la facoltà di Bologna con una tesi sull‘assessment della maturità del processo di testing e
in Fisica Computazionale presso la facoltà di Udine con una tesi sull‘uso di GRID per le simulazioni Monte Carlo (nell‘ambito di un esperimento di astrofisica).
Attualmente lavora come Software Architect per una società di consulenza. Il suo Blog è disponibile al seguente indirizzo: http://darkav.blogspot.com/

Marco Piraccini – Stefano Rossini
Stefano Rossini

Stefano Rossini è nato a Giussano (MI) il 29/10/1970 e ha conseguito il diploma universitario in Ingegneria Informatica presso il Politecnico di Torino. Ha maturato più di venti anni di esperienza in diversi progetti Enterprise mission-critical ricoprendo i ruoli di IT Program Manager, Project Manager & Software Architect presso importanti gruppi bancari, pubblica sanità, pubblica amministrazione e software house.

Attualmente ricopre il ruolo di Sofware Factory Manager, Lean Change Agent ed Enterprise Architect presso Capgemini.

Esperto in ambito di sanità pubblica come Project/Program Manager per la governance dei progetti IT strategici di Cartella Clinica Elettronica (CCE) e Fascicolo Sanitario Elettronico (FSE).

Esperto in ambito bancario dove ha ricoperto per una decina d'anni il ruolo di Project Manager e Leader Software Architect (BPM, IWBank e BPS) occupandosi della pianificazione e gestione del progetto, del coordinamento del gruppo di sviluppo software sia InHouse che Nearshore/Offshore. Esperto nella conduzione di progetti secondo metodologia di Project Management PMBok e metodologia agile Scrum.

Si occupa di Java dal 1999 arrivando da precedenti esperienze in C e C++ in ambito Telco (Alcatel & Siemens). Ha pubblicato più di un centinaio di articoli su argomenti di IT Governance, Project Management, architetture enterprise e problematiche di Integrazione e SOA. È coautore dei libri "Manuale pratico di Java" (2001) e "La programmazione della piattaforma J2EE" (2005) editi da Hops/Tecniche Nuove. Certificazioni IT Governance: COBIT V.4.1 Foundation Certificate; certificazioni IT Service Management: ITIL V.3 Foundation Examination; certificazioni Project Management: CSM - Scrum Master, CSPO - Scrum Product Owner, PMI: 35 contact hours.

Profilo linkedin: http://www.linkedin.com/pub/stefano-rossini/30/977/242

MokaByte

Service Oriented Architecture

VI parte: Dalla teoria alla pratica – Enterprise S

Picture of Marco Piraccini – Stefano Rossini

Marco Piraccini – Stefano Rossini

  • Questo articolo parla di: Architetture dei sistemi, Programmazione & Linguaggi

Nei precedenti articoli abbiamo parlato di SOA sia dal punto di vista architetturale che delle metodologie di analisi e di design. In questo articolo introdurremo uno dei componenti architetturali fondamentali nelle achitetture a servizi: il Service Bus.

Introduzione

Nei precedenti articoli abbiamo parlato di SOA sia dal punto di vista architetturale (vedere [1]) che delle metodologie di analisi e di design (vedere [2]) .

Un‘azienda che decide di evolvere il proprio sistema informativo verso una architettura SOA deve fare diverse scelte e fronteggiare numerose sfide.

In [3] e [4] abbiamo visto come sia indispensabile capire il livello di maturità  dell‘organizzazione e definire in base a questa una roadmap che definisca i passi aziendali (organizzativi, tecnici, metodologici e culturali) per definire un processo evolutivo ed incrementale con l‘obiettivo di una architettura SOA matura.

In [5] abbiamo parlato di Service Oriented Integration (SOI): i principi Service Oriented applicati alle problematiche d‘integrazione.

In questo articolo introdurremo uno dei componenti architetturali fondamentali nelle achitetture a servizi: il Service Bus.

SOA & il Service Bus

I servizi SOA devono essere in grado di comunicare tra di loro attraverso un canale di comunicazione: il SOA bus.
Da un punto di vista architetturale il SOA bus è un layer che deve mettere a disposizione uno strato di comunicazione tra i servizi.
Scopo dell‘Enterprise Service Bus (ESB) è fornire un‘infrastruttura che centralizzi funzionalità  quali supporto alla comunicazione sincrona ed asincrona basata su messaggi, intelligent routing, supporto alla trasformazione dei dati, supporto alla connettività  verso EIS eterogenei, …

Ad oggi non esistono specifiche relative al SOA Bus: cos‘è, quale funzionalità  deve fornire, come è composto, ecc …

Di fatto, oggi, sono percorribili due strade: “costruirlo” in modo applicativo sfruttando le tecnologie esistenti (CORBA, J2EE, Web Services), rivolgersi al mercato acquistando un prodotto ESB (alcuni player importanti sono IBM, Bea, Sonic, Iona, Cape Clear, SeeBeyond, ecc…) o utilizzare un prodotto open source.

Ma perché si parla di ESB e non di Integration Broker, i tradizionali Middleware d‘integrazione presenti da anni sul mercato e che hanno (almeno in parte) i requisiti per soddisfare a tele esigenza?

EAI: gli Integration Broker

I tradizionali Middleware di integrazione sono basati su un modello di tipo hub-and-Spoke (“a stella”). In tali architetture, le operazione di data mapping, data transformation e message routing sono centralizzate nell‘Hub (il “fulcro della raggiera”) e svolte dall‘Integation Broker, il componente centrale dell‘Integration Middleware.

Da un punto di vista architetturale, l‘Integration Broker rappresenta l‘interfaccia unica attraverso cui transita ogni richiesta di comunicazione tra sistemi applicativi disomogenei che devono in qualche misura interoperare.

In questo modo, tutte le problematiche/operazioni di integrazione (messaging, intelligent routing, data trasformation, data mapping, …) risultano essere centralizzate, riusabili e facilmente amministrabili.

I trade-off di un simile approccio sono dati dal fatto che l‘Hub rappresenta un potenziale “collo di bottiglia” (bottleneck), un potenziale “single point of failure” e presenta difficoltà  di scalabilità .
Inoltre, gran parte delle suite di integrazione ad oggi sul mercato, sono state sviluppate in tempi in cui o non esistevano “standard” o questi non erano sufficientemente maturi e stabili. I fornitori Software, hanno così sviluppato soluzione proprietarie per risolvere le problematiche tipiche d‘integrazione.
In questo modo, le suite EAI spesso forniscono tecnologie (API, script, motori di regole di trasformazione, composizione di processi, connettori proprietari, …) proprietarie per l‘implementazione della logica di integrazione, non consentendo il riuso e l‘interoperabilità  tra differenti piattaforme.
Le competenze necessarie per lo sviluppo e la gestione di tali soluzioni EAI, sono quindi garantite quasi unicamente dal fornitore del Prodotto (producendo una situazione di vendor lock-in) con conseguente svantaggio tecnico ed economico (licenze, manutenzione e consulenze del prodotto).

La situazione è tale per cui, ad oggi, nella maggior parte dei casi, l‘adozione di tali suite ha comportato problemi in termini di costi, manutenzione e interoperabilità .

Enterprise Service Bus

Un Enterprise Service Bus (ESB) è invece un prodotto per l‘integrazione basato su standard di mercato e su un‘architettura orientata ai servizi che fornisce le funzionalità  tipiche dei tradizionali EAI Broker, con due fondamentali differenze.

La prima è tecnologica: gli ESB espongono tramite “standard” funzionalità  che i tradizionali Integration Broker fornivano tramite tecnologie proprietarie. Esempi di standard ampiamente utilizzati sono:JDBC, JCA, JMS, JMX , WSDL, UDDI, SOAP, JAX-RPC, JAXM, JAXR, SSAJ, XQuery, XPath, JBI, BP4WLS,…

La seconda differenza è architetturale: un ESB non si basa su un‘architettura “monolitica” di tipo Hub-and-spoke, ma su di una architettura distribuita a bus condiviso SOA (Service Oriented Architecture) oriented. In altre parole, in un‘infrastruttura ESB, tutte le applicazioni sono integrate ed operano come “servizi”.

Le logica d‘integrazione non è più centralizzata in un hub centrale, ma è distribuita lungo gli endpoint connessi al bus. Decentralizzando la logica di integrazione lungo il bus si migliora la scalabilità  teorica ed è possibile effettuare il deploy delle funzionalità  d‘integrazione strettamente necessarie (selective-deployment).

L‘utilizzo degli standard permette di ridurre le soluzioni proprietarie chiuse e costose tipiche dei tradizionali prodotti EAI riducendo il vendor lock-in ed i costi legati alle consulenze specialistiche ed alle licenze.

Risulta evidente che l‘aumento di interoperabilità  dato dall‘uso di protocolli e tecnologie standard, riduce i rischi aziendali complessivi indotti dall‘adozione di un middleware (in teoria lo rende “sostituibile”).
Utilizzando i Web Services, è possibile disaccoppiare l‘interfaccia del servizio (WSDL) dall‘implementazione del servizio stesso. Oltre a tale disaccoppiamento l‘ESB permette di separare la logica del servizio dalla logica di processo. In questo modo le interdipendenze tra i servizi non sono più implementate/cablate nei servizi stessi. Ottenuti questi endpoint astratti e omogenei, è possibile “orchestrare” i servizi per ottenere veri “processi di business”. Tutte le regole e le logiche di routing e trasformazione sono così gestite mediante configurazioni seguendo il mantra ESB: “configure, don‘t code”.
Un ESB permette, in linea con le best practices SOA, un‘integrazione “incrementale”: è possibile infatti di integrare in momenti differenti le varie parti di un sistema attraverso un approccio cosiddetto Leave-and-layer: si lascia inalterato l‘esistente portfolio dei servizi Legacy e di applicazioni esistenti riconciliando le loro differenze (logica e dati) in un nuovo layer (l‘ESB !).

Un ESB quindi, rispetto ai prodotti tradizionali di integrazione, dovrebbe ridurre il vendor lock-in, i costi di licenze e manutenzione e permettere una maggiore garanzia di portabilità  del codice e di interoperabilità .

Ad oggi, praticamente quasi tutti i principali produttori di Software hanno realizzato o intendono realizzare un proprio prodotto ESB da proporre sul mercato.

Da un lato società  che proponevano broker di integrazione tradizionali (es: IBM e SeeBeyond) hanno affiancato alla loro suite d‘integrazione anche dei prodotti ESB, dall‘altro le società  di dimensioni più limitate (come Sonic o Fiorano) che proponevano sistemi di comunicazioni a messaggi hanno migliorato il loro prodotto aggiungendo nuove features. Altri venditori hanno riadattato le loro integration suite effettuando di fatto un rebrand del loro prodotto al fine di ridurre i costi (licenze e manutenzione), altri ancora hanno provveduto a “sfruttare” il trend fornendo una versione “light” del prodotto Integration Broker in veste di ESB.

Dentro un‘ESB

  • Iniziamo ad entrare un po‘ di più nei dettagli elencando alcune delle caratterisitche fondamentali che un ESB deve implementare:
  • Trasformazione (sintattica e semantica) e mapping dei messaggi da un formato all‘altro. Questa trasformazione può comprendere anche l‘arricchimento dei messaggi con informazioni necessarie (es: metadati)
  • Delivery dei messaggi con autenticazione, autorizzazione, non ripudio; in generale deve essere garantito il supporto middleware alla comunicazione asincrona.
  • Gestione avanzata del routing dei messaggi, ad esempio sulla base del contenuto del messaggio stesso (questo permette a un servizio di mandare un messaggio senza conoscerne la destinazione).
  • Funzionalità  di amministrazione per la gestione e configurazione del BUS
  • Esposizione di servizi middleware di supporto alla logica di business: gestione delle transazioni, logging, audit,
  • Utilizzo di più protocolli di comunicazione (tramite appositi Adapter) per facilitare l‘integrazione

Parte queste funzionalità  possono essere fornite da un middleware che supporti la comunicazione asincrona a messaggi (MOM): rispetto a questo un ESB è l‘evoluzione da un puro supporto alla comunicazione ad un sistema integrato di composizione di servizi. Si può affermare che gli ESB realizzano la parte di middleware richiesta da architetture SOA utilizzando sistemi a scambio di messaggi.

ESB Container

In analogia ai container J2EE (che erano contenitori di componenti Java Enterprise), possiamo dire che gli ESB sono contenitori di servizi: parliamo quindi di ESB container.
I Container forniscono le facilities nella gestione dei servizi (es: ciclo di vita), nelle modalità  di comunicazione (es: gestione degli endpoint dei messaggi e modalità  di inoltro) e di gestione delle risorse (es: resource pool); inoltre forniscono tipiche funzionalità  infrastrutturali di middleware come monitoring, logging, audit.

Avendo il supporto delle API esposte dal Middleware, lo sviluppatore può concentrarsi sullo sviluppo della logica di business (in questo caso del servizio) rispettando il service contract (cioè i messaggi di richiesta/risposta).

Per fissare le idee, possiamo tracciare un parallelismo (a fini didattici) tra gli EJB e i servizi su ESB: in entrambi i casi viene fornito un Container in cui questi oggetti vengono caricati e di cui vengono utilizzate le funzionalità  middleware. Infatti così come un EJB può accedere ai servizi dell‘Application Server (il Transaction Manager, Resource Pool, Sicurezza, …) un servizio può accedere ai servizi connessi al Message Bus.
Inoltre, così come l‘EJB Container gestisce il ciclo di vita dell‘EJB, un Service Container gestisce il ciclo di vita del servizio: ad esempio gli oggetti di contesto dell‘environment JBI (standard SUN emergente nell‘ambito dell‘integrazione) come il ComponentContext sono creati e gestiti in modo infrastrutturale analogamente a quanto accade con gli EJB per gli oggetti (familiari agili sviluppatori Java Enterprise) SessionContext, EntityContext, ecc.

Con gli EJB, mediante gli oggetti di contesto è possibile interagire con l‘environment per accedere alle informazioni di deploy (es: il nome del componente, le classi che lo costutiscono, …) e alle risorse del sistema.

public class SampleBean implements SessionBean {private SessionContext sessionContext;public void setSessionContext(SessionContext sessionContext){this.sessionContext = sessionContext;}public void doFoo(){UserTransaction ut = this.sessionContext.getUserTransaction();. . . if(this.sessionContext.isCallerInRole("Admin")){. . . InitialContext ctx = new InitialContext();String msg = ctx.lookup("java:comp/env/message");DataSourcedataSource = (DataSource) ctx.lookup("java:comp/env/jdbc/MokaDB");. . . } . . .}

Un servizio, analogamente, può comunicare con l‘infrastruttura dell‘ESB mediante opportune API vendor dependent o JBI-compliant.
Di seguito si riportano due esempi di implementazione di un servizio ESB.
Il primo esempio (vendor-dependent) riguarda un servizio utilizza le API del Framework ESB di Sonic Software:

public class SampleService implements com.sonicsw.xq.XQService{. . . public void service(com.sonicsw.xq.XQServiceContext ctx) throws XQServiceException{. . . com.sonicsw.xq.XQEnvelope env = null;env = ctx.getNextIncoming(); com.sonicsw.xq.XQMessage msg = env.getMessage();. . . ctx.addOutgoing(env);}}

Il secondo esempio riporta un servizio sviluppato con le API del Framework standard JBI proposta di SUN (vedere [6], [7] e [8]):

public class SampleConcreteComponent implements javax.jbi.component.Component,                     javax.jbi.component.ComponentLifeCycle {. . . public void init(ComponentContext jbiContext)throws JBIException{this.mContext = jbiContext;}public void doFoo(){. . . DeliveryChannel channel = this.mContext.getDeliveryChannel();. . . System.out.println(this.mContext.getComponentName() ); . . . ServiceEndpoint ref = this.mContext.activateEndpoint(qn, "MokaEndpoint");. . .} . . .}

La gestione (management) ed il monitoring dei service container sono spesso esposti tramite modalità  standard (e non in maniera proprietaria come avveniva in passato). Ad esempio è comune utilizzare degli Mbean JMX (Java Management extensions).

Conclusioni

In questo articolo abbiamo aggiunto un elemento architetturale importante in SOA: L‘Enterprise Service Bus.
E‘ opportuno concludere dicendo che a oggi, nonostante ci siano evoluzioni interessanti, gli ESB open source non hanno ancora raggiunto una forte maturità ; E‘ nostra opinione comunque che in tempi brevi acquisteranno un rulo importante nel mercato.
Nel prossimo articolo presenteremo una carellata dei principali ESB open source.

1M. Piraccini, S. RossiniSOA (I): Introduzione – MokaByte 100 – Ottobre 2005https://www.mokabyte.it/2005/10/soa-1.htm2M. Piraccini, S. RossiniSOA (II): Metodologia – MokaByte 101 – Novembre 2005https://www.mokabyte.it/2005/11/soa-2.htm3M. Piraccini, S. RossiniSOA (III): Maturity Model – MokaByte 102 – Dicembre 2005https://www.mokabyte.it/2005/12/soa-3.htm4M. Piraccini, S. RossiniSOA (IV): Roadmap – MokaByte 103 – Gennaio 2006https://www.mokabyte.it/2006/01/soa-4.htm5M. Piraccini, S. RossiniSOA (V): SOI – MokaByte 104 – Febbraio 2006https://www.mokabyte.it/2006/02/soa-5.htm6S. RossiniJava Business Integration(I) – MokaByte 100 – Ottobre 20057S. RossiniJava Business Integration(II) – MokaByte 101 – Novembre 20058S. RossiniJava Business Integration(III) – MokaByte 102 – Dicembre 20059D. Chappel”Enterprise Service Bus”, O‘Reilly, Giugno 2004

Marco Piraccini – Stefano Rossini
Marco Piraccini

Marco Piraccini è nato a Cesena il 09/10/1975. E‘ laureato in Ingegneria Informatica presso la facoltà di Bologna con una tesi sull‘assessment della maturità del processo di testing e
in Fisica Computazionale presso la facoltà di Udine con una tesi sull‘uso di GRID per le simulazioni Monte Carlo (nell‘ambito di un esperimento di astrofisica).
Attualmente lavora come Software Architect per una società di consulenza. Il suo Blog è disponibile al seguente indirizzo: http://darkav.blogspot.com/

Marco Piraccini – Stefano Rossini
Stefano Rossini

Stefano Rossini è nato a Giussano (MI) il 29/10/1970 e ha conseguito il diploma universitario in Ingegneria Informatica presso il Politecnico di Torino. Ha maturato più di venti anni di esperienza in diversi progetti Enterprise mission-critical ricoprendo i ruoli di IT Program Manager, Project Manager & Software Architect presso importanti gruppi bancari, pubblica sanità, pubblica amministrazione e software house.

Attualmente ricopre il ruolo di Sofware Factory Manager, Lean Change Agent ed Enterprise Architect presso Capgemini.

Esperto in ambito di sanità pubblica come Project/Program Manager per la governance dei progetti IT strategici di Cartella Clinica Elettronica (CCE) e Fascicolo Sanitario Elettronico (FSE).

Esperto in ambito bancario dove ha ricoperto per una decina d'anni il ruolo di Project Manager e Leader Software Architect (BPM, IWBank e BPS) occupandosi della pianificazione e gestione del progetto, del coordinamento del gruppo di sviluppo software sia InHouse che Nearshore/Offshore. Esperto nella conduzione di progetti secondo metodologia di Project Management PMBok e metodologia agile Scrum.

Si occupa di Java dal 1999 arrivando da precedenti esperienze in C e C++ in ambito Telco (Alcatel & Siemens). Ha pubblicato più di un centinaio di articoli su argomenti di IT Governance, Project Management, architetture enterprise e problematiche di Integrazione e SOA. È coautore dei libri "Manuale pratico di Java" (2001) e "La programmazione della piattaforma J2EE" (2005) editi da Hops/Tecniche Nuove. Certificazioni IT Governance: COBIT V.4.1 Foundation Certificate; certificazioni IT Service Management: ITIL V.3 Foundation Examination; certificazioni Project Management: CSM - Scrum Master, CSPO - Scrum Product Owner, PMI: 35 contact hours.

Profilo linkedin: http://www.linkedin.com/pub/stefano-rossini/30/977/242

Facebook
Twitter
LinkedIn
Marco Piraccini – Stefano Rossini
Marco Piraccini

Marco Piraccini è nato a Cesena il 09/10/1975. E‘ laureato in Ingegneria Informatica presso la facoltà di Bologna con una tesi sull‘assessment della maturità del processo di testing e
in Fisica Computazionale presso la facoltà di Udine con una tesi sull‘uso di GRID per le simulazioni Monte Carlo (nell‘ambito di un esperimento di astrofisica).
Attualmente lavora come Software Architect per una società di consulenza. Il suo Blog è disponibile al seguente indirizzo: http://darkav.blogspot.com/

Marco Piraccini – Stefano Rossini
Stefano Rossini

Stefano Rossini è nato a Giussano (MI) il 29/10/1970 e ha conseguito il diploma universitario in Ingegneria Informatica presso il Politecnico di Torino. Ha maturato più di venti anni di esperienza in diversi progetti Enterprise mission-critical ricoprendo i ruoli di IT Program Manager, Project Manager & Software Architect presso importanti gruppi bancari, pubblica sanità, pubblica amministrazione e software house.

Attualmente ricopre il ruolo di Sofware Factory Manager, Lean Change Agent ed Enterprise Architect presso Capgemini.

Esperto in ambito di sanità pubblica come Project/Program Manager per la governance dei progetti IT strategici di Cartella Clinica Elettronica (CCE) e Fascicolo Sanitario Elettronico (FSE).

Esperto in ambito bancario dove ha ricoperto per una decina d'anni il ruolo di Project Manager e Leader Software Architect (BPM, IWBank e BPS) occupandosi della pianificazione e gestione del progetto, del coordinamento del gruppo di sviluppo software sia InHouse che Nearshore/Offshore. Esperto nella conduzione di progetti secondo metodologia di Project Management PMBok e metodologia agile Scrum.

Si occupa di Java dal 1999 arrivando da precedenti esperienze in C e C++ in ambito Telco (Alcatel & Siemens). Ha pubblicato più di un centinaio di articoli su argomenti di IT Governance, Project Management, architetture enterprise e problematiche di Integrazione e SOA. È coautore dei libri "Manuale pratico di Java" (2001) e "La programmazione della piattaforma J2EE" (2005) editi da Hops/Tecniche Nuove. Certificazioni IT Governance: COBIT V.4.1 Foundation Certificate; certificazioni IT Service Management: ITIL V.3 Foundation Examination; certificazioni Project Management: CSM - Scrum Master, CSPO - Scrum Product Owner, PMI: 35 contact hours.

Profilo linkedin: http://www.linkedin.com/pub/stefano-rossini/30/977/242

Picture of Marco Piraccini – Stefano Rossini

Marco Piraccini – Stefano Rossini

Tutti gli articoli
Nello stesso numero
Loading...

Python e Java: potenziare Java con un linguaggio di scripting

di Leonardo Casini

Architetture d‘Integrazione – Parte I

di Marco Piraccini e Stefano Rossini

La progettazione di applicazioni web con UML

II parte - Approfondimenti

Architetture e tecniche di progettazione EJB

V: Data model e sincronizzazione tramite CMP2.0

Dal RAD al Project Management: MDA non è mai stata così

Parte II Project Management con PRINCE2

JasperReports: una libreria Open Source per la reportistica

II parte

Nella stessa serie
Loading...

SOA: dalla teoria alla pratica

X parte: Esempio pratico (2)

SOA: Dalla teoria alla pratica

IX parte: Esempio (I)

SOA: dalla teoria alla pratica

VIII parte: Strategie di adozione

Service Oriented Architecture

VII parte: Enterprise Service Bus (II)

Service Oriented Architecture

Parte V: SOI

Service Oriented Architecture

Parte IV: la Roadmap

Service Oriented Architecture

Parte III: Maturity Model

Service Oriented Architecture

Parte II: metodologia

Service Oriented Architecture: dalla teoria alla pratica

I parte: Introduzione

Mokabyte

MokaByte è una rivista online nata nel 1996, dedicata alla comunità degli sviluppatori java.
La rivista tratta di vari argomenti, tra cui architetture enterprise e integrazione, metodologie di sviluppo lean/agile e aspetti sociali e culturali del web.

Imola Informatica

MokaByte è un marchio registrato da:
Imola Informatica S.P.A.
Via Selice 66/a 40026 Imola (BO)
C.F. e Iscriz. Registro imprese BO 03351570373
P.I. 00614381200
Cap. Soc. euro 100.000,00 i.v.

Privacy | Cookie Policy

Contatti

Contattaci tramite la nostra pagina contatti, oppure scrivendo a redazione@mokabyte.it

Seguici sui social

Facebook Linkedin Rss
Imola Informatica
Mokabyte