1 building connected systems: today and tomorrow giuseppe guerrasio senior.net developer developer...
TRANSCRIPT
![Page 1: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/1.jpg)
1
Building Connected Systems: Today and Tomorrow
Giuseppe GuerrasioSenior .NET DeveloperDeveloper & Platform DivisionMicrosoft
![Page 2: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/2.jpg)
2
Agenda
• Service Orientation e Microsoft .NET– Connected System– Smart Client
• Web Services Architecture e Technology Roadmap– Fundamental– Web Service Enhancements – .NET 2.0 – Indigo
![Page 3: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/3.jpg)
3
.NET : Connected System
.NET è una tecnologia software che consente l’interconnessione di un mondo di informazioni,
persone, sistemi e device
OfficeSystem
VisualStudio
WindowsServerSystem
PocketPC
PartnerProducts
MyServices
![Page 4: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/4.jpg)
4
PCPCApplicationsApplicationsApplicationsApplications
HardwareHardwareHardwareHardware
O p e r a t i n g S y s t e mO p e r a t i n g S y s t e m
Web Service e Connected System:Da Hardware Connesso a Applicazioni Connesse
X M L W e b S e r v i c e sX M L W e b S e r v i c e s
Smart DevicesSmart DevicesSmart DevicesSmart Devices
ServersServersServersServers
PCPC
ApplicationsApplicationsApplicationsApplications
HardwareHardwareHardwareHardware
O p e r a t I n g S y s t e mO p e r a t I n g S y s t e m
Sistemi OperativiSistemi Operativiastraggono l’ astraggono l’
hardwarehardware
Web ServiceWeb ServiceAstraggono Astraggono
Internet/IntranetInternet/Intranet
![Page 5: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/5.jpg)
5
SOA dalla prospettiva Microsoft .NET: Connected System
• Approccio non limitato ai servizi in quanto tali ma omnicomprensivo– Smart process : orchestratori di processi
• Servizi che invocano,aggregano e coordinano altri servizi in modo sincrono od asincrono
– Smart Client Application• Rich User Experience, interazione con più servizi, caching
intelligente, supporto offline, etc
– Smart Device• Smart Phone, chioschi , teller,Portable Media center, etc
– Web User Interface• Enterprise Portal, Internet Portal, etc
– Sistemi Automatici• Applicazioni senza interfaccia, sistemi di monotoraggio, etc
![Page 6: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/6.jpg)
6
Microsoft .NETConnected System with XML Web service
Windows Server System
![Page 7: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/7.jpg)
7
Web Services Architecture
Transports HTTPTransports HTTP
XML XML, XSD, XPath XML XML, XSD, XPath
Advanced Messaging WS-Addressing, WS-EventingAdvanced Messaging WS-Addressing, WS-Eventing
SecurityWS-Security
WS-TrustWS-Federation
SecurityWS-Security
WS-TrustWS-Federation
ReliabilityWS-ReliableMessaging
ReliabilityWS-ReliableMessaging
TransactionsWS-TransactionsWS-Coordination
WS-AtomicTransaction
TransactionsWS-TransactionsWS-Coordination
WS-AtomicTransaction
Ad
van
ced M
eta
data
, W
S-P
olic
y, W
S-D
isco
very
,W
S-M
eta
data
exch
ane
Ad
van
ced M
eta
data
, W
S-P
olic
y, W
S-D
isco
very
,W
S-M
eta
data
exch
ane
Basic Messaging SOAPBasic Messaging SOAP
![Page 8: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/8.jpg)
8
• Visual Studio 2005
WS-I ComplianceSDM
Web Services Technology Roadmap
![Page 9: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/9.jpg)
9
.NET Connected System Messaging Fundamental
• Supporto nell’intera piattaforma– Windows Server System– Office System
• Visual Studio e .NET Framework 1.1– Supporto per SOAP 1.1, XML Schema, XML 1.0, WSDL, UDDI– Service Development
• XSD Authoring• Mappatura automatica Tipi• Generazione Automatica WSDL• Ambiente per il Web Hosting• Registrazione UDDI• Client Side UDDI Discovery e Binding• Client Side Proxy Generation
– Servizi Aggiuntivi • Server Side: Transazioni,Caching, Handler Asincroni• Client Side: Gestione Asincrona Automatica
![Page 10: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/10.jpg)
10
Web Services Enhancements 2.0 (WSE)
• Supportato come add-on per Visual Studio e per il .NET Framework con gli ultimi avanzamenti nelle capacità dei Web service
• SOAP Messaging (WS-Addressing)
• Web Services Security– Firma digitale e cifratura del messaggio– Supporto per differenti tipi di Token di autenticazione
• X509, Custom Binary, Username/Password, Kerberos, and XML Security Token Support
– Supporto per WS-Trust e WS-SecureConversation– Roles based authorization con integrazione nativa con la
Windows security– Supporto per WS-SecurityPolicy
• Message-based programming model– indipendenza dall’ Hosting environment – Supporto per altri meccanismi di trasporto (HTTP, TCP)
![Page 11: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/11.jpg)
11
Rich UserRich UserExperienceExperience
DeveloperDeveloperProductivityProductivity
ResponsiveResponsive
SmallSmallFootprintFootprint
Easy ChangeEasy ChangeManagementManagement
Ease ofEase ofDeploymentDeployment
Quale Tipologia di Client ?
![Page 12: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/12.jpg)
12
Smart Client ArchitectureSmart Client Architecture
Web Web ServiceServiceProxyProxy
ServiceServiceAgentAgent
Web Web ServiceService
Main FormMain Form
Web ServerWeb ServerClientClient
![Page 13: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/13.jpg)
13
Smart Client Technology
• .NET Framework (Full & Compact)• Windows Application
– Windows Forms• Office Smart Client
– Office XML - InfoPath, WordML, ExcelML– SmartTags & SmartDocuments– Visual Studio Tools For Office - Word ed Excel– Information Bridge Framework - Meta-Data
Driven Solution• Hybrid
– Embedded Browser, Browser Host
![Page 14: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/14.jpg)
14
Elementi Chiave nello Smart client
• Gestione della Sicurezza– Caricamento ed Isolamento del codice
• Application Domain– Impatto della Code Access Security
- Evidence, Permission, Policy • Gestione del deployment
– “Push” Technology• AD• SMS
– Pull Technology• No-Touch deployment• Application Updater Block • Custom
– Sviluppi Futuri : ClickOnce
![Page 15: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/15.jpg)
15
metabasemetabase ftp, smtp, ftp, smtp, nntpnntp
ISAPI filtersISAPI filters
In-procIn-proc
appsapps
.Net App .Net App DomainDomain
.Net App .Net App DomainDomain
..NET application NET application domaindomain
Isolated Isolated OOP AppOOP App
DLLhost.exeDLLhost.exe
Isolated Isolated OOP AppOOP App
DLLhost.exeDLLhost.exe
User mode
Kernel mode
![Page 16: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/16.jpg)
16
Inetinfo.exeInetinfo.exe
metabasemetabase
ftp, smtp, ftp, smtp, nntpnntp
User mode
Kernel mode
Configuration Configuration managermanager
Application Application pool managerpool manager
WASWAS
Single Single appapp
W3WP.exeW3WP.exe
ISAPI extISAPI ext
ISAPI ISAPI filtersfilters
Multiple Multiple appsapps
W3WP.exeW3WP.exe
ISAPI extISAPI ext
ISAPI ISAPI filtersfilters
Isolated Isolated OOP AppOOP App
W3WP.exeW3WP.exe
ISAPI ExtISAPI Ext
ISAPI ISAPI FiltersFilters
Isolated Isolated OOP AppOOP App
W3WP.exeW3WP.exe
ISAPI ExtISAPI Ext
ISAPI ISAPI FiltersFilters
Single Single appapp
W3WP.exeW3WP.exe
ISAPI extISAPI ext
ISAPI ISAPI filtersfilters
ListenerListenerResponse Response
cachecache SenderSender
Web serverWeb server
Administration
![Page 17: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/17.jpg)
17
Connected System e .NET 2.0
• Supporto senza precendenti per lo Smart Client– Tool RAD per lo sviluppo del client pensati per ambienti
debolmente connessi– Nuovo modello per la gestione dei dati con ADO.NET 2.0– Semplificazione del deployment :ClickOnce Deployment– Nuovo modello per lo sviluppo di Smart Client integrati con
Office• Nuovo meccanismo per la gestione delle transazioni:
System.Transaction• Supporto completo per le nuove funzionalità di SQL
Server 2005– Supporto XML nativo– Integrazione con il CLR– Supporto per i Web Service Nativo– SQL Server Broker Service
![Page 18: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/18.jpg)
18
Connected System e .NET 2.0
• Miglioramenti ed Aggiunte al supporto per i Web Service– Supporto per SOAP 1.2
• Server side controllato via .config • Client side Wsdl.exe supporta entrambi ,
SoapProtocolVersion come proprietà nel proxy – Supporto automatico per il Basic Profile WS-I– Event-based async programming model
• Utilizza XxxAsync per la chiamata e XxxCompleted event
• Evento richiamato sul thread chiamante • Sotituisce BeginXxx, EndXxx mantenuti per
compatibilità– Nel Proxy generate proprietà invece di fields
• Possibile il data binding!
![Page 19: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/19.jpg)
19
Connected System e .NET 2.0
• Miglioramenti ed Aggiunte al supporto per i Web Service– Type sharing tra i proxies
• Individua gli schemi equivalenti e genera un unico CLR type
– IXMLSerializer esposto nativamente• Possibilità di customizzare con proprio codice la
serializzazione• SchemaImporterExtension
– Classe astratta che abilita la generazione di custom code quando si importano schemi nel proxy
• Supporto automatico della compressione nel Proxy– Disponibile anche client side la compressione oltre
che nativamente in II6
![Page 20: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/20.jpg)
20
Enterprise Design Tool
• Tool a supporto della Service Oriented Architecture – Rende semplice impostare il progetto, la
security, la transazionalità i WS-Standard , etc
• Tool a supporto per l’Operation– Disegno è specifiche della logical
infrastructure– Verifica dei settings delle applicazioni rispetto
alla logica dell’infrastruttura
• Inseriti nella Dynamic System Initiative
![Page 21: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/21.jpg)
21
Merc.Merc. StageStage ShuttleShuttleJobJob
CacheCache
HTTPHTTP
SQL Feed Feed StoreStore DSSDSS
FTPFTP
Dynamic System Initiative (DSI)System Definition ModelCreare un blueprint live del system
ResourcesResourcesRequiredRequired
OperationalOperationalPoliciesPolicies
OperationsOperationsCapabilitiesCapabilities
Definire un Definire un sistemasistema
esistente o esistente o nuovonuovo
Gestire il Gestire il sistema in sistema in
base al SDMbase al SDM
Alloca e configura Alloca e configura automaticamenteautomaticamente
risorse e configurazionirisorse e configurazioni
STORAGESTORAGESERVERSSERVERS NETWORKINGNETWORKINGSDM DocumentSDM Document
Design per le
Operation
![Page 22: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/22.jpg)
22
Cos’è Indigo
COMExplicit ContractsUbiquity
Indigo
COM+Declarative BehaviorRich Context
MSMQDurable MessagingTransactional Messaging
.NET RemotingDeep CLR Integration Architettura Estendibile
ASMXContratti EsplicitiXML/Data Orientation
![Page 23: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/23.jpg)
23
MessagingMessaging
Service ModelService Model
Indigo Architecture
Hosting EnvironmentsHosting Environments
ApplicationApplication
MessagingMessagingServicesServices
![Page 24: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/24.jpg)
24
Indigo ArchitectureDettaglio
Messaging Services
ApplicationApplication
QueuingQueuing RoutingRouting EventingEventing DiscoveryDiscovery
Service Model
Instance ManagerInstance Manager
Context ManagerContext Manager
TypeIntegrationTypeIntegration
DataContractDataContract
DeclarativeBehaviorsDeclarativeBehaviors
TransactedMethodsTransactedMethods
Messaging
Transport Channels (IPC, HTTP, TCP…)Transport Channels (IPC, HTTP, TCP…)
Channels (Datagram, Reliable, Peer, …)Channels (Datagram, Reliable, Peer, …) Policy EnginePolicy Engine
Message EncoderMessage Encoder
Channel SecurityChannel Security
Hosting EnvironmentsASP.NETASP.NET AvalonAvalon .exe.exe NT ServiceNT Service COM+COM+
![Page 25: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/25.jpg)
25
Channel Model
• Il Canale è il nuovo Socket– Astrae il core I/O in Indigo– SOAP Message-Oriented– Supporta Datagram e Session– Fortemente Estendibile
• Svolge, solo una parte della storia– Contratti / Ad alto livello Metadati– Servizi utilizzano l’infrastruttura di
messaging
![Page 26: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/26.jpg)
26
La Base per i Canali
• IChannel• IOutputChannel
– void Send(Message message);
• IInputChannel– Message Receive();
• IDuplexChannel : IInputChannel, IOutputChannel• IRequestChannel
– Message Request(Message message);
• IReplyChannel– IRequestContext ReceiveRequest();
• I*SessionChannel
![Page 27: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/27.jpg)
27
Listener e Factory
• IChannelFactory– Creazione Attiva di canali per un Servizio
• IChannel CreateChannel<T>(Uri to);– Stackable
• IListenerFactory– Legata ad un indirizzo di rete– Converte Network Stream in Messaggi– Content-Based Message Demux per il Listeners
• IListener– Creazione di un canale dal Client
• IChannel AcceptChannel();– ~ Ricorda qualcosa ?
![Page 28: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/28.jpg)
28
Connecting e Accepting
IChannelFactory
IChannelFactory
IOutputChannel
IOutputChannel
IListener
IInputChannel
…
… …
IListenerFactory
IListenerFactory
1. Service: CreateListener<IInputChannel>(filter, …)
2. Client: CreateChannel<IOutputChannel>3. Client: IOutputChannel.Send(message)4. Service: IListener<…>.AcceptChannel()5. Service: IInputChannel.Receive()
![Page 29: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/29.jpg)
29
Service Runtime
A CLR type che implementa uno o più ServiceContractsService
Un meccanismo per effettuare il dispatch del messaggio al metodoDispatcher
Un meccanismo per “marcare” i type per permettere i comportamenti in base ai contratti
Contract
Un meccanismo per esporre servizi con contratto (via an IListenerFactory)Binding
Un I/O device per il listening dei messaggiListener Factory
![Page 30: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/30.jpg)
30
Hello, World!Service[ServiceBinding(Binding = “Http”, Transport = Transport.Http)][ServiceBinding(Binding = “Tcp”, Transport = Transport.Tcp)][ServiceContract]public interface IConsole{ [ServiceOperation] void WriteLine(string text);
[ServiceOperation] void Write(string text);}
public class MyConsole : IConsole{ public void WriteLine(string text) { Console.WriteLine(text); } public void Write(string text) { Console.Write(text); }}
![Page 31: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/31.jpg)
31
Hello, World!
Client[ServiceContract]public interface IConsole{ [ServiceOperation] void WriteLine(string text);
[ServiceOperation] void Write(string text);}
public static void Main(string args[]){ IConsole console = ProxyFactory.CreateProxy<IConsole> (“http://www.microsoft.com/console”); console.WriteLine(“Hello, World!”);}
![Page 32: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/32.jpg)
32
IListenerFactory
Indigo Channel Stack
Transports
Security
Reliable Messaging
Queues
Notifications
Encoder
IChannelFactory
Transports
Security
Reliable Messaging
Queues
Notifications
Encoder
![Page 33: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/33.jpg)
33
• La Service Orientation è la base per lo sviluppo di Connected System
• La tecnologia .NET permette di utilizzare Connected System basati sugli standard dei Web Services
• Approccio completo dal client ai server • NET mette a disposizione da oggi una piattaforma
completa per lo sviluppo di sistemi Service Oriented• Roadmap futura compatibile con l’esistente ed in
linea con l’evoluzione degli standard collegati ai Web Service
Riepilogo
![Page 34: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/34.jpg)
34
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
![Page 35: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/35.jpg)
35
Crescita .NET
• Running in più del 60% delle Fortune 100
• Più di 70M di sistemi con .NET Framework
• Strong developer ecosystem• ISO standardization• Forrest researh
– 56 % dei nuovi progetti in Nord America con .NET
• Gartner– Microsoft nel quadrante
dei Leader per Applicazioni Enterprise
– Microsoft Leader per i Web Service
0%
50%
100%
150%
200%
250%
300%
350%
Q202 to Q302 Q302 to Q402 Q402 to Q103 Q103 to Q203
Growth of ASP.NET (Netcraft)
![Page 36: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/36.jpg)
36
Web-Services-Enabled Software
The Magic Quadrant is copyrighted 2004 by Gartner, Inc. and is reused with permission. Gartner’s permission to print or reference its Magic Quadrant should not be deemed to be an endorsement of any company or product depicted in the quadrant. The Magic Quadrant is Gartner’s opinion and is an analytical representation of a marketplace at and for a specific time period. It measures vendors against Gartner-defined criteria for a marketplace. The positioning of vendors within a Magic Quadrant is based on the complex interplay of many factors. Gartner does not advise enterprises to select only those firms in the Leaders segment. In some situations, firms in the Visionary, Challenger, or Niche Player segments may be the right match for an enterprise's requirements. Well-informed vendor selection decisions should rely on more than a Magic Quadrant. Gartner research is intended to be one of many information sources including other published information and direct analyst interaction. Gartner expressly disclaims all warranties, express or implied of fitness of this research for a particular purpose.
![Page 37: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/37.jpg)
37
Service Oriented Architecture
Software vendor for mission-critical applications
Mission-Critical Application Survey (Engagement: 220622840 — August 2004)© 2004 Gartner, Inc. and/or its affiliates.
39
19
12
8 7 6 5
34
0
5
10
15
20
25
30
35
40
Microsoft IBM Custom Oracle BEA OpenSource
Sun Altri
![Page 38: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/38.jpg)
38
Web Service Performance8 CPU Web Service Host
1076.951076.95
296.25296.25
513.33513.33
1486.531486.53
0.000.00
200.00200.00
400.00400.00
600.00600.00
800.00800.00
1000.001000.00
1200.001200.00
1400.001400.00
1600.001600.00
J2EE J2EE App Server XApp Server X
Windows 2000Windows 2000Oracle 9i DBOracle 9i DB
JBOSSJBOSSRH Linux 8.0RH Linux 8.0Oracle 9i DBOracle 9i DB
.NET 1.1.NET 1.1Win 2003Win 2003
Oracle 9i DBOracle 9i DB
.NET 1.1.NET 1.1Win 2003Win 2003
SQL Server 2000SQL Server 2000
8 CPU - J2EE8 CPU - J2EE
8 CPU - .Net 1.18 CPU - .Net 1.1
Source: Doculabs Web Service Benchmark, March 2003
411.87411.87
J2EEJ2EEApp Server YApp Server Y
Win 2000Win 2000Oracle 9i DBOracle 9i DB
“It is believed that the high performance results for .NET are due to the fact that Web Services were part of the core .NET framework from the start and not added features on top of an existing framework, as is the case with J2EE. “
-Doculabs, April 2003
![Page 39: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/39.jpg)
39
Gli Analisti
• Giga– Return of the Rich ClientsOrganizations taking a service-oriented architectural (SOA) approach to Organizations taking a service-oriented architectural (SOA) approach to application development should standardize on a stand-alone rich client application development should standardize on a stand-alone rich client
technology since it is best suited to the dynamic consumption of Web technology since it is best suited to the dynamic consumption of Web Services.Services.
![Page 40: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft](https://reader036.vdocuments.us/reader036/viewer/2022062701/5542eb4b497959361e8b7a6c/html5/thumbnails/40.jpg)
40
Gli Analisti
• Giga– How to Decide Between a Browser-Based
or Rich Client
RecommendationsRecommendationsIf applications demand any of the following, then choose a rich-client If applications demand any of the following, then choose a rich-client for the user interface:for the user interface:
•Intensive data input with immediate validation Intensive data input with immediate validation •Latency sensitive applications Latency sensitive applications •Direct data manipulation (sorting, filtering, etc.) Direct data manipulation (sorting, filtering, etc.) •Real-time animation/visualization Real-time animation/visualization •Disconnected operations Disconnected operations •Consumption of Web ServicesConsumption of Web Services