TRES CAPAS CON Desarrollo de Aplicaciones en Tres Capas con VisualWorks Smalltalk y GemStone /S.

Slides:



Advertisements
Presentaciones similares
Instalación de wordpress
Advertisements

Web Services.
Support.ebsco.com EBSCOadmin Personalización de Servicios Tutorial.
Internet y tecnologías web
Planificación y despliegue de Office Sharepoint Server 2007 Rubén Alonso Cebrián
Red Social: “Un millón de Amigos”.
Red Social: “Un millón de Amigos”.
Introducción a HIBERNATE
Servidores Web Capítulo 2.
APACHE.
J2EE – Java 2 Enterprise Edition
Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
Carlos Rojas Kramer Universidad Cristóbal Colón
"java del lado del servidor" Servlet y JSP Java Server Pages.
Arquitectura de la Aplicación
Introducción a los servicios Web
Planificación y despliegue de Office Sharepoint Server 2007 Rubén Alonso Cebrián
Investigación Servidor de Aplicaciones WebSphere
RMI Remote Method Invocation
Cómo Instalar VisualWorks Smalltalk 7.3.1nc
Java 2 Platform Enterprise Edition
JAVA. Introducción Que es java?  Código reusable  Multiplataforma.
Curso Administrativo OTEC Unidad II : Configuración de Cursos Curso creado por : Libro de Clases Electrónico (LCE) ACTUALIZADO
Profesor: Miguel Angel Vidal
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Tecnologías para el desarrollo de aplicaciones Web
© Copyright GlobalLogic Connect. Collaborate. Innovate.
SQL SERVER Reporting Services
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
Sistemas Distribuidos basados en la web
The OWASP Foundation OWASP AppSec Aguascalientes 2010 Guía de Desarrollo Seguro Francisco Aldrete Miembro de OWASP capítulo Aguascalientes.
INTRODUCCIÓN A LA PROGRAMACIÓN WEB
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Servidores.
Sistema de Gestión de Información Desarrollado por: Solange Ahumada K Bernardo Malet
Generación de páginas en forma dinámica utilizando Apache Tomcat®. Expositores: Luis Ehlen Luis Báez Grupo 8 Programación de Sistemas Profesor: Agustín.
Lenguajes de programación Web
J2EE – Java 2 Enterprise Edition
“SERVLETS”. Paola Rojas Contreras Juan Villarroel Leiva José Miguel Perez V. Departamento de Electrónica.
Servidores Conceptos Generales.
Lenguajes de programación para la web Lenguaje html Lenguaje java script Es un lenguaje estático para el desarrollo de sitios web Ventajas: Sencillo que.
Unidad didáctica 6 Diseño de páginas Web.
2: Capa Aplicación 1 Capa Aplicación: FTP ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto.
Introducción al Lenguaje. ¿Qué es PHP? O Es un lenguaje de programación que es interpretado por un servidor web. O El lenguaje es genérico. PHP está orientado.
Administrador del Servidor O3 Es una herramienta para controlar y configurar el servidor de cubos multidimensionales.
Sebastián Franco Henao
 La primera versión fue desarrollada por Robert McCool, quien desarrollaba el servidor web NCSA HTTPd (National Center for Supercomputing Applications).
DOCUMENTO: LOS DIFERENTES LENGUAJES DE PROGRAMACIÓN PARA LA WEB POR: JUAN RICARDO VILLEGAS.
 Un servidor proporciona información a los ordenadores que se conecten a él.  Cuando lo usuarios se conectan a un servidor pueden acceder a programas,
Cristian Fonnegra Marin
Sun Microsystems. Los servlets son objetos que corren dentro del contexto de un contenedor de servlets y extienden su funcionalidad. También podrían correr.
Internet Information Services.
Servicios de Red e Internet
2: Capa Aplicación 1 Capa Aplicación: File Transfer Protocol ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material.
- Parámetros de apariencia y uso Luis Villalta Márquez.
REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA DEFENSA UNIVERSIDAD NACIONAL EXPERIMENTAL DE LAS FUERZAS ARMADAS (UNEFA) MERIDA.
Sustentante: Francis Ariel Jiménez Zapata Matricula: Grupo: 2 Profesora: Jose Doñe Asignatura: Sistema Operativo 2.
PROTOCOLO TCP Y UDP.
Protocolos de comunicación TCP/IP
SERVIDOR WEB ISS CONRADO PEREA. SERVIDOR WEB ISS  ISS incorpora un sólido servidor Web diseñado para alojar tanto sitios de una intranet como sitios.
 Curso básico de Dreamweaver MX (1)  Qué es Dreamweaver MX  Dreamweaver MX es un software fácil de usar que permite crear páginas web profesionales.
PSKLOUD SHOP MANUAL DE CONFIGURACION
Configuración de un Servidor Web en Microsoft Server Integrantes: Juan Pablo Urrego Wilmar Jaramillo Grupo: CTMA.
Introducción al Lenguaje. ¿Qué es PHP? O Es un lenguaje de programación que es interpretado por un servidor web. O El lenguaje es genérico. PHP está orientado.
QUÉ ES UN SERVIDOR WEB?. Un servidor web o servidor HTTP es un programa informático que procesa una aplicación del lado del servidor, realizando conexiones.
 ACCESO REMOTO.  PRESENTADO A:  ING FABIO LASSO  PRESENTADO POR:  CRISTIAN FELIPE CASTRILLON  PARQUE INFORMATICO CARLOS ALBAN.
Imagen de Fondo La etiqueta... ; Permite introducir una imagen como fondo del documento HTML. A continuación se muestra un ejemplo:
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
WINDOWS SERVER 2008 r2 ADMINISTRACION DE RECURSOS: Con el Administrador de recursos del sistema de Windows del sistema operativo Windows Server® 2008 R2,
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Softlogia S.R.L. Formación de Recursos Humanos Java Server Faces Instructor: Martin R. Baspineiro.
Transcripción de la presentación:

TRES CAPAS CON Desarrollo de Aplicaciones en Tres Capas con VisualWorks Smalltalk y GemStone /S

Tres Capas con Smalltalk Introducción al Diseño en Capas Características de las Herramientas Conexión entre capas Persistencia de Objetos Ejemplo Práctico

Tres Capas Breve introducción al diseño en capas

Tres Capas - Descripción Presentación al Usuario Modelo del Negocio Persistencia de Datos

Tres Capas - Diagrama

Tres Capas - Presentación Esta capa reúne todos los aspectos del software que tienen que ver con las interfaces y la interacción con los diferentes tipos de usuarios humanos

Tres Capas - Negocio Esta capa reúne todos los aspectos del software que apoyan los procesos de negocio que llevan a cabo los usuarios

Tres Capas - Datos Esta capa reúne todos los aspectos del software que tienen que ver con el manejo de los datos persistentes

Tres capas - Smalltalk Características de las herramientas de desarrollo

Tres Capas – Smalltalk Herramientas VisualWorks GemStone /S Opciones Cliente Ventana, Cliente Web Servidor VW, Servidor GS Repositorio GS, RDBMS

VisualWorks Multiplataforma (Windows – Linux – AIX – Solaris – MacOSX) Completo Editor de Ventanas Soporte para aplicaciones Web (Web Services, Smalltalk Server Pages, Servlets) Soporte a protocolos standard como FTP, POP, SMTP, IMAP Seguridad (SSL) Soporte para CORBA y COM Soporte para mapeo Objeto – Relacional (Top Link – GLORP) Código abierto

Gemstone /S Multiplataforma (Windows – Linux – AIX – Solaris – MacOSX) Servidor de objetos multiusuario Soporte transaccional y control de concurrencia Soporte para consultas Soporta índices para procesar los objetos Soporte de conexión a repositorios de datos externos (OODBMS – RDBMS) Administración de cuentas y seguridad Integración con VW a través de GemBuilder

Diagrama de Despliegue

Conexión entre Capas Como realizar las conexiones entre las capas de presentación al usuario y el servidor y entre el servidor y el repositorio de objetos

Conexión entre Capas Estilo de Aplicación: Repositorio de Datos GemStone/S Servidor de Aplicaciones sobre GemStone/S Cliente Ventana Smalltalk Cliente Web (servlets – ssp pages)

Herramientas Necesarias Cargar las parcelas* GbsTools para poder conectarse a GemStone (servidor-repositorio) WebToolKit (herramientas web) ContactsModel, ContactsUI y ContactsWeb (el código fuente del ejemplo) (*) Una parcela es un archivo externo que contiene un grupo de clases, objetos y dependencias

Conexión Cliente/Servidor/Repositorio Opción programática Definir los parámetros de conexión al servidor Definir los parámetros de conexión al repositorio | parameters | parameters := GbsSessionParameters newWithGemStoneName: username: ‘DataCurator’ password: ‘swordfish’ hostUsername: '' hostPassword: '' gemService: *hostUsername y hostPassword son necesarios cuando el application server corre en un host diferente al del repositorio

Conexión Cliente/Servidor/Repositorio Agregar conectores entre los objetos /clases del modelo y los objetos / clases persistentes | connector | (connector := GbsClassConnector stName: ‘ContactItem’ gsName: ‘ContactItem’ dictionaryName:‘ContactsClasses’). parameters addConnector: connector | connector | (connector := GbsClassVarConnector stName: ‘ContactItems’ gsName: ‘ContactItems’ dictionaryName: ‘ContactsClasses’ stvarName: ‘SoleInstance’ gsvarName: ‘SoleInstance’) beForwarderOnConnect. parameters addConnector: connector

Conexión Cliente/Servidor/Repositorio Loguearse al repositorio de objetos parameters loginRpc Una vez hecho esto: Queda establecida la conexión entre el servidor de aplicación y la base de datos Se replicó la clase ‘ContactItem’ Se conecto la variable de clase ‘SoleInstance’ de la clase ContactItems entre la imagen servidor y la imagen cliente (todos los mensajes enviados a esta en el cliente se forwardean al servidor)

Conexión Cliente/Servidor/Repositorio Opción visual Definir los parámetros de conexión

Conexión Cliente/Servidor/Repositorio Agregar conectores entre los objetos /clases del modelo y los objetos / clases persistentes

Conexión Cliente/Servidor/Repositorio Loguearse al repositorio de objetos Para conectarse a equipos remotos debe utilizarse la opción Login Rpc Una vez hecho esto el resultado obtenido es el mismo que al realizarlo programáticamente

Conexión Cliente Web Como realizar la conexión entre el cliente web y el servidor web

Servicios Web Definir un servidor (Smalltalk HTTP Server) Crear el/los servlets necesarios Escribir las páginas dinámicas (Smalltalk Server Pages –ssp-) que hagan falta Configurar el sitio web

Web – Crear servidor Desde la consola de server se crea y configura un Smalltalk HTTP Server

Web - Servlets Un servlet es una clase que es invocada desde una página web (puede ser html, ssp, jsp o asp) Debe ser subclase de HttpServlet Protocolo: doPost, doGet, doPost:response: y doGet:response:

Web – Smalltalk Server Pages Son páginas web que contienen código smalltalk embebido en el código html El código smalltalk se ejecuta en el servidor <% msg := request anyParameterValueAt: 'msg'. msg notNil ifTrue: [ response write: ' '; write: msg; write: ' ']. %> </tr

Web – Configuración del sitio En el directorio $(VISUALWORK)/web debe existir un archivo de configuración (.ini) para el sitio [configuration contacts-site.ini] #Note: Configuration parameters are case sensitive. #Configuration file of contacts site directory = $(VISUALWORKS)/web/contacts enviroment = Smalltalk description = The contacts development site home = logon.ssp Este se tiene que referenciar desde webtools.ini contacts = contacts-site.ini *contacts es el nombre del sitio web

Web – Configuración del sitio Una vez creado y levantado el web server, escribiendo en el browser podemos ver la herramienta de configuración de VisualWorks Web Toolkithttp://localhost:8008 Si esta todo bien, en la parte inferior se va a encontrar el site contacts (configurado anteriormente) Se puede acceder a los detalles del sitio para ver y/o modificar su configuración

Persistencia de Objetos Como persistir los cambios realizados a los objetos del negocio

Persistencia de Objetos Al loguearse a GS se replican en el cliente (ambiente VW) los objetos persistidos en el repositorio

Persistencia de Objetos Luego de modificar algún objeto del modelo, ese cambio debe persistirse en la base de datos La manera de persistir / actualizar un objeto en la base de datos es la siguiente: enviándole el mensaje markDirty al objeto, lo marcamos como que fue modificado y que este cambio debe verse reflejado en la base al ejecutar el commit de la transacción es cuando se aplica el cambio

Persistencia de Objetos El objeto es modificado en el contexto del cliente

Persistencia de Objetos El objeto modificado se marca como sucio enviándole el mensaje markDirty

Persistencia de Objetos Al comitear la transacción se actualizan todos lo objetos marcados como sucios

Persistencia de cambios Ejemplo aContactItem firstName: firstName; lastName: lastName; homePhone: homePhone; workPhone: workPhone; ; markDirty aGbsSession commit

Ejemplo Práctico Desarrollo de un ejemplo práctico utilizando las herramientas descriptas

Ejemplo - Definición El ejemplo propuesto consiste en una agenda de contactos donde: Un usuario puede: Agregar usuarios Agregar, modificar o eliminar contactos

Estructura de Aplicación

Ejemplo - Diagrama de Clases

Ejemplo – Diagrama de Tres Capas

Ejemplo – Diagrama de Componentes

Preguntas

Consejo Si algo se pone muy complicado de seguro estamos haciendo algo mal, tomarse cinco minutos y repensar las cosas Aplicar la filosofía K.I.S.S. Keep It Simply Stupid