b a c c h e t t a d i G i a n n a F r a t t a m a g i a e ...
P i a t t a f o r m e
description
Transcript of P i a t t a f o r m e
PPiiaattttaaffoorrmmee
Antonio CisterninoAntonio Cisternino
11 Marzo 200511 Marzo 2005
OOppeenn
SSoouurrccee
e PPrroopprriieettaarriiee
Un mondo di Un mondo di componenticomponenti
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.