Una overview di Software Plus Services per architetti

Stavo per pubblicare questo post quando mi sono accorto che Pietro e Giuseppe hanno scritto un post su S+S dove si chiedevano se l'equazione lineare S+S = 2S fosse vera!

Bene, proverò che l'equazione riportata è palesemente falsa :-)dimostrando al contrario il vero risultato, ovvero : S+S = 4S. Vediamo perchè :-)

Innanzitutto con Software Plus Services parliamo di una evoluzione nel modo di sviluppare, deliverare, gestire ed interagire con il software nei prossimi 5-10 anni. Una evoluzione che è già iniziata da alcuni anni ma che oggi si può declinare con precisione. Una evoluzione appunto, non una rivoluzione che coinvolge il mondo Consumer fino a quello Enterprise! Una domanda che spesso mi viene fatta quando presento questo argomento è se oggi sia già possibile sviluppare in modalità Software Plus Service. La risposta è sicuramente SI. Scopo dei mie prossimi post sull’argomento sarà proprio affrontare la questione soprattutto in ambito progettazione e sviluppo di soluzioni Software Plus Services oggi.

Prima di addentrarci nel pieno della discussione vediamo quali sono i principali fattori che hanno permesso questa evoluzione:

  • Connettività: la sempre crescente velocità di connessione verso internet non solo dei PC ma anche di qualsiasi device anche mobili.
  • Data Storage: disponibilità di storage sempre più capienti a prezzi abbordabili. Data storage sia dei PC/devices sia del massive data, ovvero lo spazio disponibile in rete.
  • Potenza computazionale: il costante aumentare della capacità computazionali dei PC e dei device in generale (es: PDA, smartphone, ecc…)

Questi sono i principali key drivers che hanno permesso e permetteranno nel futuro la nascita di una nuova generazione di software capace di fornire alle persone un nuovo livello di esperienza, interattività ed integrazione tra le persone, i device e le informazioni. Una evoluzione che mette al centro le persone e la loro collaborazione durante le attività lavorative e quelle “personali”. Questo nuovo modo di interagire con la tecnologia viene chiamata anche Digital LifeStyle ovvero come il nostro stile di vita si relaziona alla tecnologia in tutti i momenti della giornata.
Prima di spaventiamoci J… facciamo un esempio: 10 anni fa la posta elettronica era un mezzo di comunicazione usato prevalentemente nel mondo del lavoro tramite PC. Le persone che comunicavano tra loro, con le famiglie, con gli amici via email erano una piccola minoranza. Fino a 5 anni fa era difficile che la posta fosse usata anche quando le persone erano fuori ufficio, in viaggio. Con lo stesso device oggi si può gestire la posta dell’ufficio e quelle personali, condividere contatti e molto altro. Fino a 2-3 anni fa era difficile che questo tipo di “connessione” potesse comprendere anche la condivisione di fotografie e filmati, non solo tra telefonini ma anche su internet. Oggi con Windows Mobile 6 ed i servizi Live ad esempio è veramente banale fare una fotografia o un filmato con il cellulare o il PDA e inviare il contenuto digitale nella photo gallery all’interno del proprio blog!! In pochi minuti “tutto il mondo” può vedere le foto delle mie vacanze J. Stessa storia per l’ IM (Instant Messaging) sia pubblico (es: Messenger) sia inter-aziendale (es : Communicator) e tutte le esperienze di condivisione di informazioni e contenuti che questi strumenti mettono a disposizione sia dal PC che dai cellulari. Con gli esempi potremmo andare avanti veramente tanto. Se analizziamo questo trend solo dal punto di vista della user experience allora in realtà scopriamo che ha già un nome : Web 2.0.

Software Plus Services è molto di più! Indica COME trasformare questa user experience in sensazioni sempre nuove fornendo la libertà di essere sempre aggiornati solo sugli aspetti che ci interessano gestendo e condividendo i propri dati con amici e colleghi abbattendo le barriere e gli ostacoli tecnologici.

Volendo fare un distinguo tra privati ed aziende possiamo sintetizzare :

  • Per gli utenti privati significa semplificare l’uso dei propri digitial tools. Questo permette una innovazione in termini di esperienza nella propria digital lifestyle che cambierà radicalmente il modo in cui le persone accedono e scambiano informazioni.
  • Per le aziende S+S offre la possibilità di migliorare l’efficienza e diminuire i costi offrendo nuove opzioni in cui le applicazioni possono essere deliverate e integrate tra loro.

Come detto Software Plus Services è un argomento molto vasto che spazia un po’ in tutti i settori. Nei miei post mi concentrerò soprattutto sugli impatti e sulle prospettive future per le aziende.

Per capire al meglio i principi architetturali che sorreggono l'acronimo S+S (Software Plus Services) partiamo da un concetto "di base : il servizio. Purtroppo il termine in questi anni ha subito (e sta subendo ancora) un overloading sempre maggiore e questo a mio avviso è alla base di molta confusione nelle architetture. Si parla di Service Orientation, di SOA, EDA, SaaS, Web 2.0… Tutti acronimi, architetture che hanno come minimo comune denominatore il servizio ma con accezioni e spesso filosofie ben diverse:

  • SOA e EDA: principi architetturali che permettono di disegnare e sviluppare soluzioni componibili e usufruibili.
  • SaaS : architettura orientata al delivery di servizi dove in scenari internet significa spostare le attività di operations dall'enterprise all'hoster. In questo contesto parliamo di architetture single/multi-tenancy.
  • Web 2.0: non è tanto l'aspetto tecnologico ma la user-experience rispetto alle informazioni. L'utente non è più passivo alle informazioni ma decide ed "assembla" parti per formarsi il proprio mondo (il famoso mash-up). I più fantasiosi lo hanno chiamato addirittura il rinascimento del Web. Anche in questo contesto troviamo i concetti di assemblare funzionalità che guarda caso sono erogate da... servizi.

Questi sono 3 differenti aree dell'innovazione dei servizi. Microsoft chiama l'integrazione di questi mondi Software Plus Services o più semplicemente S+S ovvero l'unione del software locale su qualsiasi device con quello dei servizi indipendentemente dalla loro declinazione. S+S può essere considerato come un continuum tra le soluzioni software e i servizi di oggi e del futuro.

Partendo dai key drivers precedenti possiamo sintetizzare il concetto di Software Plus Services in questo modo:

S+S = PCs + Devices + Software On-Premise (enterprise) + SaaS (online)

abbiamo quindi l'integrazione di 4 Scenari... ovvero :

S + S = 4Scenari
C.V.D. :-)

image

 

Stiamo quindi parlando di convergenza tra persone, devices, informazioni e performance/sicurezza. Una convergenza che permette alle persone di accedere ai propri dati (personali o aziendali) sia quando si trovano all’interno dell’azienda, in viaggio o in vacanza, online oppure offline. Le aziende hanno quindi la possibilità di raggiungere un livello di flessibilità e libertà scegliendo quale sia il modello più adatto alle proprie esigenze : on-premise (in casa), on line oppure un mix potendo nel futuro modificare questa integrazione tra servizi. Questa libertà può essere tale solo tramite una piattaforma applicativa la quale grazie ai principi di application composition sia in grado di integrare servizi interni all'azienda con servizi esterni erogandoli in modo naturale verso un presentation che sarà sempre più articolato. Non una rivoluzione ma una evoluzione... appunto :-)

Vediamo come questa integrazione stia già avvenendo:

  • Desktop : Sempre di più l'utente del PC utilizza anche devices come smartphone o PDA interagendo con servizi live e in alcuni casi con servizi intranet.
  • Enterprise : anche nell'Enterprise c'è una certa integrazione con dispositivi mobili. Oggi l'integrazione con i servizi live è più orientata alla user-experience rispetto al middle-tier (area di forte espansione nei prossimi anni). Gli utenti saranno sempre più abituati a scenari Web 2.0 dove sono al centro delle informazioni e ai meccanismi di aggregazione delle informazioni stesse. Nel tempo richiederanno lo stesso tipo di experience anche all'interno dell'azienda. Infatti stiamo assistendo ad una prima integrazione tra il mondo strutturato tipico dei processi di business server side con il mondo destrutturato tipico del modo di lavorare delle persone. Maggiori info qui.
  • Online : sempre più servizi (gratis e a pagamento) supportano la richiesta sempre maggiore di user-experience legata al Web 2.0. Gli utenti si stanno evolvendo! Siamo agli inizi della così detta Consumerization ovvero le aziende iniziano ad appoggiarsi su servizi on-line piuttosto che applicazioni on-premise (installate e gestite in casa).
  • Devices : sempre più piccoli e potenti. Danno il meglio quando tramite la banda larga si possono integrare con i servizi  on-line. I servizi sono accedibili sia dai PC che dai device anche se in quest'area il lavoro di integrazione è ancora molto grande!

 

Tassonomia dei servizi

Possiamo suddividere i servizi in tre famiglie a seconda delle proprie caratteristiche:

image

  1. Building Blocks Services : I building block services sono dei servizi consumabili principalmente da sviluppatori. Servizi che richiedono una certa competenza tecnica per essere integrati in un sistema funzionale. Ad esempio BizTalk Services, Silverlight Streaming services. Li potremmo chiamare le API del futuro ?? :-)
  2. Attached Services : Questi servizi sono pensati come "appendice", estensioni ad altri servizi. Presi da se hanno poco valore e forse significato. Esempi di Attached Services sono : Forefront Services (come descritto prima) , Windows Live OneCare, gli stessi XBOX Lives Services che estendono le funzionalità dei giochi.
  3. Finished Services : come dice il nome, servizi che . Esempi : Office Live Small Business, Dynamics Live CRM, Office SharePoint Online ecc...

 

Microsoft Branding

La tassonomia dei servizi non va confusa con i due brand che troverete sempre più presente in casa Microsoft : Live e Online. Questa suddivisione è puramente marketing, di posizionamento! I servizi Live hanno come target il mondo consumer, piccolissime realtà commerciali e virtual workgroups ed offrono funzionalità di Entertainment, comunicazione e produttività individuale. I servizi Online invece sono pensati per il mondo Business dove è richiesta una certa flessibilità, SLA e che spesso hanno già una propria infrastruttura IT.

image

 

Integrazione e libertà di scelta

Se dovessi riassumere il concetto di S+S con uno slogan non avrei dubbi : Integrazione e Libertà di scelta per il futuro .
Vediamo perché. Integrazione per i i 4 scenari appena elencati. C'è molta innovazione all'interno di ognuno di queste 4 aree. Molti dei problemi che l'intera industria dell' IT cercherà di risolvere nei prossimi 5-10 anni riguarderà proprio l'integrazione di questi mondi. Per libertà invece intendo la possibilità di scegliere quali servizi utilizzare ma soprattutto in che modalità. Questo significa che dal privato, alla piccola azienda, alla enterprise si avrà la libertà di scegliere chi gestirà i servizi dall'hardware dei server fino alle operations (la gestione).

L'esempio più immediato è rappresentato da Exchange Server 2007, un software già sviluppato in modalità S+S. Partiamo dalla funzionalità: l'utente può scegliere di integrarsi ai servizi di Exchange con uno o tutti i canali :Outlook, OWA, Outlook mobile oppure tramite il nuovo Voice Access. Exchange stesso può essere "installato in casa" ovvero on-premise oppure appoggiandosi ad un provider (hosted) a seconda delle proprie necessità tra cui, non ultimi, gli skill di gestione ed i costi di manutenzione. Infine ad Exchange possono essere integrati dei servizi ad-hoc come ad esempio ForeFront per la sicurezza e il filtering indipendentemente dal modello di deployment scelto...

image

Questo cosa significa? Significa aver sviluppato un software (in questo esempio Exchange) che può essere deployato come applicazione e come servizio. Inoltre tale software è capace di integrarsi a sua volta con servizi aggiuntivi (interni o esterni) erogandoli in modo naturale verso il presentation.
Alcuni servizi possono essere : Exchange online, Sharepoint online, Exchange hosted services...

Un altro esempio di prodotto che nel tempo si è trasformato abbracciando la filosofia di S+S è Office. Infatti rispetto alle prime versioni dove Office era un semplice prodotto di produttività individuale negli anni si è arricchito in un primo momento con servizi server-side come ad esempio Sharepoint, Exchange Office Communication Server. Successivamente si è integrato con i servizi Live come Office Live, Office Live Meeting,... Infatti, parlare di Office System oggi significa parlare di una soluzione capace di integrare software client multicanale, servizi server e servizi on-line. S+S appunto :-)

 

"Prospettive"

Software Plus Services può essere analizzato anche da quattro prospettive diverse a seconda dell'area di focalizzazione della propria azienda. Ovviamente non sono esclusive nel senso che una realtà potrebbe coprire anche più di una. L'area di Build ha come target principali le società di software (ISV). In questo contesto dobbiamo focalizzarci ad esempio sugli aspetti di progettazione single-multi tenancy, problemi di scaliabilità e best practices per l'isolamento dei servizi.Con Run si intendono gli Hoster dove abbiamo troviamo best practices sul service delivery e gestione della scalabilità. Consume si rivolge prevalentemente all'Enterprise e all'integrazione con architetture SOA/EDA con client ricchi multi device e servizi esterni. Infine, Monetize è rivolto prevalentemente a reference patterns per creare nuovi modi di erogare servizi e creare un ecosistema S+S integrato.

 

image

Approfondimenti su questi quattro temi li potete trovare qui, sul nuovo sito MSDN dedicato alle architetture S+S.

Oltre ai patterns che vengono pubblicati periodicamente su Patterns & Practices vediamo come Microsoft supporta questi 4 scenari da un punto di vista tecnologico.

 

  • Build
    • .NET 2.0/3.0/3.5
    • Visual Studio
    • Silverlight
    • PopFly
    • Guidance
    • Cloud Services
  • Run
    • IIS7
    • Windows Server 2008
    • System Center
    • SQL Server
    • Silverlight Streaming
  • Consume
    • Integrazione
      • Biztalk Server
      • Internet Service Bus
    • Composition
      • Office Business Applications (OBA)
  • Monetize
    • AD Center
    • Software Protection
    • Licensing Services

 

 

Nei prossimi post vedremo come si progettano soluzioni S+S ed analizzeremo anche alcune soluzioni già realizzate.

--Mario