PiattaformePiattaformePiattaformePiattaforme Antonio Cisternino 11 Marzo 2005 OpenSourceOpenSourceOpenSourceOpenSource e ProprietarieProprietarieProprietarieProprietarie Un mondo di componenti
What’s next? La piattaforma Microsoft sta rapidamente cambiando COM, seppure una grande tecnologia, è lentamente divenuta obsoleta: si può fare meglio Microsoft ha puntato molto su.NET, una VM su cui basare il futuro dei componenti Ci sono resistenze interne a fare il grande salto.
.NET Hype.NET rappresenta la visione di Microsoft per lo sviluppo software Il Common Language Runtime (CLR) è una Virtual Machine che esegue programmi scritti in linguaggi differenti Offre numerosi servizi ai programmi, come sicurezza, gestione della memoria, interoperabilità
.NET vs. Java.NET affonda le sue radici in Java, ma come spesso accade a chi viene dopo, è più avanti È uno standard ISO e ECMA come il linguaggio C# (altra implementazione Mono) Tecnicamente ha i seguenti vantaggi: –Generici nel runtime (dalla 2.0) –Interoperabilità con codice nativo –Un sistema di tipi più flessibile –Supporto per la generazione dinamica di codice
Web Services Una nuova parola chiave nel panorama dei sistemi è quella dei Web services Web services è una tecnologia standard basata su XML per invocare servizi remoti È rilevante poiché scala bene: può essere supportata con poco sforzo, ma è capace di gestire anche situazioni molto complesse È supportato dalle principali piattaforme
Web services e.NET Hello world: [WebService] public class HW { [WebMethod] public string HelloWorld() { return “Ciao Mondo!”; }
Usare WS in InfoPath Poiché alla fine un WS è formato da un insieme di messaggi XML InfoPath è un’applicazione naturale per consumarli È piuttosto semplice quindi separare la gestione dei dati (definita come un insieme di Web Services) dalla loro presentazione InfoPath consente di usare WS come sorgente di dati, ma anche come output
A managed OS Microsoft ha dichiarato che intendeva mettere CLR dentro Longhorn nel 2003 Questa posizione si è ammorbidita nel tempo, ciononostante sembra un trend che continua Questo avrà un impatto significativo sul design del sistema operativo: –La tradizionale visione della API di sistema potrebbe essere rimpiazzata da un’interfaccia ad oggetti –Il sistema operativo potrebbe entrare nel merito dell’esecuzione dei programmi per migliorare la sicurezza
Avalon Avalon è l’interfaccia grafica di Longhorn È anche un tentativo significativo di andare oltre win32 Interessante è la convergenza di: –Grafica 3D –Grafica vettoriale (finalmente!) –Definizione in XML dell’interfaccia (in stile Web ma nel sistema) –Convergenza su.NET Sembra che sia superiore a Quartz (MacOS)
Indigo Indigo è un’altra buzzword del momento Si tratta di un’infrastruttura software per applicazioni distribuite L’idea estende quella dei Web services: il programmatore annota il proprio programma e il sistema genera le interfacce verso la rete. Nuovamente l’intera infrastruttura si basa su SOAP e XML, quindi semplificherà lo sviluppo di applicazioni cross platform
Monad, a.NET shell Monad è la prossima shell di Windows Ciò che cerca di fare è di andare oltre il concetto di shell Unix affidandosi al fatto che.NET sarà il prossimo sistema a componenti di Windows Il modello prevede la manipolazione di oggetti piuttosto che di processi, ottenendo un modello a granularità più fine La reflection offerta da.NET consente di ispezionare gli oggetti interattivamente ottenendo un sistema che si autodocumenta (in parte).
Conclusioni La piattaforma Microsoft si è evoluta negli anni da una piattaforma mediocre in una che indubbiamente introduce innovazione La chiave di Windows è (e presumibilmente sarà) l’archiettura a componenti, che da COM sta lentamente migrando verso.NET Office è un esempio notevole di suite che sfrutta queste capacità del sistema.