You are currently browsing the tag archive for the ‘software’ tag.

Una caratteristica utile di Weblogic Server, dalla versione 9 in poi, è il cosiddetto production redeployment: una strategia di deployment delle applicazioni web che consente la coesistenza di due versioni dell’applicazione, garantendo il rilascio di una nuova release senza interrompere il servizio offerto agli utenti. E’ utile per la correzione di bug o per l’aggiunta di nuove funzionalità, senza dover chiudere l’applicazione nè aggiungere server ridondanti per redirigere il traffico durante la sostituzione.

Quando la nuova versione viene attivata, la vecchia viene mantenuta in funzione dal server finchè le sessioni utente già attive vengono completate oppure vanno in time out: nel frattempo la nuova versione comincia a servire tutte le nuove richieste. La figura seguente mostra come le richieste http vengono gestite da WLS:

Side by side deployment

Gli utenti che stavano navigando non subiscono alcun effetto dell’attivazione della nuova versione, quindi non è necessario pianificare finestre temporali di rilascio, magari di notte o nel week end come a volte si è costretti a fare. Versioni successive delle applicazioni possono essere storicizzate sui server, per cui è sempre possibile tornare indietro ad una versione precedente con la stessa modalità trasparente agli utenti. Inoltre, se una nuova versione viene attivata in Administration Mode, questa diviene visibile solo sul canale di amministrazione di WLS: ciò consente di eseguire test di corretto funzionamento prima dell’apertura al normale traffico utente.

test della nuova versione in administration mode

Le operazioni di deployment e di attivazione delle versioni possono, come tutte le operazioni di amministrazione, essere eseguite attraverso la console web di WLS, attraverso script ANT o WLST, programmi java o strumenti esterni di configuration management. Alcuni tipi di applicazione non possono essere gestiti con questa modalità di rilascio, che è limitata a web applications e enterprise applications: vedere la documentazione online di WLS per i dettagli.

Un bel post apparso sul blog Manageability, descrive i 5 prossimi trend per sviluppatori Java, Lo trovate qui.

In anteprima un nuovo whitepaper scritto a 4 mani con gli amici di VMWare: vengono analizzati i trend di adozione di SOA e Virtualizzazione, e vengono analizzate situazioni in cui una tecnologia sfrutta l’altra o ne abilita migliori risultati. Un bel documento di valore per CIO, IT manager ed architetti enterprise. Scarica il whitepaper

soavirtual.jpg

microhoo.jpg Cosa può spingere Microsoft ad offrire la cifra record di 44,6 miliardi di dollari per acquistare il controllo di Yahoo ? Lo storico motore di ricerca è da qualche tempo in crisi eppure risulta ancora una delle priorità di Microsoft. Certo, la prima risposta è Google e il suo strapotere, ma se analizziamo a fondo la vicenda scopriamo che la vera risposta all’Opa di Microsoft è la pubblicità online.

Mentre Microsoft ha cercato di sviluppare – senza successo – un motore di ricerca alternativo e servizi online competitivi, Google è passato nel 2007 dal 60 al 75 per cento del mercato americano della pubblicità nei motori di ricerca, contro il 9% di Yahoo! (la stima è di eMarketer). Quindi, tanto vale per Microsoft mettere sul banco 44,6 miliardi di dollari per non esserne tagliato fuori dalla pubblicità che è la moneta delle attività gratuite in rete. Google ha capito questo da tempo ed ha vinto una “sfida impossibile”: crescere in Internet, oltre il motore di ricerca, con una quantità di servizi gratuiti.

Microsoft è ancora leader nell’off-line – sono suoi 9 computer su 10 al mondo – ma non è mai entrata in partita nell’online, a differenza – ad esempio – della rivale Apple. Basterà un investimento di 44,6 milardi di dollari (pari agli utili dei prossimi 3 anni) per ribaltare un trend strutturale? E’ questa la sfida più impegnativa per il Ceo di Microsoft, Steve Ballmer, dopo l’uscita del fondatore Bill Gates. In palio c’è la leadership del settore per i prossimi anni.

L’articolo di Paul Callahan Top 10 mistakes when implementing SOA projects su Zdnet è molto chiaro e personalmente condivido tutto il suo contenuto. Ripetere gli stessi concetti, per quanto possa sentirli anche miei, sarebbe inutile e potrebbe dare l’impressione di attribuirsi il lavoro degli altri…

Comunque voglio aggiungere qualche considerazione, raggruppandole in sei categorie – il che non implica necessariamente che io ne sappia meno di Paul che elenca 10 argomenti 🙂 – per dare il mio contributo basato sull’esperienza personale. Sono solo spunti di discussione, perchè non possiamo dilungarci su questo blog: sarei in ogni caso felice di approfondire l’argomento con chiunque sia interessato a condividere le proprie esperienze, quindi scrivete i vostri commenti o mandateci una email, ci farebbe piacere.

Tecnologia

Spesso l’adozione di SOA viene interpretata come un’iniziativa meramente tecnologica e si concentrano (a volte si sprecano) molto tempo e molte risorse nel definire puntigliosamente le caratteristiche dei prodotti che si dovranno usare per coprire ogni eventuale necessità futura.

In questo modo l’avvio di un progetto richiede lungo tempo, e si guardano da lontano quelli che sono partiti in modo più pragmatico. Pur essendo uno dei sostenitori di un’architettura di riferimento ben definita (basata su tutti prodotti BEA o meno, va bene lo stesso: e poi un’architettura non è fatta di soli prodotti) sostengo che si può anche procedere per iterazioni successive, cominciando a sperimentare e facendo tesoro dell’esperienza; definendo una visione di ampio respiro mentre si implementano le cose semplici che sono a portata di mano. Pensando in modo strategico e agendo contemporaneamente in modo tattico. Programmando una roadmap che sia oggettivamente realizzabile.

Tra l’altro, a volte la tecnologia di cui si dispone è già sufficiente per iniziare la realizzazione di quello che serve: ho visto fior di architetture realizzate utilizzando Tuxedo o il CICS, quindi non sempre la tecnologia più attuale è necessaria per ogni progetto.

Governance

Molte decisioni devono essere prese nella realizzazione di un programma SOA di livello enterprise:

  • Chi definisce e modifica i servizi?
  • A chi è consentito l’uso dei servizi?
  • Quale livello di servizio dobbiamo fornire?
  • Chi paga per la costruzione del servizio?
  • Chi paga per l’infrastruttura per i servizi?
  • Come devono essere gestite le interdipendenze tra i servizi?
  • Come esporre i servizi all’esterno?

Si devono fare anche queste, ed altre, considerazioni:

  • Struttura organizzativa
  • Finanziamento
  • Processi Operativi e strumenti di supporto
  • Standard
  • Competenze
  • Principi Guida
  • Change Management

Non ci si può illudere di non dover affrontare questi argomenti, sicuramente quando sono spinosi: quindi metteteli in conto dall’inizio. In ogni azienda esistono posizioni di potere che possono essere intaccate da una strategia basata sulla condivisione e sulla collaborazione: oltre a una rivoluzione culturale servono regole (rispettate) che consentano all’intero sistema di funzionare, possibilmente con il coinvolgimento attivo di tutti gli attori.

Esperienza

A volte ci si fa prendere dall’entusiasmo, avendo intuito (o anche studiato in modo approfondito) i benefici che si possono ottenere da un approccio SOA. Quindi si parte in quarta: si studia, si organizza, si acquista quello che serve e si inizia un bel progetto.

Se però non si ha esperienza di iniative di questa portata, sia dal punto di vista di una architettura enterprise che da quello della famosa governance, si rischia di ritrovarsi in mezzo a una palude.

I tempi di realizzazione, l’integrazione, il budget o il change management possono diventare dei problemi in corso d’opera. A volte si costruisce un bel prototipo, che però non ha le caratteristiche sufficienti per la messa in esercizio; oppure si realizza l’infrastruttura perfetta, ma nessuno ha un servizio utile da metterci sopra.

Vale quindi la pena di confrontarsi con qualcuno che abbia già intrapreso (e portato avanti con successo) lo spesso percorso, per fare tesoro della sua esperienza e impostare il proprio lavoro nel modo migliore.

Consiglio di parlare con project manager, program manager e architetti che abbiano già realizzato progetti SOA reali per farsi raccontare quali difficoltà hanno incontrato e come le hanno eventualmente risolte. Tra questi potete considerare colleghi che hanno il vostro stesso ruolo in altre aziende, consulenti che lavorano per i system integrator o i software vendor, tra cui ovviamente BEA. Mi raccomando però di verificare le credenziali dei sedicenti esperti, perchè SOA è sulla bocca di tutti e il mondo è pieno di “enterprice architett”.

Iniziativa IT senza partnership con il business

Se la divisione IT di un azienda intraprende un’iniziativa SOA in modo autonomo, di solito lo fa per uno di questi motivi:

  • va di moda, quindi se gli altri lo fanno un motivo ci sarà
  • è moderno, quindi se lo facciamo possiamo metterci in evidenza come innovatori
  • possiamo chiedere una quota di budget per rinnovare le nostre infrastrutture.

E’ invece consigliabile che l’inizio del progetto derivi da un’iniziativa condivisa con i responsabili del business dell’azienda: a seconda del settore, con la produzione, la logistica, il marketing, il demand management.

Se l’iniziativa è fine a se stessa, non produrrà un valore per l’azienda. Non avrà un ROI dimostrabile e non darà lustro ai suoi responsabili. Se invece è condivisa con chi può beneficiare dei suoi risultati in termini di fatturato, dimostrerà di portare vantaggi al business. E’ essenziale un sistema di metriche per dimostrare in modo quantitativo il vantaggio generato. Ma soprattutto è necessario che ogni attività sia mirata alla soluzione di un reale problema che gli utenti di business percepiscono nella loro attività. Se per esempio un processo di vendita richiede troppo tempo, ridurne la durata ottimizzando il processo (eliminando attività manuali, per esempio) può avere effetto sul flusso di cassa. Rendere la produzione più efficiente può diminuire l’immobilizzo di capitale e le spese per la logistica. L’IT dovrebbe imparare a parlare lo stesso linguaggio del business e a interpretarne le necessità (condividendole in modo esplicito ed evitando assunzioni che potrebbero non essere condivise).

Mancanza di pragmatismo

Tra l’altro, la condivisione di una roadmap può evitare che si creino aspettative ingiustificate o, peggio, che non ci siano aspettative. Rendere visibili i risultati ottenuti nelle fasi intermedie della roadmap, secondo quanto pianificato, garantisce il supporto degli sponsor di business e non fa venire meno il sostegno negli eventuali momenti in cui il progetto incontra dei problemi. Per questo motivo bisogna assolutamente evitare approcci di tipo Big Bang, in cui risultati eclatanti vengono promessi alla fine di un arco di tempo troppo lungo: si potrebbe non arrivare mai a dimostrarli…

La figura seguente mostra che – a seconda della situazione che fa nascere l’iniziativa SOA – è opportuno organizzarsi in modo differente: la roadmap conterrà azioni adeguate alla situazione e nella sequenza più opportuna.

entry points

 

Comunicazione

  • Marketing interno: come detto nell’introduzione, occorre definire un piano strategico e realizzarlo in modo tattico. E’ importante che l’azienda cominci presto ad apprezzare i risultati, per creare un circuito virtuoso intorno all’iniziativa SOA.
  • Riuso degli asset nei progetti: se si realizzano dei servizi utili ma pochi ne conoscono l’esistenza, probabilmente il vantaggio del riuso sarà limitato. Conviene mettere a punto una strategia di comunicazione e gli strumenti a supporto (service repository e/o un portale intranet, newsletter, eventi periodici…).
  • Demand management: dare a chi si interfaccia con il business la visibilità degli asset disponibili (possono nascere nuove idee dalla conoscenza dei servizi esistenti) o la possibilità di esprimere i requisiti in modo da iniziare il ciclo di vita dei servizi (o delle applicazioni composite): il repository è sempre utile.
  • Diffusione della cultura della condivisione: le modalità dipendono dal contesto aziendale, ma questa attività è quanto mai necessaria.

Un altro prodotto BEA finisce nel quadrante Leader di Gartner: è il BPM (Business Process Management). Il report Magic Quadrant Report for Business Process Management Suites (BPM)” descrive in dettaglio quali tipi di processo possono essere migliorati con un BPM, i punti di forza e di debolezza di 22 fornitori di soluzioni, ed i 10 fattori più importanti che un’azienda deve considerare nell’acquisto di un prodotto di BPM. Il report completo è scaricabile a questo indirizzo. Buona lettura.

1541b58d-925b-428f-9a98-45da9736cad5_gartner_mgq.jpg

 

Segnalo questo bell’articolo tratto da ZDNet, dove l’autore evidenzia 12 fattori che contribuiranno allo sviluppo di SOA, Web 2.0 e SaaS (Software as a Service) nel breve-medio termine. L’autore sostiene che queste tre tecnologie hanno caratterizzato le discussioni nell’IT nell’ultimo periodo, ma che il 2008, per una serie di trend che si stanno concretizzando, sarà l’anno in cui vedremo queste tecnologie applicate nelle “next generation enterprises”. Buona lettura.

2008nextgen_enterprises.jpg

http://blogs.zdnet.com/Hinchcliffe/?p=157

Attenzione!

Questo sito non è piu' aggiornato. Vieni a trovarci sul nuovo Caffe' con BEA

Disclaimer

I post su questo blog rappresentano i pensieri personali dei singoli autori e non rappresentano le posizioni ufficiali di BEA Systems. Se scrivete commenti, essi saranno rivolti solo ai singoli autori e non a BEA Systems. Le immagini ed i filmati possono essere tratti da Internet: qualore violassero eventuali diritti di autore, segnalatelo subito a pfurini@bea.com.