SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Aplicaciones de
Negocio con
Silverlight 5
…+ SharePoint ☺
¿Quién soy?
• Rodrigo Díaz Concha
– Blog: rdiazconcha.com
– E-mail: rodrigo@rdiazconcha.com
– Twitter: @rdiazconcha
• Microsoft Silverlight MVP, MCSD, MCTS, MCPD, MCT,
Orador de INETA Latam
• Master Trainer de Silverlight (Silverlight Tour)
– silverlight-tour.com
• Fundador de La Liga Silverlight – Primer Comunidad
MSDN en Español acerca de Silverlight
– blogs.LigaSilverlight.com
• Orador frecuente en eventos en Guatemala, El Salvador,
Costa Rica, Venezuela, Colombia, Perú, Chile y México
Agenda
• ¿Silverlight?
• Arquitectura de Aplicaciones Silverlight
• Aplicaciones de Escritorio
• Acceso a Datos
• Enlace de Datos
• El Patrón de Diseño Model-View-
ViewModel (MVVM)
¿Silverlight?
¿Silverlight?
• La realidad:
– Silverlight 5 será liberado muy pronto
– 1 millón de desarrolladores
– Adopción creciente
– Plataforma de desarrollo para Windows
Phone 7.x
– Hay un equipo entero para XAML en
Windows 8
– No compite con HTML 5
¿Qué usar?
WebParts de Silverlight
Aplicaciones de Escritorio
• Se configuran en las
Propiedades del
Proyecto de
Silverlight
• Se crea el archivo
OutOfBrowserSettings.x
ml
– Al compilar, se mezcla
con el Manifiesto<OutOfBrowserSettings
ShortName="Ejemplo"
EnableGPUAcceleration="False"
ShowInstallMenuItem="True">
<OutOfBrowserSettings.Blurb>Esto es un
ejemplo</OutOfBrowserSettings.Blurb>
<OutOfBrowserSettings.WindowSettings>
<WindowSettings Title="Ejemplo"
Height="480" Width="640" Top="10"
Left="10" WindowStartupLocation="Manual"
/>
</OutOfBrowserSettings.WindowSettings>
<OutOfBrowserSettings.Icons />
</OutOfBrowserSettings>
Aplicaciones de Escritorio
• El usuario debe permitir explícitamente la
instalación y definir el lugar para los
accesos directos
• Por seguridad: el botón de OK tarda 3
segundos en habilitarse
Aplicaciones de Escritorio
• Pueden ejecutar como cualquier otra
aplicación de escritorio
– Confianza Parcial (por defecto)
– Confianza Elevada (opcional)
DEMO: CREANDO UNA
APLICACIÓN DE ESCRITORIO
Acceso a Datos
• SharePoint
– Modelo de Objetos de SharePoint (a partir de 2010)
– Servicios Web de SharePoint
• No SharePoint
– Servicios SOAP
– Servicios REST
– WCF
– WCF Data Services
– WCF RIA Services
– … etc. !
Acceso a Datos
• Modelo de Objetos de SharePoint para
Silverlight
– Microsoft.SharePoint.Client.dll
– http://msdn.microsoft.com/en-
us/library/ee537855.aspx
ClientContext clientContext =
ClientContext.Current;
oWebsite = clientContext.Web; ListCollection
collList = oWebsite.Lists;
//Usa los datos obtenidos
Acceso a Datos
• Proxies cliente
– Agregando la referencia a un Servicio Web
autodescriptivo (WSDL)
• WebClient
• HttpWebRequest / HttpWebResponse
Manejo de Datos
• XML
– LINQ para XML
– XmlReader
– XmlSerializer
• JSON
– DataContractJsonSerializer
– JSON.NET
• POCO
DEMO: ACCEDIENDO
SERVICIOS SOAP Y REST
Enlace de Datos
• Modelo sencillo y poderos
• Permite una separación de
preocupaciones entre las diferentes capas
• No modificas directamente los controles
Control Destino Objeto Fuente
DEMO: ENLACE DE DATOS
¿Qué es MVVM?
• Patrón de Diseño natural para plataformas de
XAML
– {Binding}
• Ventajas
– Separación de preocupaciones
– Pruebas Unitarias
– Mantenimiento de código
– Consistencia
– Desacoplamiento
– Flujo de trabajo entre diseñadores y
desarrolladores
Model-View-ViewModel
ViewViewViewView
ViewModelViewModelViewModelViewModel
ModelModelModelModel
Model-View-ViewModel
• Vista
– Interface de Usuario
– Estilos, Recursos
– UserControl, Page,
ChildWindow,
DataTemplate
– El Contexto de Datos es
el ViewModel
– Poco o nada de code-
behind
– Actualizada a través de
Bindings
– Comportamientos
ViewViewViewView
ViewModelViewModelViewModelViewModel
ModelModelModelModel
Model-View-ViewModel
• Modelo de la Vista
– Abstracción de la Vista
– Adapta el Modelo a la Vista
– Mantiene el estado
– Expone propiedades a las
que se enlaza la Vista
(datos y Comandos)
– Expone métodos que los
Comportamientos de una
Vista pueden invocar
– Desacoplamiento y
Testability es el objetivo
principal
ViewViewViewView
ViewModelViewModelViewModelViewModel
ModelModelModelModel
Model-View-ViewModel
• Modelo
– Tu dominio
– Objetos de datos
• DTO, POCO
• Modelo de datos
generado
• Modelo de proxy
generado
– Capa de Servicios
• Repositorios
• Objetos de Negocio
ViewViewViewView
ViewModelViewModelViewModelViewModel
ModelModelModelModel
DEMO: MVVM
Patrocinadores
Platino
Oro
Plata
Recuerde completar
la evaluaciòn de la charla
¡Gracias!
@rdiazconcha
Aplicaciones de linea de negocio con silverlight y share point

Más contenido relacionado

La actualidad más candente

Construyendo RIA con Silverlight 2
Construyendo RIA con Silverlight 2Construyendo RIA con Silverlight 2
Construyendo RIA con Silverlight 2Christian Strevel
 
Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4SolidQ
 
Microsoft azure presentacion
Microsoft azure presentacionMicrosoft azure presentacion
Microsoft azure presentacionJuan Paucar
 
Findjira presentación
Findjira presentaciónFindjira presentación
Findjira presentaciónCarlos V.
 
Backend de un portal de datos e información sobre la Tierra
Backend de un portal de datos e información sobre la TierraBackend de un portal de datos e información sobre la Tierra
Backend de un portal de datos e información sobre la TierraCristian Álvarez Belaustegui
 
Introducción a plataforma de datos con Azure
Introducción a plataforma de datos con AzureIntroducción a plataforma de datos con Azure
Introducción a plataforma de datos con AzuredbLearner
 
Introducción a SSIS
Introducción a SSISIntroducción a SSIS
Introducción a SSISSpanishPASSVC
 

La actualidad más candente (10)

Construyendo RIA con Silverlight 2
Construyendo RIA con Silverlight 2Construyendo RIA con Silverlight 2
Construyendo RIA con Silverlight 2
 
Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4
 
ASP.NET MVC Core
ASP.NET MVC CoreASP.NET MVC Core
ASP.NET MVC Core
 
Html5 Java Script Apis
Html5 Java Script ApisHtml5 Java Script Apis
Html5 Java Script Apis
 
Big data, Hadoop, HDInsight
Big data, Hadoop, HDInsightBig data, Hadoop, HDInsight
Big data, Hadoop, HDInsight
 
Microsoft azure presentacion
Microsoft azure presentacionMicrosoft azure presentacion
Microsoft azure presentacion
 
Findjira presentación
Findjira presentaciónFindjira presentación
Findjira presentación
 
Backend de un portal de datos e información sobre la Tierra
Backend de un portal de datos e información sobre la TierraBackend de un portal de datos e información sobre la Tierra
Backend de un portal de datos e información sobre la Tierra
 
Introducción a plataforma de datos con Azure
Introducción a plataforma de datos con AzureIntroducción a plataforma de datos con Azure
Introducción a plataforma de datos con Azure
 
Introducción a SSIS
Introducción a SSISIntroducción a SSIS
Introducción a SSIS
 

Similar a Aplicaciones de linea de negocio con silverlight y share point

SP2010 evolución vs evolución
SP2010 evolución vs evoluciónSP2010 evolución vs evolución
SP2010 evolución vs evolucióngoreorti
 
Mvc + html5 + css3
Mvc + html5 + css3Mvc + html5 + css3
Mvc + html5 + css3Marc Rubiño
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del ProyectoLuis Fernando Aguas Bucheli
 
Curso SharePoint 2013 overview
Curso SharePoint 2013 overviewCurso SharePoint 2013 overview
Curso SharePoint 2013 overviewVladimir Medina
 
Power Platform 101 - Introducción a Power Platform - PPWT Madrid 2019
Power Platform 101 - Introducción a Power Platform - PPWT Madrid 2019Power Platform 101 - Introducción a Power Platform - PPWT Madrid 2019
Power Platform 101 - Introducción a Power Platform - PPWT Madrid 2019Nico Fernandez
 
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Micael Gallego
 
20190427 arquitectura de microservicios con contenedores
20190427 arquitectura de microservicios con contenedores20190427 arquitectura de microservicios con contenedores
20190427 arquitectura de microservicios con contenedoresRicardo González
 
Presentación html5
Presentación html5Presentación html5
Presentación html5aydimdagam
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePointAdrian Diaz Cervera
 
SQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosSQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosJoseph Lopez
 
Sql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datosSql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datosSpanishPASSVC
 
04 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
04 Building cross-platform mobile applications with jQuery Mobile / Desarroll...04 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
04 Building cross-platform mobile applications with jQuery Mobile / Desarroll...Cristian Rodríguez Enríquez
 
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Oscar Gensollen
 
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeVisual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeBruno Capuano
 
Aplicaciones Web SPA con WebAPI y TypeScript
Aplicaciones Web SPA con WebAPI y TypeScriptAplicaciones Web SPA con WebAPI y TypeScript
Aplicaciones Web SPA con WebAPI y TypeScriptLuis Guerrero
 
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL ServerJohn Bulla
 

Similar a Aplicaciones de linea de negocio con silverlight y share point (20)

SP2010 evolución vs evolución
SP2010 evolución vs evoluciónSP2010 evolución vs evolución
SP2010 evolución vs evolución
 
Mvc + html5 + css3
Mvc + html5 + css3Mvc + html5 + css3
Mvc + html5 + css3
 
Novedades en SharePoint 2013
Novedades en SharePoint 2013Novedades en SharePoint 2013
Novedades en SharePoint 2013
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
 
Salesforce III developer day bbva innovation center Madrid by @almazanjl
Salesforce III developer day bbva innovation center Madrid by @almazanjlSalesforce III developer day bbva innovation center Madrid by @almazanjl
Salesforce III developer day bbva innovation center Madrid by @almazanjl
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Curso SharePoint 2013 overview
Curso SharePoint 2013 overviewCurso SharePoint 2013 overview
Curso SharePoint 2013 overview
 
Power Platform 101 - Introducción a Power Platform - PPWT Madrid 2019
Power Platform 101 - Introducción a Power Platform - PPWT Madrid 2019Power Platform 101 - Introducción a Power Platform - PPWT Madrid 2019
Power Platform 101 - Introducción a Power Platform - PPWT Madrid 2019
 
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
 
20190427 arquitectura de microservicios con contenedores
20190427 arquitectura de microservicios con contenedores20190427 arquitectura de microservicios con contenedores
20190427 arquitectura de microservicios con contenedores
 
Presentación html5
Presentación html5Presentación html5
Presentación html5
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePoint
 
SQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosSQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de Datos
 
Sql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datosSql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datos
 
Descubriendo windows azure
Descubriendo windows azureDescubriendo windows azure
Descubriendo windows azure
 
04 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
04 Building cross-platform mobile applications with jQuery Mobile / Desarroll...04 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
04 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
 
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5
 
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeVisual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
 
Aplicaciones Web SPA con WebAPI y TypeScript
Aplicaciones Web SPA con WebAPI y TypeScriptAplicaciones Web SPA con WebAPI y TypeScript
Aplicaciones Web SPA con WebAPI y TypeScript
 
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
 

Aplicaciones de linea de negocio con silverlight y share point

  • 2. ¿Quién soy? • Rodrigo Díaz Concha – Blog: rdiazconcha.com – E-mail: rodrigo@rdiazconcha.com – Twitter: @rdiazconcha • Microsoft Silverlight MVP, MCSD, MCTS, MCPD, MCT, Orador de INETA Latam • Master Trainer de Silverlight (Silverlight Tour) – silverlight-tour.com • Fundador de La Liga Silverlight – Primer Comunidad MSDN en Español acerca de Silverlight – blogs.LigaSilverlight.com • Orador frecuente en eventos en Guatemala, El Salvador, Costa Rica, Venezuela, Colombia, Perú, Chile y México
  • 3. Agenda • ¿Silverlight? • Arquitectura de Aplicaciones Silverlight • Aplicaciones de Escritorio • Acceso a Datos • Enlace de Datos • El Patrón de Diseño Model-View- ViewModel (MVVM)
  • 5. ¿Silverlight? • La realidad: – Silverlight 5 será liberado muy pronto – 1 millón de desarrolladores – Adopción creciente – Plataforma de desarrollo para Windows Phone 7.x – Hay un equipo entero para XAML en Windows 8 – No compite con HTML 5
  • 6.
  • 9. Aplicaciones de Escritorio • Se configuran en las Propiedades del Proyecto de Silverlight • Se crea el archivo OutOfBrowserSettings.x ml – Al compilar, se mezcla con el Manifiesto<OutOfBrowserSettings ShortName="Ejemplo" EnableGPUAcceleration="False" ShowInstallMenuItem="True"> <OutOfBrowserSettings.Blurb>Esto es un ejemplo</OutOfBrowserSettings.Blurb> <OutOfBrowserSettings.WindowSettings> <WindowSettings Title="Ejemplo" Height="480" Width="640" Top="10" Left="10" WindowStartupLocation="Manual" /> </OutOfBrowserSettings.WindowSettings> <OutOfBrowserSettings.Icons /> </OutOfBrowserSettings>
  • 10. Aplicaciones de Escritorio • El usuario debe permitir explícitamente la instalación y definir el lugar para los accesos directos • Por seguridad: el botón de OK tarda 3 segundos en habilitarse
  • 11. Aplicaciones de Escritorio • Pueden ejecutar como cualquier otra aplicación de escritorio – Confianza Parcial (por defecto) – Confianza Elevada (opcional)
  • 13. Acceso a Datos • SharePoint – Modelo de Objetos de SharePoint (a partir de 2010) – Servicios Web de SharePoint • No SharePoint – Servicios SOAP – Servicios REST – WCF – WCF Data Services – WCF RIA Services – … etc. !
  • 14. Acceso a Datos • Modelo de Objetos de SharePoint para Silverlight – Microsoft.SharePoint.Client.dll – http://msdn.microsoft.com/en- us/library/ee537855.aspx ClientContext clientContext = ClientContext.Current; oWebsite = clientContext.Web; ListCollection collList = oWebsite.Lists; //Usa los datos obtenidos
  • 15. Acceso a Datos • Proxies cliente – Agregando la referencia a un Servicio Web autodescriptivo (WSDL) • WebClient • HttpWebRequest / HttpWebResponse
  • 16. Manejo de Datos • XML – LINQ para XML – XmlReader – XmlSerializer • JSON – DataContractJsonSerializer – JSON.NET • POCO
  • 18. Enlace de Datos • Modelo sencillo y poderos • Permite una separación de preocupaciones entre las diferentes capas • No modificas directamente los controles Control Destino Objeto Fuente
  • 20. ¿Qué es MVVM? • Patrón de Diseño natural para plataformas de XAML – {Binding} • Ventajas – Separación de preocupaciones – Pruebas Unitarias – Mantenimiento de código – Consistencia – Desacoplamiento – Flujo de trabajo entre diseñadores y desarrolladores
  • 22. Model-View-ViewModel • Vista – Interface de Usuario – Estilos, Recursos – UserControl, Page, ChildWindow, DataTemplate – El Contexto de Datos es el ViewModel – Poco o nada de code- behind – Actualizada a través de Bindings – Comportamientos ViewViewViewView ViewModelViewModelViewModelViewModel ModelModelModelModel
  • 23. Model-View-ViewModel • Modelo de la Vista – Abstracción de la Vista – Adapta el Modelo a la Vista – Mantiene el estado – Expone propiedades a las que se enlaza la Vista (datos y Comandos) – Expone métodos que los Comportamientos de una Vista pueden invocar – Desacoplamiento y Testability es el objetivo principal ViewViewViewView ViewModelViewModelViewModelViewModel ModelModelModelModel
  • 24. Model-View-ViewModel • Modelo – Tu dominio – Objetos de datos • DTO, POCO • Modelo de datos generado • Modelo de proxy generado – Capa de Servicios • Repositorios • Objetos de Negocio ViewViewViewView ViewModelViewModelViewModelViewModel ModelModelModelModel