40
1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior .NET Developer Developer & Platform Division Microsoft

1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft

Embed Size (px)

Citation preview

Page 1: 1 Building Connected Systems: Today and Tomorrow Giuseppe Guerrasio Senior.NET Developer Developer & Platform Division Microsoft

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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