Este documento proporciona instrucciones detalladas para crear una aplicación cliente inteligente (smart client) que sigue una arquitectura de n capas. Explica cómo crear una base de datos SQL, capas de datos, negocios y servicios, así como un cliente WPF. Además, incluye un caso de uso de una empresa de chocolate que necesita una aplicación para administrar nuevos productos de forma remota a través de servicios web.
5. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENT
Tabla de Ilustraciones
Ilustración 3:1 Modelo Conceptual Arquitectura .......................................................................................................... 11
Ilustración 4:1 Acceso Servidor SQL........................................................................................................................... 12
Ilustración 4:2 Creación de Base de Datos ................................................................................................................... 13
Ilustración 4:3 Nombre de la Base de Datos ................................................................................................................ 13
Ilustración 4:4 Creación de Nueva tabla ...................................................................................................................... 14
Ilustración 4:5 Nombre de la Nueva tabla ................................................................................................................... 15
Ilustración 5:1 Creación de Proyecto Visual Studio 2008 ............................................................................................ 16
Ilustración 5:2 Plantilla Solución SmartChocolateFactory ............................................................................................ 17
Ilustración 5:3 Nuevo Proyecto .................................................................................................................................... 17
Ilustración 5:4 Plantilla Biblioteca Clases .................................................................................................................... 18
Ilustración 5:5 Nuevo Elemento .................................................................................................................................. 19
Ilustración 5:6 Administrador de Servidores ................................................................................................................ 20
Ilustración 5:7 Agregar Servidor de SQL ................................................................................................................... 20
Ilustración 5:8 Estableciendo Conexión ....................................................................................................................... 21
Ilustración 5:9 DAOChocolate ................................................................................................................................... 21
Ilustración 6:1 Clase Empresarial ............................................................................................................................... 22
Ilustración 6:2 Clase BusinessChocolate ....................................................................................................................... 23
Ilustración 7:1 Agregamos un nuevo Sitio Web ............................................................................................................ 24
Ilustración 7:2 Plantilla Servicio WCF ....................................................................................................................... 25
Ilustración 7:3 Clases de Implementación de Servicio .................................................................................................... 26
Ilustración 7:4 Agregar Referencia ............................................................................................................................... 27
Ilustración 7:5 Referencia Proyectos. ............................................................................................................................. 27
Ilustración 7:6 DataContract ChocolateProduct ........................................................................................................... 28
Ilustración 7:7 DataContractCollection ChocolateProductCollection ............................................................................. 29
Ilustración 7:8 Implementar Interfaz IService .............................................................................................................. 30
Ilustració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
7. DOCUMENTACIÓN TÉCNICA –CREACIÓN DE APLICACIÓN SMART CLIENT
Introducció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 CLIENT
Introducció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 CLIENT
1. 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 CLIENT
2. 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 CLIENT
3. 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 CLIENT
4. 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 CLIENT
SQL 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 CLIENT
SQL 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 CLIENT
SQL 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 CLIENT
5. 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 CLIENT
Capa 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 CLIENT
Capa 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 CLIENT
Capa 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 CLIENT
Capa 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 CLIENT
Capa 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 CLIENT
6. 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 CLIENT
Capa 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 CLIENT
7. 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 CLIENT
Servicios, 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 CLIENT
Servicios, 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 CLIENT
Servicios, 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 CLIENT
Servicios, 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 CLIENT
Servicios, 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 CLIENT
Servicios, 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 CLIENT
Servicios, 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 CLIENT
Servicios, 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 CLIENT
Servicios, 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 CLIENT
Servicios, 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 CLIENT
8. 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 CLIENT
Cliente, 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 CLIENT
Cliente, 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 CLIENT
Cliente, 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 CLIENT
Cliente, 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 CLIENT
9. 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 CLIENT
Cliente, 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 CLIENT
10. 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 CLIENT
CARLOS ANTONIO ROJO SÁNCHEZ - MAESTRÍA EN TECNOLOGÍAS DE INFORMACIÓN – PÁGINA 43