(25.03) run 09 - sesiones desarrollo - si 2.0

43
Conociendo Silverlight desde las trincheras Pablo A. Menegol mixplay.tv [email protected] Marcela A. Castagno mixplay.tv [email protected] 25 de Marzo 2009, Paseo La Plaza, Buenos Aires Juan Ladetto Microsoft Argentina [email protected] Leonardo Sailer Global Crossing [email protected]

Upload: microsoft-argentina-y-uruguay-official-space

Post on 13-Dec-2014

391 views

Category:

Documents


0 download

DESCRIPTION

(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

TRANSCRIPT

Page 1: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Conociendo Silverlight desde las trincheras

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

25 de Marzo 2009 Paseo La Plaza Buenos Aires

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

Leo_sailerhotmailcom

Experienciasricas en internet

Sin importarel dispositivo

Ofrecerexperienciasde altacalidad

Tecnologiacutearobusta

Resultadosmaacutes raacutepidos

Pablo A Menegolwwwmixplaytvpmenegolclaxsoncom

Marcela A Castagnowwwmixplaytvmcastagnoclaxsoncom

Mixplaytv ayer

Mixplaytv ayer

Mixplaytv ayer

Maacutes problemas con las tecnologiacuteas tradicionales

bull Extensas jornadas de trabajo bull Inconvenientes en desarrollos multiplaforma

(browser y SO)bull Limitaciones o Condicionamientos en la

creatividad del Productobull La ldquocustomizacioacutenrdquo de las aplicaciones siempre

debiacutean pasar por el equipo de Desarrollo

Mixplaytv ayer

Model View Controller

Mixplaytv hoy

Mixplaytv hoy

bull Model View Controller

bull REST

bull Silverlight

Tecnologiacuteas que posibilitaron el cambio

Mixplaytv hoy

bull Interaccioacuten entre DesarrolloDisentildeobull Workflow maacutes eficientebull Controles con diferentes interfacesbull Raacutepida adopcioacuten de nuevas herramientasbull Reutilizacioacuten de las capacidades en C

bull Interfaces maacutes dinaacutemicas y flexiblesbull eXtreme Programming (XP) interdisciplinariobull Funcionalidades multiplataforma (browser y SO) sin recodificar

Beneficios de Silverlight

Mixplaytv hoy

Interaccioacuten entre Desarrollo y Disentildeo

Mixplaytv hoy

Interfaces Dinaacutemicas y Flexibles

Mixplaytv hoyiquestCon un disentildeadoreXtreme Programming

Mixplaytv hoy

Multiplataforma (Browser y SO)

bull No maneja recursos dinaacutemicos ni en cascadasbull MS Blend no se integra a MS Visual Sourcesafebull Faltan funcionalidades relevante en la versioacuten release 2

de Silverlightbull Implementacioacuten de Triggersbull Datasource en XMLbull Cantidad limitada de layouts y controles

bull Incompatibilidades de XAML entre Visual Studio y Blendbull Problemas de herencia de Objetos en Blendbull No puede utilizarse Motion path o importar swf o psd en

Blend

Mixplaytv hoy

Algunas ldquopiedras en el caminordquo

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 2: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Experienciasricas en internet

Sin importarel dispositivo

Ofrecerexperienciasde altacalidad

Tecnologiacutearobusta

Resultadosmaacutes raacutepidos

Pablo A Menegolwwwmixplaytvpmenegolclaxsoncom

Marcela A Castagnowwwmixplaytvmcastagnoclaxsoncom

Mixplaytv ayer

Mixplaytv ayer

Mixplaytv ayer

Maacutes problemas con las tecnologiacuteas tradicionales

bull Extensas jornadas de trabajo bull Inconvenientes en desarrollos multiplaforma

(browser y SO)bull Limitaciones o Condicionamientos en la

creatividad del Productobull La ldquocustomizacioacutenrdquo de las aplicaciones siempre

debiacutean pasar por el equipo de Desarrollo

Mixplaytv ayer

Model View Controller

Mixplaytv hoy

Mixplaytv hoy

bull Model View Controller

bull REST

bull Silverlight

Tecnologiacuteas que posibilitaron el cambio

Mixplaytv hoy

bull Interaccioacuten entre DesarrolloDisentildeobull Workflow maacutes eficientebull Controles con diferentes interfacesbull Raacutepida adopcioacuten de nuevas herramientasbull Reutilizacioacuten de las capacidades en C

bull Interfaces maacutes dinaacutemicas y flexiblesbull eXtreme Programming (XP) interdisciplinariobull Funcionalidades multiplataforma (browser y SO) sin recodificar

Beneficios de Silverlight

Mixplaytv hoy

Interaccioacuten entre Desarrollo y Disentildeo

Mixplaytv hoy

Interfaces Dinaacutemicas y Flexibles

Mixplaytv hoyiquestCon un disentildeadoreXtreme Programming

Mixplaytv hoy

Multiplataforma (Browser y SO)

bull No maneja recursos dinaacutemicos ni en cascadasbull MS Blend no se integra a MS Visual Sourcesafebull Faltan funcionalidades relevante en la versioacuten release 2

de Silverlightbull Implementacioacuten de Triggersbull Datasource en XMLbull Cantidad limitada de layouts y controles

bull Incompatibilidades de XAML entre Visual Studio y Blendbull Problemas de herencia de Objetos en Blendbull No puede utilizarse Motion path o importar swf o psd en

Blend

Mixplaytv hoy

Algunas ldquopiedras en el caminordquo

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 3: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Ofrecerexperienciasde altacalidad

Tecnologiacutearobusta

Resultadosmaacutes raacutepidos

Pablo A Menegolwwwmixplaytvpmenegolclaxsoncom

Marcela A Castagnowwwmixplaytvmcastagnoclaxsoncom

Mixplaytv ayer

Mixplaytv ayer

Mixplaytv ayer

Maacutes problemas con las tecnologiacuteas tradicionales

bull Extensas jornadas de trabajo bull Inconvenientes en desarrollos multiplaforma

(browser y SO)bull Limitaciones o Condicionamientos en la

creatividad del Productobull La ldquocustomizacioacutenrdquo de las aplicaciones siempre

debiacutean pasar por el equipo de Desarrollo

Mixplaytv ayer

Model View Controller

Mixplaytv hoy

Mixplaytv hoy

bull Model View Controller

bull REST

bull Silverlight

Tecnologiacuteas que posibilitaron el cambio

Mixplaytv hoy

bull Interaccioacuten entre DesarrolloDisentildeobull Workflow maacutes eficientebull Controles con diferentes interfacesbull Raacutepida adopcioacuten de nuevas herramientasbull Reutilizacioacuten de las capacidades en C

bull Interfaces maacutes dinaacutemicas y flexiblesbull eXtreme Programming (XP) interdisciplinariobull Funcionalidades multiplataforma (browser y SO) sin recodificar

Beneficios de Silverlight

Mixplaytv hoy

Interaccioacuten entre Desarrollo y Disentildeo

Mixplaytv hoy

Interfaces Dinaacutemicas y Flexibles

Mixplaytv hoyiquestCon un disentildeadoreXtreme Programming

Mixplaytv hoy

Multiplataforma (Browser y SO)

bull No maneja recursos dinaacutemicos ni en cascadasbull MS Blend no se integra a MS Visual Sourcesafebull Faltan funcionalidades relevante en la versioacuten release 2

de Silverlightbull Implementacioacuten de Triggersbull Datasource en XMLbull Cantidad limitada de layouts y controles

bull Incompatibilidades de XAML entre Visual Studio y Blendbull Problemas de herencia de Objetos en Blendbull No puede utilizarse Motion path o importar swf o psd en

Blend

Mixplaytv hoy

Algunas ldquopiedras en el caminordquo

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 4: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Tecnologiacutearobusta

Resultadosmaacutes raacutepidos

Pablo A Menegolwwwmixplaytvpmenegolclaxsoncom

Marcela A Castagnowwwmixplaytvmcastagnoclaxsoncom

Mixplaytv ayer

Mixplaytv ayer

Mixplaytv ayer

Maacutes problemas con las tecnologiacuteas tradicionales

bull Extensas jornadas de trabajo bull Inconvenientes en desarrollos multiplaforma

(browser y SO)bull Limitaciones o Condicionamientos en la

creatividad del Productobull La ldquocustomizacioacutenrdquo de las aplicaciones siempre

debiacutean pasar por el equipo de Desarrollo

Mixplaytv ayer

Model View Controller

Mixplaytv hoy

Mixplaytv hoy

bull Model View Controller

bull REST

bull Silverlight

Tecnologiacuteas que posibilitaron el cambio

Mixplaytv hoy

bull Interaccioacuten entre DesarrolloDisentildeobull Workflow maacutes eficientebull Controles con diferentes interfacesbull Raacutepida adopcioacuten de nuevas herramientasbull Reutilizacioacuten de las capacidades en C

bull Interfaces maacutes dinaacutemicas y flexiblesbull eXtreme Programming (XP) interdisciplinariobull Funcionalidades multiplataforma (browser y SO) sin recodificar

Beneficios de Silverlight

Mixplaytv hoy

Interaccioacuten entre Desarrollo y Disentildeo

Mixplaytv hoy

Interfaces Dinaacutemicas y Flexibles

Mixplaytv hoyiquestCon un disentildeadoreXtreme Programming

Mixplaytv hoy

Multiplataforma (Browser y SO)

bull No maneja recursos dinaacutemicos ni en cascadasbull MS Blend no se integra a MS Visual Sourcesafebull Faltan funcionalidades relevante en la versioacuten release 2

de Silverlightbull Implementacioacuten de Triggersbull Datasource en XMLbull Cantidad limitada de layouts y controles

bull Incompatibilidades de XAML entre Visual Studio y Blendbull Problemas de herencia de Objetos en Blendbull No puede utilizarse Motion path o importar swf o psd en

Blend

Mixplaytv hoy

Algunas ldquopiedras en el caminordquo

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 5: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Resultadosmaacutes raacutepidos

Pablo A Menegolwwwmixplaytvpmenegolclaxsoncom

Marcela A Castagnowwwmixplaytvmcastagnoclaxsoncom

Mixplaytv ayer

Mixplaytv ayer

Mixplaytv ayer

Maacutes problemas con las tecnologiacuteas tradicionales

bull Extensas jornadas de trabajo bull Inconvenientes en desarrollos multiplaforma

(browser y SO)bull Limitaciones o Condicionamientos en la

creatividad del Productobull La ldquocustomizacioacutenrdquo de las aplicaciones siempre

debiacutean pasar por el equipo de Desarrollo

Mixplaytv ayer

Model View Controller

Mixplaytv hoy

Mixplaytv hoy

bull Model View Controller

bull REST

bull Silverlight

Tecnologiacuteas que posibilitaron el cambio

Mixplaytv hoy

bull Interaccioacuten entre DesarrolloDisentildeobull Workflow maacutes eficientebull Controles con diferentes interfacesbull Raacutepida adopcioacuten de nuevas herramientasbull Reutilizacioacuten de las capacidades en C

bull Interfaces maacutes dinaacutemicas y flexiblesbull eXtreme Programming (XP) interdisciplinariobull Funcionalidades multiplataforma (browser y SO) sin recodificar

Beneficios de Silverlight

Mixplaytv hoy

Interaccioacuten entre Desarrollo y Disentildeo

Mixplaytv hoy

Interfaces Dinaacutemicas y Flexibles

Mixplaytv hoyiquestCon un disentildeadoreXtreme Programming

Mixplaytv hoy

Multiplataforma (Browser y SO)

bull No maneja recursos dinaacutemicos ni en cascadasbull MS Blend no se integra a MS Visual Sourcesafebull Faltan funcionalidades relevante en la versioacuten release 2

de Silverlightbull Implementacioacuten de Triggersbull Datasource en XMLbull Cantidad limitada de layouts y controles

bull Incompatibilidades de XAML entre Visual Studio y Blendbull Problemas de herencia de Objetos en Blendbull No puede utilizarse Motion path o importar swf o psd en

Blend

Mixplaytv hoy

Algunas ldquopiedras en el caminordquo

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 6: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Pablo A Menegolwwwmixplaytvpmenegolclaxsoncom

Marcela A Castagnowwwmixplaytvmcastagnoclaxsoncom

Mixplaytv ayer

Mixplaytv ayer

Mixplaytv ayer

Maacutes problemas con las tecnologiacuteas tradicionales

bull Extensas jornadas de trabajo bull Inconvenientes en desarrollos multiplaforma

(browser y SO)bull Limitaciones o Condicionamientos en la

creatividad del Productobull La ldquocustomizacioacutenrdquo de las aplicaciones siempre

debiacutean pasar por el equipo de Desarrollo

Mixplaytv ayer

Model View Controller

Mixplaytv hoy

Mixplaytv hoy

bull Model View Controller

bull REST

bull Silverlight

Tecnologiacuteas que posibilitaron el cambio

Mixplaytv hoy

bull Interaccioacuten entre DesarrolloDisentildeobull Workflow maacutes eficientebull Controles con diferentes interfacesbull Raacutepida adopcioacuten de nuevas herramientasbull Reutilizacioacuten de las capacidades en C

bull Interfaces maacutes dinaacutemicas y flexiblesbull eXtreme Programming (XP) interdisciplinariobull Funcionalidades multiplataforma (browser y SO) sin recodificar

Beneficios de Silverlight

Mixplaytv hoy

Interaccioacuten entre Desarrollo y Disentildeo

Mixplaytv hoy

Interfaces Dinaacutemicas y Flexibles

Mixplaytv hoyiquestCon un disentildeadoreXtreme Programming

Mixplaytv hoy

Multiplataforma (Browser y SO)

bull No maneja recursos dinaacutemicos ni en cascadasbull MS Blend no se integra a MS Visual Sourcesafebull Faltan funcionalidades relevante en la versioacuten release 2

de Silverlightbull Implementacioacuten de Triggersbull Datasource en XMLbull Cantidad limitada de layouts y controles

bull Incompatibilidades de XAML entre Visual Studio y Blendbull Problemas de herencia de Objetos en Blendbull No puede utilizarse Motion path o importar swf o psd en

Blend

Mixplaytv hoy

Algunas ldquopiedras en el caminordquo

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 7: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Mixplaytv ayer

Mixplaytv ayer

Mixplaytv ayer

Maacutes problemas con las tecnologiacuteas tradicionales

bull Extensas jornadas de trabajo bull Inconvenientes en desarrollos multiplaforma

(browser y SO)bull Limitaciones o Condicionamientos en la

creatividad del Productobull La ldquocustomizacioacutenrdquo de las aplicaciones siempre

debiacutean pasar por el equipo de Desarrollo

Mixplaytv ayer

Model View Controller

Mixplaytv hoy

Mixplaytv hoy

bull Model View Controller

bull REST

bull Silverlight

Tecnologiacuteas que posibilitaron el cambio

Mixplaytv hoy

bull Interaccioacuten entre DesarrolloDisentildeobull Workflow maacutes eficientebull Controles con diferentes interfacesbull Raacutepida adopcioacuten de nuevas herramientasbull Reutilizacioacuten de las capacidades en C

bull Interfaces maacutes dinaacutemicas y flexiblesbull eXtreme Programming (XP) interdisciplinariobull Funcionalidades multiplataforma (browser y SO) sin recodificar

Beneficios de Silverlight

Mixplaytv hoy

Interaccioacuten entre Desarrollo y Disentildeo

Mixplaytv hoy

Interfaces Dinaacutemicas y Flexibles

Mixplaytv hoyiquestCon un disentildeadoreXtreme Programming

Mixplaytv hoy

Multiplataforma (Browser y SO)

bull No maneja recursos dinaacutemicos ni en cascadasbull MS Blend no se integra a MS Visual Sourcesafebull Faltan funcionalidades relevante en la versioacuten release 2

de Silverlightbull Implementacioacuten de Triggersbull Datasource en XMLbull Cantidad limitada de layouts y controles

bull Incompatibilidades de XAML entre Visual Studio y Blendbull Problemas de herencia de Objetos en Blendbull No puede utilizarse Motion path o importar swf o psd en

Blend

Mixplaytv hoy

Algunas ldquopiedras en el caminordquo

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 8: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Mixplaytv ayer

Mixplaytv ayer

Maacutes problemas con las tecnologiacuteas tradicionales

bull Extensas jornadas de trabajo bull Inconvenientes en desarrollos multiplaforma

(browser y SO)bull Limitaciones o Condicionamientos en la

creatividad del Productobull La ldquocustomizacioacutenrdquo de las aplicaciones siempre

debiacutean pasar por el equipo de Desarrollo

Mixplaytv ayer

Model View Controller

Mixplaytv hoy

Mixplaytv hoy

bull Model View Controller

bull REST

bull Silverlight

Tecnologiacuteas que posibilitaron el cambio

Mixplaytv hoy

bull Interaccioacuten entre DesarrolloDisentildeobull Workflow maacutes eficientebull Controles con diferentes interfacesbull Raacutepida adopcioacuten de nuevas herramientasbull Reutilizacioacuten de las capacidades en C

bull Interfaces maacutes dinaacutemicas y flexiblesbull eXtreme Programming (XP) interdisciplinariobull Funcionalidades multiplataforma (browser y SO) sin recodificar

Beneficios de Silverlight

Mixplaytv hoy

Interaccioacuten entre Desarrollo y Disentildeo

Mixplaytv hoy

Interfaces Dinaacutemicas y Flexibles

Mixplaytv hoyiquestCon un disentildeadoreXtreme Programming

Mixplaytv hoy

Multiplataforma (Browser y SO)

bull No maneja recursos dinaacutemicos ni en cascadasbull MS Blend no se integra a MS Visual Sourcesafebull Faltan funcionalidades relevante en la versioacuten release 2

de Silverlightbull Implementacioacuten de Triggersbull Datasource en XMLbull Cantidad limitada de layouts y controles

bull Incompatibilidades de XAML entre Visual Studio y Blendbull Problemas de herencia de Objetos en Blendbull No puede utilizarse Motion path o importar swf o psd en

Blend

Mixplaytv hoy

Algunas ldquopiedras en el caminordquo

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 9: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Mixplaytv ayer

Maacutes problemas con las tecnologiacuteas tradicionales

bull Extensas jornadas de trabajo bull Inconvenientes en desarrollos multiplaforma

(browser y SO)bull Limitaciones o Condicionamientos en la

creatividad del Productobull La ldquocustomizacioacutenrdquo de las aplicaciones siempre

debiacutean pasar por el equipo de Desarrollo

Mixplaytv ayer

Model View Controller

Mixplaytv hoy

Mixplaytv hoy

bull Model View Controller

bull REST

bull Silverlight

Tecnologiacuteas que posibilitaron el cambio

Mixplaytv hoy

bull Interaccioacuten entre DesarrolloDisentildeobull Workflow maacutes eficientebull Controles con diferentes interfacesbull Raacutepida adopcioacuten de nuevas herramientasbull Reutilizacioacuten de las capacidades en C

bull Interfaces maacutes dinaacutemicas y flexiblesbull eXtreme Programming (XP) interdisciplinariobull Funcionalidades multiplataforma (browser y SO) sin recodificar

Beneficios de Silverlight

Mixplaytv hoy

Interaccioacuten entre Desarrollo y Disentildeo

Mixplaytv hoy

Interfaces Dinaacutemicas y Flexibles

Mixplaytv hoyiquestCon un disentildeadoreXtreme Programming

Mixplaytv hoy

Multiplataforma (Browser y SO)

bull No maneja recursos dinaacutemicos ni en cascadasbull MS Blend no se integra a MS Visual Sourcesafebull Faltan funcionalidades relevante en la versioacuten release 2

de Silverlightbull Implementacioacuten de Triggersbull Datasource en XMLbull Cantidad limitada de layouts y controles

bull Incompatibilidades de XAML entre Visual Studio y Blendbull Problemas de herencia de Objetos en Blendbull No puede utilizarse Motion path o importar swf o psd en

Blend

Mixplaytv hoy

Algunas ldquopiedras en el caminordquo

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 10: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Maacutes problemas con las tecnologiacuteas tradicionales

bull Extensas jornadas de trabajo bull Inconvenientes en desarrollos multiplaforma

(browser y SO)bull Limitaciones o Condicionamientos en la

creatividad del Productobull La ldquocustomizacioacutenrdquo de las aplicaciones siempre

debiacutean pasar por el equipo de Desarrollo

Mixplaytv ayer

Model View Controller

Mixplaytv hoy

Mixplaytv hoy

bull Model View Controller

bull REST

bull Silverlight

Tecnologiacuteas que posibilitaron el cambio

Mixplaytv hoy

bull Interaccioacuten entre DesarrolloDisentildeobull Workflow maacutes eficientebull Controles con diferentes interfacesbull Raacutepida adopcioacuten de nuevas herramientasbull Reutilizacioacuten de las capacidades en C

bull Interfaces maacutes dinaacutemicas y flexiblesbull eXtreme Programming (XP) interdisciplinariobull Funcionalidades multiplataforma (browser y SO) sin recodificar

Beneficios de Silverlight

Mixplaytv hoy

Interaccioacuten entre Desarrollo y Disentildeo

Mixplaytv hoy

Interfaces Dinaacutemicas y Flexibles

Mixplaytv hoyiquestCon un disentildeadoreXtreme Programming

Mixplaytv hoy

Multiplataforma (Browser y SO)

bull No maneja recursos dinaacutemicos ni en cascadasbull MS Blend no se integra a MS Visual Sourcesafebull Faltan funcionalidades relevante en la versioacuten release 2

de Silverlightbull Implementacioacuten de Triggersbull Datasource en XMLbull Cantidad limitada de layouts y controles

bull Incompatibilidades de XAML entre Visual Studio y Blendbull Problemas de herencia de Objetos en Blendbull No puede utilizarse Motion path o importar swf o psd en

Blend

Mixplaytv hoy

Algunas ldquopiedras en el caminordquo

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 11: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Model View Controller

Mixplaytv hoy

Mixplaytv hoy

bull Model View Controller

bull REST

bull Silverlight

Tecnologiacuteas que posibilitaron el cambio

Mixplaytv hoy

bull Interaccioacuten entre DesarrolloDisentildeobull Workflow maacutes eficientebull Controles con diferentes interfacesbull Raacutepida adopcioacuten de nuevas herramientasbull Reutilizacioacuten de las capacidades en C

bull Interfaces maacutes dinaacutemicas y flexiblesbull eXtreme Programming (XP) interdisciplinariobull Funcionalidades multiplataforma (browser y SO) sin recodificar

Beneficios de Silverlight

Mixplaytv hoy

Interaccioacuten entre Desarrollo y Disentildeo

Mixplaytv hoy

Interfaces Dinaacutemicas y Flexibles

Mixplaytv hoyiquestCon un disentildeadoreXtreme Programming

Mixplaytv hoy

Multiplataforma (Browser y SO)

bull No maneja recursos dinaacutemicos ni en cascadasbull MS Blend no se integra a MS Visual Sourcesafebull Faltan funcionalidades relevante en la versioacuten release 2

de Silverlightbull Implementacioacuten de Triggersbull Datasource en XMLbull Cantidad limitada de layouts y controles

bull Incompatibilidades de XAML entre Visual Studio y Blendbull Problemas de herencia de Objetos en Blendbull No puede utilizarse Motion path o importar swf o psd en

Blend

Mixplaytv hoy

Algunas ldquopiedras en el caminordquo

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 12: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Mixplaytv hoy

bull Model View Controller

bull REST

bull Silverlight

Tecnologiacuteas que posibilitaron el cambio

Mixplaytv hoy

bull Interaccioacuten entre DesarrolloDisentildeobull Workflow maacutes eficientebull Controles con diferentes interfacesbull Raacutepida adopcioacuten de nuevas herramientasbull Reutilizacioacuten de las capacidades en C

bull Interfaces maacutes dinaacutemicas y flexiblesbull eXtreme Programming (XP) interdisciplinariobull Funcionalidades multiplataforma (browser y SO) sin recodificar

Beneficios de Silverlight

Mixplaytv hoy

Interaccioacuten entre Desarrollo y Disentildeo

Mixplaytv hoy

Interfaces Dinaacutemicas y Flexibles

Mixplaytv hoyiquestCon un disentildeadoreXtreme Programming

Mixplaytv hoy

Multiplataforma (Browser y SO)

bull No maneja recursos dinaacutemicos ni en cascadasbull MS Blend no se integra a MS Visual Sourcesafebull Faltan funcionalidades relevante en la versioacuten release 2

de Silverlightbull Implementacioacuten de Triggersbull Datasource en XMLbull Cantidad limitada de layouts y controles

bull Incompatibilidades de XAML entre Visual Studio y Blendbull Problemas de herencia de Objetos en Blendbull No puede utilizarse Motion path o importar swf o psd en

Blend

Mixplaytv hoy

Algunas ldquopiedras en el caminordquo

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 13: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Mixplaytv hoy

bull Interaccioacuten entre DesarrolloDisentildeobull Workflow maacutes eficientebull Controles con diferentes interfacesbull Raacutepida adopcioacuten de nuevas herramientasbull Reutilizacioacuten de las capacidades en C

bull Interfaces maacutes dinaacutemicas y flexiblesbull eXtreme Programming (XP) interdisciplinariobull Funcionalidades multiplataforma (browser y SO) sin recodificar

Beneficios de Silverlight

Mixplaytv hoy

Interaccioacuten entre Desarrollo y Disentildeo

Mixplaytv hoy

Interfaces Dinaacutemicas y Flexibles

Mixplaytv hoyiquestCon un disentildeadoreXtreme Programming

Mixplaytv hoy

Multiplataforma (Browser y SO)

bull No maneja recursos dinaacutemicos ni en cascadasbull MS Blend no se integra a MS Visual Sourcesafebull Faltan funcionalidades relevante en la versioacuten release 2

de Silverlightbull Implementacioacuten de Triggersbull Datasource en XMLbull Cantidad limitada de layouts y controles

bull Incompatibilidades de XAML entre Visual Studio y Blendbull Problemas de herencia de Objetos en Blendbull No puede utilizarse Motion path o importar swf o psd en

Blend

Mixplaytv hoy

Algunas ldquopiedras en el caminordquo

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 14: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Mixplaytv hoy

Interaccioacuten entre Desarrollo y Disentildeo

Mixplaytv hoy

Interfaces Dinaacutemicas y Flexibles

Mixplaytv hoyiquestCon un disentildeadoreXtreme Programming

Mixplaytv hoy

Multiplataforma (Browser y SO)

bull No maneja recursos dinaacutemicos ni en cascadasbull MS Blend no se integra a MS Visual Sourcesafebull Faltan funcionalidades relevante en la versioacuten release 2

de Silverlightbull Implementacioacuten de Triggersbull Datasource en XMLbull Cantidad limitada de layouts y controles

bull Incompatibilidades de XAML entre Visual Studio y Blendbull Problemas de herencia de Objetos en Blendbull No puede utilizarse Motion path o importar swf o psd en

Blend

Mixplaytv hoy

Algunas ldquopiedras en el caminordquo

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 15: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Mixplaytv hoy

Interfaces Dinaacutemicas y Flexibles

Mixplaytv hoyiquestCon un disentildeadoreXtreme Programming

Mixplaytv hoy

Multiplataforma (Browser y SO)

bull No maneja recursos dinaacutemicos ni en cascadasbull MS Blend no se integra a MS Visual Sourcesafebull Faltan funcionalidades relevante en la versioacuten release 2

de Silverlightbull Implementacioacuten de Triggersbull Datasource en XMLbull Cantidad limitada de layouts y controles

bull Incompatibilidades de XAML entre Visual Studio y Blendbull Problemas de herencia de Objetos en Blendbull No puede utilizarse Motion path o importar swf o psd en

Blend

Mixplaytv hoy

Algunas ldquopiedras en el caminordquo

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 16: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Mixplaytv hoyiquestCon un disentildeadoreXtreme Programming

Mixplaytv hoy

Multiplataforma (Browser y SO)

bull No maneja recursos dinaacutemicos ni en cascadasbull MS Blend no se integra a MS Visual Sourcesafebull Faltan funcionalidades relevante en la versioacuten release 2

de Silverlightbull Implementacioacuten de Triggersbull Datasource en XMLbull Cantidad limitada de layouts y controles

bull Incompatibilidades de XAML entre Visual Studio y Blendbull Problemas de herencia de Objetos en Blendbull No puede utilizarse Motion path o importar swf o psd en

Blend

Mixplaytv hoy

Algunas ldquopiedras en el caminordquo

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 17: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Mixplaytv hoy

Multiplataforma (Browser y SO)

bull No maneja recursos dinaacutemicos ni en cascadasbull MS Blend no se integra a MS Visual Sourcesafebull Faltan funcionalidades relevante en la versioacuten release 2

de Silverlightbull Implementacioacuten de Triggersbull Datasource en XMLbull Cantidad limitada de layouts y controles

bull Incompatibilidades de XAML entre Visual Studio y Blendbull Problemas de herencia de Objetos en Blendbull No puede utilizarse Motion path o importar swf o psd en

Blend

Mixplaytv hoy

Algunas ldquopiedras en el caminordquo

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 18: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

bull No maneja recursos dinaacutemicos ni en cascadasbull MS Blend no se integra a MS Visual Sourcesafebull Faltan funcionalidades relevante en la versioacuten release 2

de Silverlightbull Implementacioacuten de Triggersbull Datasource en XMLbull Cantidad limitada de layouts y controles

bull Incompatibilidades de XAML entre Visual Studio y Blendbull Problemas de herencia de Objetos en Blendbull No puede utilizarse Motion path o importar swf o psd en

Blend

Mixplaytv hoy

Algunas ldquopiedras en el caminordquo

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 19: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Mixplaytv hoy

El resultado de nuestro desafiacuteo

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 20: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

mcastagnoclaxsoncom | pmenegolclaxsoncom

wwwmixplaytv

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 21: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Ing Leonardo SailerApplication Architect

IT - Latin American amp CaribbeanLeo_sailerhotmailcom

Nuestra Experiencia

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 22: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Necesidad Visualizacioacuten y Monitoreo de las redes de comunicaciones

Desafiacuteo Como implementar una Solucioacuten efectiva y eficaz sin incorporar nuevos recursos procurando que los clientes ldquovean lo mismo que nosotrosrdquo

ObjetivosVisualizacioacuten de la documentacioacuten de la red en forma esquemaacutetica (tipo Visio )Monitoreo de eventos no solo de caiacutedas de red sino tambieacuten de performanceUacutenico repositorio de datos (evitar inconsistencias en Service Assurance)Minimizar equipos de desarrollo mantenimiento y helpdeskAprovechamiento de la Estructura Interna Existente (DokuViz - ActiveX)

Solucioacuten

Nace Dokulight en base al Silverlight 10 beta

2007 Comienzos

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 23: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

VentajasRepositorio Uacutenico Clientes e Ingenieros ven lo mismoUpdates y Nuevos Releases simplificadosInterface de Usuario web enriquecidaTeam de desarrollo y Help Desk UnificadoMiacutenima inversioacuten monetariaIntegracioacuten total con el OSS Interno (Operation Support Services)Managed Code - Net Improvements WPF = Rich interface MultiplataformaMenor ldquopesordquo de Instalacioacuten comparada a un ActiveX (6Mb a 15Mb)

DesventajasNo existiacutean controles comerciales disponibles ( hubo que implementar cosas baacutesicas toolbars move resize shapes lines etc)Escasa DocumentacioacutenVersiones Betas con cambios importantes que obligaban a reconsiderar patrones adoptados (ej RenderAsBitmap) y pobre integracioacuten con Blend

DokuLight = LOB Silverlight

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 24: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Dokulight v213365 con Silverlight 20310050100 del Coacutedigo sin Componentes Externos en VBNET90 de GUI ImplementadaNavegacioacuten baacutesica implementadaIntegrado al OSS con visualizacioacuten de eventos usando State ManagementGeoCoding para las Ubicaciones de Clientes usando MultiScaleImage Deep Zoom y LiveMaps ImagineryWeb Services Async para la obtencioacuten de los datosMultiThreading para el rendering de los objetos de pantallasImplementacioacuten de Isolated Storage para persistencia de datosSerialization para trabajo offlineTesteado con Internet Explorer Safari FireFox y Opera

2008

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 25: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Isolated Storage

Persistencia de datosResguardoDim IOSTREAM As IsolatedStorageFileStreamDim store As IsolatedStorageFile = IsolatedStorageFileGetUserStoreForApplication()

If Not storeDirectoryExists(subDirName) Then storeCreateDirectory(subDirName)

If Not storeFileExists(sfilename)ThenIOSTREAM = storeCreateFile(sFile)

ElseIOSTREAM = storeOpenFile(sFile IOFileModeTruncate)

End If

IOSTREAMWrite( IOSTREAMClose()

RecuperacioacutenIOSTREAM = storeOpenFile(sFile IOFileModeOpen)IOSTREAMRead(

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 26: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Asynchronous Web Services

Recepcioacuten de DatosLlamada al WSDim wsNMS As SrvNMSDKNMSDKLSrvSoapClient = GetWsMNGTClassGetWSDim Request As New SrvNMSDKGetScreenReq

AddHandler wsNMSGetScreenCompleted AddressOf GetScreenCompletedwsNMSGetScreenAsync(Request Screen)

Recepcioacuten WSPrivate Sub GetScreenCompleted(ByVal sender As Object ByVal e As SrvNMSDKGetScreenCompletedEventArgs)

If e Is Nothing OrElse eResult Is Nothing Then

If eResultErrorResp IsNot Nothing Then

If eResultDkvData Is Nothing Then

Dim ScreenData() As SrvNMSDKDvData = eResultDkvData

If ScreenDataLength gt 0 Then

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 27: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Multithreading

Procesando en BackgroundLlamada WorkerDim MyThre As New SystemComponentModelBackgroundWorker

AddHandler MyThreDoWork AddressOf ProcRRGetScreenDoWorkAddHandler MyThreProgressChanged AddressOf ProcRRGetScreenChangedAddHandler MyThreRunWorkerCompleted AddressOf ProcRRGetScreenCompleted

MyThreWorkerReportsProgress = TrueMyThreRunWorkerAsync(eResultDkvData)

Ejecucioacuten WorkerPrivate Sub ProcRRGetScreenDoWork(ByVal sender As Object ByVal e As SystemComponentModelDoWorkEventArgs)

Dim bck As SystemComponentModelBackgroundWorker = CType(sender SystemComponentModelBackgroundWorker)

Dim ScreenData() As SrvNMSDKDvData = CType(eArgument SrvNMSDKDvData())

ThisPageDispatcherBeginInvoke(PrgBarInitialDispatcher MyNodesCount - 1 0 0)

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 28: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Geocoding

DeepZoom LiveMapsManejo de los Mapashttpwwwcodeplexcomdeepearth msiSource = New VETileSource(MapStyleAerial StringFormat(0VE_files InputParamPath)ToString)

Public Sub New(ByVal mapStyleval As MapStyle ByVal Path As String)MyBaseNew(134217728 134217728 256 256 0)myActiveMapStyle = mapStylevalmPath = Path

End Sub

Private Const Protocol As String = httpPrivate Const Suffix As String = jpegg=159ldquoPrivate Const TilePath As String = orthotilesvirtualearthnettilesldquoPrivate mPath As String = httpPathVE_files

Dim p As Point = clsMapHelperLatLongToPoint(latLong myMSI)opinSetValue(CanvasTopProperty pY)opinSetValue(CanvasLeftProperty pX)

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 29: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

VisualState Manager

Visualizacioacuten de EventosDefinicioacuten

ltvsmVisualStateManagerVisualStateGroupsgtltvsmVisualStateGroup xName=NMS_Statesgt

ltvsmVisualStateGroupTransitionsgtltvsmVisualTransition GeneratedDuration=0000002500000 To=State1R gt

ltvsmVisualState xName=State1RgtStoryboardTargetProperty=(PanelBackground)(GradientBrushGradientStops)[1](GradientStopColor)gtltSplineColorKeyFrame KeyTime=000000 Value=FF00FF00gtltColorAnimationUsingKeyFrames BeginTime=000000 Duration=0000000010000 StoryboardTargetName=LayoutRoot

Ejecucioacuten

VisualStateManagerGoToState(oIcon State1R True)

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 30: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Proacuteximos Pasos

Migracioacuten a Silverlight 3 Mejoras visuales integrar a un Disentildeador al equipoImplementacioacuten de TemasGraacuteficos baacutesicos de performance y de eventosAnaacutelisis implementacioacuten de Componentes Externos (AddFlow Lasalle Dundas Charts WebAqua Toolbars y Controls )

2009+

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 31: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Leo_sailerhotmailcomhttpsilverlightnetCommunityhttpsilverlightnetLearnhttpsilverlightnetforumshttpwwwcodeplexcomdeepearth

bullJoe Stegmans Blog httpblogsmsdncomjstegmanbullScott Guthrie Blog httpweblogsaspnetscottgubull Tim Heuerrsquos Blog httptimheuercomblogbullMike Harshs Blog httpblogsmsdncommharshbullSomasegars BLog httpblogsmsdncomsomasegarbullLaurence Moroneys Blog httpblogsmsdncomwebnextbullTim Sneaths Blog httpblogsmsdncomtims bullDave L Campbells Blog httpwwwwynapsecom

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 32: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Resumen

Isolated Storage

Asynchronous Web request Calls

Asynchronous net Web Services Calls

DeepZoom

Visual Studio 2008

Expression Blend

Modelo de Integracioacuten paralela

Linq

Visual Basic

C

DLR

XAML

MultiThreading

DRM WMS

Custom Controls

Y mucho maacutes

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 33: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Instalar Silverlight 2 runtime

Bajar Visual Studio 2008 SP 1

Microsoft Silverlight Tools for Visual Studio 2008 SP1

Silverlight 2 application project template

Silverlight 2 control library project template Expression Blend 20 SP 1

Experiencias ricas

Opciones de sync con Visual Studio Silverlight 2 SDK

wwwsilverlightnetlearn

Coacutemo empezarhttpsilverlightnetgetstarted

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 34: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Reproduccioacuten de video en formatos mpeg4 H 264 Audio en formato AAC

Soporte para

temas cascade styles nuevas animaciones

60+ controles con coacutedigo fuenteFunciona fuera del browser

deteccioacuten de estado de conexioacuten Sin necesidad de instalacioacuten

Deep linkingMultitouchExpression blend 3 con posibilidad de control de coacutedigo

Silverlight 3httpsilverlightnetgetstartedsilverlight3

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 35: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

iquestSorteos

Recuerde completar los formularios de evaluacioacuten

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom

Page 36: (25.03) RUN 09 - Sesiones Desarrollo - SI 2.0

Pablo A Menegolmixplaytvpmenegolclaxsoncom

Marcela A Castagnomixplaytvmcastagnoclaxsoncom

Juan LadettoMicrosoft Argentina

juanlmicrosoftcom

Leonardo SailerGlobal Crossing

leonardosailerglobalcrossingcom