• 120 likes • 215 Views
O p e n S o u r c e. Un mondo di componenti. e. P r o p r i e t a r i e. P i a t t a f o r m e. Antonio Cisternino 11 Marzo 2005. What’s next?. La piattaforma Microsoft sta rapidamente cambiando COM, seppure una grande tecnologia, è lentamente divenuta obsoleta: si può fare meglio
E N D
OpenSource Un mondo di componenti e Proprietarie Piattaforme Antonio Cisternino 11 Marzo 2005
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.