Proyecto integrador   aplicaciones smart client
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Proyecto integrador aplicaciones smart client

on

  • 371 views

Proyecto integrador aplicaciones smart client con WCF, WPF y LINQ

Proyecto integrador aplicaciones smart client con WCF, WPF y LINQ

Statistics

Views

Total Views
371
Views on SlideShare
371
Embed Views
0

Actions

Likes
0
Downloads
9
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Proyecto integrador aplicaciones smart client Document Transcript

  • 1. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTManual. Creación de Aplicación Smart ClientIntroducción, continúa ............................................................................................................................................... 8 Objetivo ............................................................................................................................................................ 8 Justificación ...................................................................................................................................................... 8 A quien se dirige .............................................................................................................................................. 81. Requerimientos ................................................................................................................................................ 9 Introducción ..................................................................................................................................................... 9 Lista de Requerimientos ................................................................................................................................. 9 Reglas de Instalación ....................................................................................................................................... 92. Caso de Estudio ............................................................................................................................................. 10 Introducción ................................................................................................................................................... 10 Problema ......................................................................................................................................................... 10 Requerimientos .............................................................................................................................................. 103. Arquitectura de la Aplicación ....................................................................................................................... 11 Introducción ................................................................................................................................................... 11 Modelo Conceptual ....................................................................................................................................... 11 Identificación de capas .................................................................................................................................. 114. SQL Server ..................................................................................................................................................... 12 Introducción ................................................................................................................................................... 12 Paso 1: Acceso SQL Server 2005 ................................................................................................................ 12 Pantalla ............................................................................................................................................................ 12 SQL Server, continúa......................................................................................................................................... 13 Paso 2: Crear Base de Datos ........................................................................................................................ 13 SQL Server, continúa......................................................................................................................................... 14 Paso 3: Crear tabla ......................................................................................................................................... 14 CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 1
  • 2. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENT Como crearla .................................................................................................................................................. 14 Descripción de la ........................................................................................................................................... 14 Tabla ................................................................................................................................................................ 14 SQL Server, continúa......................................................................................................................................... 155. Capa de Datos ................................................................................................................................................ 16 Introducción ................................................................................................................................................... 16 Paso 1: Crear Solución en Visual Studio ................................................................................................... 16 Como crearlo .................................................................................................................................................. 16 Capa de Datos, continúa ................................................................................................................................... 17 Plantilla ............................................................................................................................................................ 17 Paso 2: Agregar Nuevo Proyecto ................................................................................................................ 17 Como Crearlo ................................................................................................................................................. 17 Capa de Datos, continúa ................................................................................................................................... 18 Plantilla ............................................................................................................................................................ 18 Paso 3: Agregar clase de LINQ ................................................................................................................... 18 Capa de Datos, continúa ................................................................................................................................... 19 Como crearlo .................................................................................................................................................. 19 Plantilla ............................................................................................................................................................ 19 Capa de Datos, continúa ................................................................................................................................... 20 Paso 4: Definición de Acceso ...................................................................................................................... 20 Plantilla ............................................................................................................................................................ 20 Capa de Datos, continúa ................................................................................................................................... 21 Tabla en ObjetoLINQ .................................................................................................................................. 216. Capa Empresarial ........................................................................................................................................... 22 Introducción ................................................................................................................................................... 22 Paso 1: Crear BusinessChocolate ................................................................................................................ 22 Capa Empresarial, continúa .............................................................................................................................. 23 Paso 2: Codificación ...................................................................................................................................... 23 CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 2
  • 3. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENT7. Servicios .......................................................................................................................................................... 24 Introducción ................................................................................................................................................... 24 Paso 1: Crear ServicesChocolate ................................................................................................................. 24 Servicios, continúa ............................................................................................................................................. 25 Creamos proyecto WCF ............................................................................................................................... 25 Paso 2: Crear Clases de Servicio .................................................................................................................. 25 Servicios, continúa ............................................................................................................................................. 26 Paso 3: Agregar referencia ............................................................................................................................ 26 Servicios, continúa ............................................................................................................................................. 27 Servicios, continúa ............................................................................................................................................. 28 Paso 4: Codificación de Estructura del Servicio ....................................................................................... 28 ChocolateProduct .......................................................................................................................................... 28 Servicios, continúa ............................................................................................................................................. 29 ChocolateProductCollection ........................................................................................................................ 29 Servicios, continúa ............................................................................................................................................. 30 Implementación del Servicio ........................................................................................................................ 30 Servicios, continúa ............................................................................................................................................. 31 Codificación de OperationsContracts ........................................................................................................ 31 InsertProductChocolate ................................................................................................................................ 31 Servicios, continúa ............................................................................................................................................. 32 DeleteProductChocolate............................................................................................................................... 32 GetProducts.................................................................................................................................................... 32 Servicios, continúa ............................................................................................................................................. 33 Paso 5: Visualizar el Servicio ........................................................................................................................ 33 Servicios, continúa ............................................................................................................................................. 348. Cliente.............................................................................................................................................................. 35 Introducción ................................................................................................................................................... 35 Paso 1: Crear Solución en Visual Studio WPF ......................................................................................... 35 CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 3
  • 4. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENT Cliente, continúa ................................................................................................................................................. 36 Layout Cliente ................................................................................................................................................ 36 Agregar Service Reference............................................................................................................................ 36 Cliente, continúa ................................................................................................................................................. 37 Codificación Cliente ...................................................................................................................................... 37 Cliente, continúa ................................................................................................................................................. 38 Cliente, continúa ................................................................................................................................................. 399. Prueba de ClientChocolateFactory.............................................................................................................. 40 Introducción ................................................................................................................................................... 40 Agregando productos .................................................................................................................................... 40 Cliente, continúa ................................................................................................................................................. 41 Eliminar productos ........................................................................................................................................ 4110. Conclusiones ............................................................................................................................................... 42 CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 4
  • 5. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTTabla de IlustracionesIlustración 3:1 Modelo Conceptual Arquitectura .......................................................................................................... 11Ilustración 4:1 Acceso Servidor SQL........................................................................................................................... 12Ilustración 4:2 Creación de Base de Datos ................................................................................................................... 13Ilustración 4:3 Nombre de la Base de Datos ................................................................................................................ 13Ilustración 4:4 Creación de Nueva tabla ...................................................................................................................... 14Ilustración 4:5 Nombre de la Nueva tabla ................................................................................................................... 15Ilustración 5:1 Creación de Proyecto Visual Studio 2008 ............................................................................................ 16Ilustración 5:2 Plantilla Solución SmartChocolateFactory ............................................................................................ 17Ilustración 5:3 Nuevo Proyecto .................................................................................................................................... 17Ilustración 5:4 Plantilla Biblioteca Clases .................................................................................................................... 18Ilustración 5:5 Nuevo Elemento .................................................................................................................................. 19Ilustración 5:6 Administrador de Servidores ................................................................................................................ 20Ilustración 5:7 Agregar Servidor de SQL ................................................................................................................... 20Ilustración 5:8 Estableciendo Conexión ....................................................................................................................... 21Ilustración 5:9 DAOChocolate ................................................................................................................................... 21Ilustración 6:1 Clase Empresarial ............................................................................................................................... 22Ilustración 6:2 Clase BusinessChocolate ....................................................................................................................... 23Ilustración 7:1 Agregamos un nuevo Sitio Web ............................................................................................................ 24Ilustración 7:2 Plantilla Servicio WCF ....................................................................................................................... 25Ilustración 7:3 Clases de Implementación de Servicio .................................................................................................... 26Ilustración 7:4 Agregar Referencia ............................................................................................................................... 27Ilustración 7:5 Referencia Proyectos. ............................................................................................................................. 27Ilustración 7:6 DataContract ChocolateProduct ........................................................................................................... 28Ilustración 7:7 DataContractCollection ChocolateProductCollection ............................................................................. 29Ilustración 7:8 Implementar Interfaz IService .............................................................................................................. 30Ilustración 7:9 Código generado por la herramienta ...................................................................................................... 30 CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 5
  • 6. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTIlustración 7:10 InsertProductChocolate ....................................................................................................................... 31Ilustración 7:11 DeleteProductChocolate ...................................................................................................................... 32Ilustración 7:12 GetProducts ....................................................................................................................................... 32Ilustración 7:13 Probar Servicio .................................................................................................................................. 33Ilustración 7:14 Navegador I....................................................................................................................................... 33Ilustración 7:15 Service.svc .......................................................................................................................................... 34Ilustración 7:16 WSDL ............................................................................................................................................. 34Ilustración 8:1 Aplicación WPF ................................................................................................................................. 35Ilustración 8:2 Layout Cliente ..................................................................................................................................... 36Ilustración 8:3 Agregar referencia de servicio................................................................................................................. 36Ilustración 8:4 Asociar Servicio ............................................................................................................................ 37Ilustración 8:5 Operaciones I ....................................................................................................................................... 38Ilustración 8:6 Operaciones II ...................................................................................................................................... 38Ilustración 8:7 XAML .............................................................................................................................................. 39Ilustración 9:1 Agregar producto .................................................................................................................................. 40Ilustración 9:2 Seleccionamos Producto ......................................................................................................................... 41Ilustración 9:3 Eliminado Producto ............................................................................................................................. 41 CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 6
  • 7. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTIntroducción Actualmente los nuevos sistemas de información requieren una mayor interactividad con el usuario y los sitios web tienen mu- chas limitantes. Según la definición de un smart client es Una aplicación que com- bina el alcance de internet (web client) con el poder del computo local (rich client). Las aplicaciones smart client permiten al usuario local interactuar con las aplicaciones web a través del uso de web ser- vices. Por ejemplo un smart client está corriendo una aplicación word que puede comunicarse a una base de datos remota, per- mitiendo el consumo de información y actualización de la misma. Los smart clients son distinguidos por estas características:  Las aplicaciones windows nos permite utilizar herramientas de desarrollo que nos permiten una construcción rápida.  Las interfaces de usuario ofrecen funcionalidad más útil y enriquecida para el usuario.  Smart client son aplicaciones que tienen la habilidad de ser desarrolladas y actualizadas en tiempo real sobre la red en un servidor central.  Suportan múltiples plataformas y lenguajes porque son cons- truidas sobre web services.  Pueden correr sobre cualquier dispositivo que tenga conecti- vidad en internet, incluyendo desktops, workstations, note- books, tablet PCs, PDA y dispositivos móviles. Continúa en la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 7
  • 8. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTIntroducción, continúa Objetivo Crear un manual que muestre como desarrollar una aplicación smart client, cumpliendo con una arquitectura de n capas (capa de datos, capa empresarial, servicios y capa de presentación) con aplica- ciones windows. Se realizará un caso de estudio para dar una solución con aplica- ciones smart clients. Utilizar las mejores prácticas de desarrollo existentes para la creación de smart clients utilizando lo último en tecnología (Windows Presentation Foundation, Windows Communication Foundation y LINQ). Justificación Hoy en día los ingenieros de software no cuentan con una guía clara de cómo crear una aplicación smart client con aplicaciones windows que ofrezca la unificación de tecnologías como Win- dows Presentation Foundation, Windows Communication Founda- tion y LINQ. A quien se dirige Este manual va dirigido a los desarrolladores de software enfo- cados tecnologías Microsoft. CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 8
  • 9. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENT1. Requerimientos Introducción Para cumplir con el objetivo principal de este manual se requiere una serie de herramientas instaladas en nuestros PC’s para des- arrollar nuestra aplicación smart client. Lista de Requerimien- Se muestra a continuación: tos  SQL 2005  Visual Studio 2008 Reglas de Instalación Sigue este orden de instalación para cumplir con la lista de reque- rimientos: 1 SQL 2005 2 Visual Studio 2008 CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 9
  • 10. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENT2. Caso de Estudio Introducción Se dará una breve explicación de un problema ficticio dentro de una empresa pastelera. Problema Actualmente la empresa exportadora “Chocolate Factory” cuenta con la necesidad que el departamento de mercadotecnia promocione los nuevos productos que serán exportados a nivel mundial y esta información sea compartida a todas las sucursales que se encuentran distribuidas en el mundo. Requerimientos Estos son los siguientes:  Creación de una base de datos que permita el almacenamien- to de los nuevos productos.  Se expondrá la información mediante servicios web. Para el consumo de las demás sucursales distribuidas en el mundo.  Permitir el alta de los nuevos productos mediante una apli- cación de escritorio. CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 10
  • 11. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENT3. Arquitectura de la Aplicación Introducción La arquitectura de la aplicación es la espina dorsal de un sistema de software. Esta nos permitirá dividir en módulos los componentes que se comunicarán entre sí para realizar de forma correcta nuestra aplicación. Modelo Conceptual Ilustración 3:1 Modelo Conceptual Arquitectura Identificación de ca- La arquitectura tiene las siguientes características pas Capa Concepto Data Es el control del acceso a base de datos que almacenará la información de los nuevos productos. Empresarial Tendrá todas las reglas del negocio necesa- rias y permitirá la comunicación entre los servicios y la capa de datos. Servicios Expondrá toda la lógica de negocio requeri- da para que sea consumida por el cliente a través de la red. Cliente Permitirá la comunicación con el usuario y con el servicio de alta de productos. CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 11
  • 12. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENT4. SQL Server Introducción En este capítulo crearemos la base de datos relacional con la API de SQL Server 2005. Esto nos permitirá crear de manera rápida y eficaz nuestra base de datos. Paso 1: Acceso SQL Para conectarse a SQL estos son los pasos: Server 2005 1 Selecciona el nombre del servidor local o remoto. 2 Elige el tipo de autenticación del SQL. 3 Haz clic en el botón Conectar. A continuación se describe cada paso. Pantalla Nombre del Servidor Ilustración 4:1 Acceso Servidor SQL Conectar al Servidor de SQL Continúa en la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 12
  • 13. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTSQL Server, continúa Paso 2: Crear Base de La creación de la base de datos consiste en dos pasos: Datos 1 Primero debes elegir la opción Nueva base de datos. 2 Establecer el nombre de la Nueva base de datos “ChololateFacto- ry” y hacer clic en botón aceptar. A continuación se describe cada paso. Nueva Base de Datos Ilustración 4:2 Creación de Base de Datos Nombre Base de Datos Ilustración 4:3 Nombre de la Base de Datos Continúa en la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 13
  • 14. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTSQL Server, continúa Paso 3: Crear tabla La creación de la tabla datos consiste en dos pasos: 1 Debes elegir la opción Nueva tabla. 2 Agregar los campos. 3 Guardar tabla con el nombre “ProductCholocateFactory”. A con- tinuación se describe cada paso. Como crearla Nueva Tabla Ilustración 4:4 Creación de Nueva tabla Descripción de la La estructura la tabla es la siguiente Tabla Nombre Tipo Tamaño idProducto Int nombreProducto nvarchar(50) 50 descripcion nvarchar(max) max categoria nvarchar(50) 50 Continúa en la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 14
  • 15. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTSQL Server, continúa Guardar Tabla Ilustración 4:5 Nombre de la Nueva tabla CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 15
  • 16. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENT5. Capa de Datos Introducción En este capítulo crearemos la arquitectura de la capa de datos que se comunicara con la base de datos “ChocolateFactory”. Utilizando co- mo medio de acceso LINQ. Paso 1: Crear Solu- Para crear una nueva solución en Visual Studio estos son los pasos. ción en Visual Studio 1 Crear un nuevo Proyecto. 2 Tomar una plantilla de solución. 3 Establecer el nombre de la solución Smart Chocolate Factory. Como crearlo Nuevo Proyecto Ilustración 5:1 Creación de Proyecto Visual Studio 2008 Continúa en la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 16
  • 17. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTCapa de Datos, continúa Plantilla Nueva Solución Ilustración 5:2 Plantilla Solución SmartChocolateFactory Paso 2: Agregar Nue- Para agregar un nuevo proyecto en Visual Studio estos son los pasos. vo Proyecto 1 Agregar un nuevo proyecto. 2 Tomar una Biblioteca de Clases. 3 Establecer el nombre de la solución DataCholocateFactory. Como Crearlo Agregar Nuevo Proyecto Ilustración 5:3 Nuevo Proyecto Continúa la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 17
  • 18. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTCapa de Datos, continúa Plantilla Biblioteca de Clases Ilustración 5:4 Plantilla Biblioteca Clases Paso 3: Agregar clase Para agregar un nuevo elemento en DataCholocateFactory estos son de LINQ los pasos. 1 Agregar nuevo elemento 2 Tomar un Clase de LINQ. 3 Establecer el nombre de la solución DAOChocolate. Continúa en la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 18
  • 19. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTCapa de Datos, continúa Como crearlo Agregar Nuevo Elemento Ilustración 5:5 Nuevo Elemento Plantilla Clase LINQ Continúa en la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 19
  • 20. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTCapa de Datos, continúa Paso 4: Definición de Este paso estableceremos conexión a nuestro servidor de base de Acceso datos local. y establecer la tabla de 1 Para ello necesitamos iniciar conexión en el administrador de servidores. Ilustración 5:6 Administrador de Servidores Plantilla 2 Hacemos clic derecho y seleccionamos la opción Agregar co- nexion. Ilustración 5:7 Agregar Servidor de SQL Continúa en la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 20
  • 21. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTCapa de Datos, continúa 3 Seleccionamos nuestro servidor de SQL. 4 Establecemos nuestra cuenta de usuario y password. 5 Elegimos la base de datos ChocolateFactory. Ilustración 5:8 Estableciendo Conexión Configuración Servidor Tabla en ObjetoLINQ 6 Después de establecer conexión arrastramos la tabla ProductCho- colateFactory al objeto LINQ DAOChocolate. Ilustración 5:9 DAOChocolate Continúa la siguiente página. CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 21
  • 22. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENT6. Capa Empresarial Introducción En este capítulo crearemos la capa de negocio que permitirá la co- municación entre la los servicios y el acceso a Base de datos. Además que cuenta con las reglas de negocio de la aplicación. El lenguaje de programación que usaremos para este ejemplo será C#. Pero es indiferente para nosotros puede ser el lenguaje que más estemos familiarizado y nos ofrezca Visual Studio 2008. Paso 1: Crear Busi- 1 Agregamos un nuevo elemento al proyecto DataChocolateFactory nessChocolate de tipo clase con el nombre “BusinessChocolate”. (véase, Agregar nuevo elemento). 2 Seleccionar plantilla tipo clase. Clase Ilustración 6:1 Clase Empresarial Continúa la siguiente página. CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 22
  • 23. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTCapa Empresarial, continúa Paso 2: Codificación El siguiente paso es crear los métodos necesarios para ingresar nuevos productos y eliminar productos. Utilizaremos como medio de acceso DAOChocolate con LINQ. 1 Instanciamos un objeto de tipo DAOChocolateDataContext. 2 Crearemos el primer método que se llamará InsertProductChocola- te(). Este método nos permitirá insertar nuevos productos. 3 Crearemos el segundo método que se llamará DeleteProductCho- colate(). Este método nos permitirá eliminar productos. 4 Por último crearemos una función que se llamará GetProducts(). Esta función nos permitirá obtener la lista de productos existentes. Ilustración 6:2 Clase BusinessChocolate Métodos Sugeridos Es posible que tu clase de negocio crezca entonces puedes tener más operaciones de negocio en la misma. CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 23
  • 24. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENT7. Servicios Introducción En este capítulo crearemos la estructura de servicios. Aquí se hace la diferencia entre una aplicación de escritorio a una aplicación Smart Client. Visual Studio cuenta con WCF para la creación de servicios estructu- rados. WCF nos permite exponer funcionalidad para cualquier tipo de protocolo de comunicación que sea configurado. Para este ejemplo utilizaremos el protocolo HTTP, nos permitirá transportar la información en un formato XML. XML es un formato estándar en que cualquier plataforma de desa- rrollo lo pueda interpretar. A continuación los pasos a seguir para crear la capa de servicios de ChocolateFactory. Paso 1: Crear Servi- Son los siguientes pasos: cesChocolate 1 Agregamos un nuevo sitio web. Métodos Sugeridos Ilustración 7:1 Agregamos un nuevo Sitio Web Este sitio web nos permitirá hostear nuestro servicio para ser com- partida nuestra funcionalidad en la red. Continúa la siguiente página. CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 24
  • 25. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTServicios, continúa Creamos proyecto 2 Elegimos la plantilla de WCF y establecemos el nombre “Services WCF Chocolate”. Servicio WCF Ilustración 7:2 Plantilla Servicio WCF Paso 2: Crear Clases En este paso nos preocuparemos por crear los ServicesContracts, Data- de Servicio Contracts y ServiceImplementation. A continuación se explicarán breve- mente estos términos que son la estructura del servicio. Término Concepto ServiceContract Describe lo que hace el servicio. Se definen las operaciones del servicio ejemplo “Ob- tenerSaldo”. DataContract Es la estructura del objeto que se va estar intercambiando en nuestro servicio ServiceImplementation Esta clase implementa las operaciones del ServiceContract. Continúa la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 25
  • 26. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTServicios, continúa Nota: Al momento de crear el nuevo sitio web nos generará tres clases IServi- ce.cs, Service.cs y Service.svc. Servicio WCF Ilustración 7:3 Clases de Implementación de Servicio Paso 3: Agregar refe- Necesitamos comunicar nuestra capa empresarial “DataChocoloateFac- rencia tory” con nuestra capa de servicios “ServicesChocolate”. Esto es para utilizar la funcionalidad de la capa de acceso a datos con el servicio WCF. 1 Hacer clic derecho sobre el proyecto de servicios “AgregarReferen- cia”. 2 Hacer clic izquierdo en la pestaña llamada “Proyectos”. 3 Hacer clic en el botón “Aceptar”. Continúa la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 26
  • 27. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTServicios, continúa Referencia Ilustración 7:4 Agregar Referencia Elegimos la pestaña “Proyectos” donde se encuentra nuestro proyecto “DataChocolateFactory”. Proyectos Ilustración 7:5 Referencia Proyectos. Continúa la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 27
  • 28. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTServicios, continúa Paso 4: Codificación Iniciaremos a construir la estructura del servicio que expondremos en la de Estructura del Ser- red. A continuación se muestra en estos pasos: vicio 1 En nuestra clase “IService” codificaremos la clase “Chocolate- Product”. Esta es la siguiente estructura: DataMember Descripción IdProducto Clave del producto. NombreProducto Nombre del producto. Descripción La descripción del producto Categoria Contiene la categoría del Producto ChocolateProduct Código DataContract Ilustración 7:6 DataContract ChocolateProduct Continúa la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 28
  • 29. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTServicios, continúa ChocolateProductCollection Para obtener la lista de productos necesitaremos crear una clase de tipo colección de objetos que nos retorne una lista “ChocolatteProduct”. 2 En nuestra clase “IService” codificaremos la clase “Chocolate- ProductCollection”. Esta es la siguiente estructura: Constructores Descripción ChocolateProductCollection Nos permite inicializar un objeto sin paráme- tros. ChocolateProductCollection(IEnumerable) Nos permite inicializar una colección de obje- tos mandando como parámetros una lista de tipo “ChocolateProduct”. Código DataContractCollection Ilustración 7:7 DataContractCollection ChocolateProductCollection Continúa la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 29
  • 30. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTServicios, continúa Implementación del El siguiente paso es implementar la funcionalidad “IService” en nuestra Servicio clase “Service”. La clase “Service” contendrá todas las operaciones establecidas en nuestra clase ServiceContract “IService” lista para codificar la comunicación entre la capa de servicios y la capa empresarial. “DataChocolateFactory”. 3 Implementar clase “IService” en nuestra clase “Service”. Haz clic derecho elige la opción “Implementar Interfaz”. Opción Implementar Interfaz Ilustración 7:8 Implementar Interfaz IService Código generado por la herramienta de Visual Studio 2008. Ilustración 7:9 Código generado por la herramienta Continúa la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 30
  • 31. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTServicios, continúa Codificación de Ope- En esta sección nosotros codificaremos la funcionalidad necesaria para rationsContracts comunicar nuestros servicios con la capa empresarial y de datos. Es importante saber que la creación de un servicio no debe tomarse tan a la ligera pues el punto de existencia de estos es compartir funcionalidad a terceros. Y saber analizar que operaciones son requeridas y funcionales para exponerlas en nuestro servicio. InsertProductChocolate Después de haber generado el código con la API de Visual Studio 2008. El siguiente paso es alimentar los métodos para comunicar nuestra aplicación entre capas. Iniciaremos con el método “InsertProductChocolate”. Codificación Ilustración 7:10 InsertProductChocolate Cuando agregamos la referencia fue con esta intención utilizar la funcio- nalidad del proyecto DataChocolateFactory.  En este método nosotros instanciamos un objeto de tipo Product- Chocolatefactory llamado objProduct para asignarles todos los valores obtenidos por nuestro parámetro product.  Nosotros instanciamos un objeto de BusinessChocolate al cual ejecutaremos el método InsertProductChocolate mandándole como parámetro objProduct. Con esto finalizaremos la funcionalidad de nuestro método. Continúa en la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 31
  • 32. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTServicios, continúa DeleteProductChocolate El siguiente método es crear la funcionalidad para eliminar un producto de ChocolateFactory. Codificación Ilustración 7:11 DeleteProductChocolate  En este método nosotros instanciaremos nuevamente un objeto de tipo ProductChocolateFactory.  Le asignaremos los valores obtenidos de nuestro parámetro product.  Instanciaremos un objeto llamado objChocolate de tipo BusinessCho- colate.  Por último ejecutamos el método DeleteProductChocolate. GetProducts El siguiente método es para obtener la lista de productos de Chocolate- Factory. Codificación Ilustración 7:12 GetProducts  En este método nosotros instanciaremos un objeto BusinessChocolate llamado objChocolate.  Crearemos un objeto tipo lista ChocolateProductCollection llamado list.  Creamos un foreach para recorrer la lista de objetos obtenidos de objChocolate.GetProducts() y Por último retornaremos la lista obteni- da de ChocolateProductCollection. Continúa en la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 32
  • 33. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTServicios, continúa Paso 5: Visualizar el Por último probaremos nuestro servicio para saber si está sirviendo Servicio correctamente. Ver en el explorador Ilustración 7:13 Probar Servicio Esto veremos en nuestro browser Explorador Ilustración 7:14 Navegador I Continúa en la página siguiente CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 33
  • 34. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTServicios, continúa Hacemos clic el link Service.svc y la próxima pantalla será la siguiente. Ilustración 7:15 Service.svc Hacemos clic en el link que nos genera el servicio en este caso es el siguiente svcutil.exe http://localhost:51788/ServicesChocolate/Service.svc?wsdl Veremos el WSDL del servicio: Ilustración 7:16 WSDL CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 34
  • 35. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENT8. Cliente Introducción En este capítulo crearemos un nuevo proyecto de tipo WPF que nos permita consumir nuestro servicio. La parte fundamental de este capítulo es simular de que nuestro cliente se encuentra en una sucursal de otra región y requiere obtener la lista de los nuevos productos de ChocolateFactory Paso 1: Crear Solu-  Para crear una nueva solución véase como Crear un nuevo Proyec- ción en Visual Studio to. WPF  Establecer el nombre como ClientChocolateFactory.  Agregaremos un nuevo proyecto véase como Agregar un nuevo proyecto.  Seleccionaremos una plantilla de tipo Aplicación WPF. Plantilla WPF Ilustración 8:1 Aplicación WPF Continúa en la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 35
  • 36. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTCliente, continúa Layout Cliente Lo siguiente es crear el interfaz de usuario que la podemos diseñar muy fácil con Visual Studio 2008 Es la siguiente: Ilustración 8:2 Layout Cliente Agregar Service Refe- Ahora sigue lo bueno, consumir nuestro servicio creado. Comenzare- rence mos agregando la referencia. Service reference Ilustración 8:3 Agregar referencia de servicio Continúa en la página siguiente CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 36
  • 37. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTCliente, continúa En la siguiente imagen se muestra como busca el servicio. Nosotros le establecemos un sobrenombre al servicio para identificarlo más fácil en este caso es ServiceChocolateFactory. Service reference Ilustración 8:4 Asociar Servicio Sobrenombre del Servicio Codificación Cliente El siguiente paso es codificar toda la parte del cliente para con- sumir nuestro servicio. Tendremos cinco funciones principales Window_Loaded, brnAcep- tar_Click, btnEliminar_Click y CargaGrid. Las cuales usaremos para operar las funciones necesarias para guardar, consultar y eliminar en nuestra forma Window1.xaml que se genera automáticamente de la creación del proyecto. Continúa en la página siguiente CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 37
  • 38. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTCliente, continúa A continuación se muestra como se creará la funcionalidad de nuestras funciones clientes en code behind de la forma Window1.xaml. Codificación Ilustración 8:5 Operaciones I Ilustración 8:6 Operaciones II Continúa en la página siguiente CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 38
  • 39. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTCliente, continúa A continuación se muestra como queda de lado del XAML de nuestra forma Window1.xaml. Script XAML Ilustración 8:7 XAML CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 39
  • 40. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENT9. Prueba de ClientChocolateFactory Introducción En este capítulo por último realizaremos la prueba de nuestra aplicación ClientChocolatefactory. Llegando a nuestro final de la aplicación smart client. Agregando produc- En la siguiente imagen se muestra como se agrega un nuevo producto al tos catalogo. Agregar Producto Ilustración 9:1 Agregar producto Continúa en la siguiente página CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 40
  • 41. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTCliente, continúa Eliminar productos En la siguiente imagen se muestra como se agrega un nuevo producto al catalogo. Eliminar Producto Ilustración 9:2 Seleccionamos Producto Ilustración 9:3 Eliminado Producto CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 41
  • 42. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENT10. Conclusiones En este manual se mostró una manera sencilla de crear una aplicación smart client usando usando buenas prácticas de desarrollo y lo último en tecnología. Lo importante de utilizar estas tecnologías es la aceleración de desarrollo y disminución de tiempos. Para los desarrolladores una parte esencial al crear aplicaciones robustas que tengan implementadas buenas prácticas. CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 42
  • 43. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENTCARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 43