SlideShare una empresa de Scribd logo
1 de 28
TECNOLÓGICO NACIONAL DE MÉXICO
Ingeniería en Sistemas Computacionales
Programación de Base de Datos
Unidad 2: Aplicaciones con arquitectura cliente-servidor
PROGRAMACIÓN DE BASE DE DATOS
Competencia:
• Elaborar un sistema de base de datos con arquitectura cliente – servidor.
Introducción
• La arquitectura Cliente - Servidor es una forma de dividir y especializar
programas y equipos de cómputo de forma que la tarea que cada uno de
ellos realiza se efectúa con la mayor eficiencia posible y permita
simplificar las actualizaciones y mantenimiento del sistema.
PROGRAMACIÓN DE BASE DE DATOS
El Modelo Cliente/Servidor: El concepto
• Sistema distribuido donde el software está dividido entre
 Tareas servidor
 Tareas cliente
• Separación clara de responsabilidades
 Basado en la noción de servicio
PROGRAMACIÓN DE BASE DE DATOS
• Papel del cliente:
 Inicia el diálogo
 Envía peticiones al servidor conforme a algún protocolo asimétrico
 Pide que el servidor actúe, o que le informe, o ambas cosas
• Papel del servidor:
 Espera pasivamente peticiones de los clientes
 Responde a las peticiones según su política
PROGRAMACIÓN DE BASE DE DATOS
• Facilita migrar a servidor más
grande / veloz o servidores
múltiples.
• Fácil de escalar.
• Facilita añadir clientes.
• Servidor protegido contra
fallos en el cliente.
Robustez
• Despliegue independiente de
cliente y servidor
• Clientes / servidores pueden
usar el hardware y SO más
adecuados para su función.
• Reparto de cargas.
Ventajas
Escalabilidad
“vertical”
Escalabilidad
“Horizontal”
Hardware y plataformas
software (SO) heterogéneos
PROGRAMACIÓNDEBASEDEDATOS
Desventajas
PROGRAMACIÓN DE BASE DE DATOS
La congestión del tráfico ha sido siempre un problema.
Cuando un servidor está caído, las peticiones de los clientes
no pueden ser satisfechas.
Importancia de las comunicaciones.
El software y el hardware de un servidor son generalmente
muy determinantes.
Nuevas aplicaciones.
Modelo Cliente/ServidorPROGRAMACIÓNDEBASEDEDATOS
ImplicacionesPROGRAMACIÓNDEBASEDEDATOS
Clasificación
Cliente pesado/ servidor ligero
• Mayor parte de la aplicación corre en el lado cliente
• Servidor exporta datos en bruto
• Clientes saben de organización de datos en el servidor
Cliente ligero/ servidor pesado
• Mayor parte de la aplicación corre en el lado servidor
• Servidor exporta métodos que operan sobre los datos
• Cliente no es mucho más que el GUI
PROGRAMACIÓN DE BASE DE DATOS
Distribución de las aplicaciones
PROGRAMACIÓN DE BASE DE DATOS
Modelo en 3 capas
PROGRAMACIÓN DE BASE DE DATOS
• La programación por capas tiene como objetivo separar la lógica de
diseño de la lógica de negocios.
• Una de las ventajas que podemos destacar sobre este estilo es que el
desarrollo del software se puede llevar a cabo en varios tipos de niveles.
• La programación por capas es una técnica propia de la programación a
objetos, que se divide en 3 capas:
PROGRAMACIÓN DE BASE DE DATOS
Capa de presentación
PROGRAMACIÓN DE BASE DE DATOS
Se refiere a la presentación del programa frente al usuario,
esta presentación debe cumplir su propósito con el usuario
final, una presentación fácil de usar y amigable.
También las interfaces deben ser consistentes con la
información dentro del software (Por ejemplo; en los
formularios no debe haber más que lo necesario), tomar en
cuenta los requerimientos del usuario, la capa de
presentación va de la mano con capa de la lógica de negocio.
Capa de lógica de negocio
PROGRAMACIÓN DE BASE DE DATOS
En esta capa es donde se encuentran los programas que son
ejecutados, recibe las peticiones del usuario y posteriormente
envía las respuestas tras el proceso.
Esta capa es muy importantes pues es donde se establecen
todas aquellas reglas que se tendrán que cumplir, se decía
anteriormente que la capa de presentación tiene comunicación
con la capa de lógica de negocio ya que se tienen que
comunicar para recibir las solicitudes y presentar los resultados.
Capa de datos
Esta capa es la que se encarga de hacer las transacciones con la base
de datos y con otros sistemas para descargar o insertar información al
sistema.
La consistencia en los datos es sumamente importante, es decir, los
datos que se ingresan o insertan deben ser precisos y consientes.
Aquí definimos las consultas que vamos a realizar en la base de datos,
o consultas para reporteo.
La comunicación de esta capa con la capa de lógica de negocio se
refiere a que la capa de datos es la que le enviará información a la capa
de negocio para que sea procesada e ingresada en objetos según sea
necesario (encapsulamiento).
PROGRAMACIÓNDEBASEDEDATOS
Arquitectura de distintas capas
Aplicaciones comerciales se dividen en tres partes
Acceso a datos
 Gestión y acceso a datos persistentes
Presentación (o interfaz de usuario)
 Presentación de resultados al usuario de forma comprensible
Lógica de aplicación o del negocio
 El procesamiento
PROGRAMACIÓN DE BASE DE DATOS
Proyecto
1. Crear una base de datos que se llame AlumnosDB en la instancia que tiene
instalado SQL.
2. Crear una tabla en la base de datos AlumnosDB, que se llame Alumnos, con
los siguientes campos (capa de datos):
– NoControl; cadena de 10 caracteres, debe ser llave primaria.
– Nombre; cadena de 80 caracteres (incluye apellidos).
– Dirección; cadena de 80 caracteres
– Localidad; cadena de 30 caracteres
– Carrera; cadena de 5 caracteres (se admiten solo: IIND, IIA, IGE, ISC, IIAS, IMEC)
– FechaNacimiento; fecha en formato dd/mm/yyyy.
PROGRAMACIÓN DE BASE DE DATOS
3. Crear en Visual Studio C#, una DLL que
contenga las reglas de operación o reglas de
negocios (capa de negocios):
• Alta de Alumnos
• Modificación de Alumnos
• Baja de Alumnos
• Consulta de Alumnos
4. Crear en Visual Studio C#, la GUI que ha
de interactuar (hacer llamados a la DLL) con
las reglas de negocio (capa de
presentación).
5. Verificar los resultados en la base de
datos directamente.
PROGRAMACIÓN DE BASE DE DATOS
Anatomía de un programa tipo servidor en C#. La mayoría de los
servidores TCP/IP tienen un ciclo de vida similar y en nuestro caso
sería:
• Creamos una nueva instancia de TcpListener y la asociamos a la dirección
IP y al puerto que deseemos utilizando el constructor de la clase
• Inicializamos o ponemos a la escucha dicho puerto, esto se hace con el
método Start
• Una vez que un cliente se conecte el método AcceptSocket devuelve una
instancia de TcpClient que es utilizada para atender la petición del cliente
PROGRAMACIÓN DE BASE DE DATOS
• El servidor y el cliente interactúan entre ellos, normalmente a través de un
Stream de red (NetworkStream) proporcionado por el método Receive()
• El servidor puede devolver valores al cliente atreves de un ASCIIEncoding y
el método
• El servidor, el cliente o ambos cierran la conexión.
• El servidor vuelve a quedar a la escucha de nuevas conexiones en el puerto
designado.
PROGRAMACIÓN DE BASE DE DATOS
Diagrama del servidor
Crear
TcpListener
Iniciar escucha
Start
Atender peticiones
AcceptSocket
Atender peticiones
AcceptSocket y Receive()
Devuelve datos
ASCIIEncoding y GetBytes()
Cerrar y permanecer en
escucha
PROGRAMACIÓN DE BASE DE DATOS
PROGRAMACIÓNDEBASEDEDATOS
Anatomía de un programa tipo cliente. Su ciclo de vida es similar al
de los servidores:
• Creamos una instancia de la clase TcpClient y la conectamos a la dirección IP
y puerto deseados. Esto lo haremos con el método Connect
• El cliente se comunica con el servidor a través de su NetworkStream,
ASCIIEncoding
• Se mantiene el dialogo hasta que el servidor, el cliente o ambos terminan la
comunicación.
PROGRAMACIÓN DE BASE DE DATOS
PROGRAMACIÓNDEBASEDEDATOS
Proyecto
Desarrolle una aplicación cliente-servidor en 3 capas.
• La capa de presentación es el cliente y se hará ya sea en consola o en
interfaz gráfica, en esta se debe poder capturar la información
correspondiente a la tabla que se le asigne en clase de la BD Northwind.
• Al iniciar el cliente se debe abrir el archivo texto cliente.dat, el cual
contendrá en la primer línea la dirección IP y en la segunda línea el puerto
correspondientes al servidor.
• La capa de negocios es la aplicación servidor y deberá hacerse en
CONSOLA, esta recibirá como parámetro la cadena que servirá para
insertar, modificar, borrar o consultar la información proveniente del SQL
Server.
PROGRAMACIÓNDEBASEDEDATOS
• La aplicación servidor debe abrir un archivo de texto llamado servidor.dat,
el cual contiene en la primer línea el puerto con el que funciona el servidor
y en la segunda línea el nombre del servidor e instancia del SQL Server,
tercer línea el nombre de la BD, y cuarta línea tipo de seguridad.
• Dentro de la capa de negocios se debe validar que todos los datos tipo
string guarden en mayúsculas la información en la BD. También se debe
realizar aquí cualquier operación matemática que se requiera.
• La capa de datos es la instancia de SQL Server que ya tenemos instalada y
servirá para corroborar que las instrucciones enviadas desde el cliente
fueron correctamente aplicadas por el servidor.
PROGRAMACIÓNDEBASEDEDATOS
Bibliografía
• Patrick LeBlanc. 2015. Microsoft Visual C# 2013 Step by Step. EE. UU. Octal
Publishing, Inc. ISBN: 978-0-7356-8183-5.
• John Sharp. 2013. Microsoft SQL Server 2012 Step by Step PrePress. EE. UU.
Sevastopol, CA. O’Reilly Media, Inc.
PROGRAMACIÓN DE BASE DE DATOS

Más contenido relacionado

La actualidad más candente

Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Jazmin Glez.
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Maria Garcia
 
Fundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la ProgramaciónFundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la ProgramaciónJosé Antonio Sandoval Acosta
 
Lenguajes de bases de datos
Lenguajes de bases de datosLenguajes de bases de datos
Lenguajes de bases de datosralbarracin
 
Segunda forma normal
Segunda forma normalSegunda forma normal
Segunda forma normalITCV
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
Programación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la infoProgramación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la infoJosé Antonio Sandoval Acosta
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herenciajlmanmons
 
Ventajas y desventajas de visual studio
Ventajas  y desventajas de visual studioVentajas  y desventajas de visual studio
Ventajas y desventajas de visual studioruthmayhuavale
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasJosé Antonio Sandoval Acosta
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de javainnovalabcun
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Osiris Mirerus
 
3.2 manejadores de bases de datos
3.2 manejadores de bases de datos3.2 manejadores de bases de datos
3.2 manejadores de bases de datosisraelmillan8
 

La actualidad más candente (20)

Vista lógica
Vista lógicaVista lógica
Vista lógica
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)
 
Fundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la ProgramaciónFundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la Programación
 
Cocomo II
Cocomo IICocomo II
Cocomo II
 
Lenguajes de bases de datos
Lenguajes de bases de datosLenguajes de bases de datos
Lenguajes de bases de datos
 
Cuadro comparativo sgbd
Cuadro comparativo sgbdCuadro comparativo sgbd
Cuadro comparativo sgbd
 
Segunda forma normal
Segunda forma normalSegunda forma normal
Segunda forma normal
 
macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Programación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la infoProgramación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la info
 
Paradigmas de la programación
Paradigmas de la programación Paradigmas de la programación
Paradigmas de la programación
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
 
Ventajas y desventajas de visual studio
Ventajas  y desventajas de visual studioVentajas  y desventajas de visual studio
Ventajas y desventajas de visual studio
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Historia de la Programacion funcional
Historia de la Programacion funcionalHistoria de la Programacion funcional
Historia de la Programacion funcional
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
3.2 manejadores de bases de datos
3.2 manejadores de bases de datos3.2 manejadores de bases de datos
3.2 manejadores de bases de datos
 

Destacado

Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosJosé Antonio Sandoval Acosta
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónM4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónJosé Antonio Sandoval Acosta
 
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicosFundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicosJosé Antonio Sandoval Acosta
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilJosé Antonio Sandoval Acosta
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteJosé Antonio Sandoval Acosta
 
Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...
Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...
Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...José Antonio Sandoval Acosta
 
Matemáticas Discretas - Unidad 1 Sistemas numericos
Matemáticas Discretas - Unidad 1 Sistemas numericosMatemáticas Discretas - Unidad 1 Sistemas numericos
Matemáticas Discretas - Unidad 1 Sistemas numericosJosé Antonio Sandoval Acosta
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareJosé Antonio Sandoval Acosta
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloJosé Antonio Sandoval Acosta
 
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...José Antonio Sandoval Acosta
 
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...José Antonio Sandoval Acosta
 
M1 actividad 3.1 - Presentación dimensión académica
M1 actividad 3.1 - Presentación dimensión académicaM1 actividad 3.1 - Presentación dimensión académica
M1 actividad 3.1 - Presentación dimensión académicaJosé Antonio Sandoval Acosta
 
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesBD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesJosé Antonio Sandoval Acosta
 

Destacado (20)

Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónM4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
 
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicosFundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
 
Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...
Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...
Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...
 
Como hacer un Mapa Mental
Como hacer un Mapa MentalComo hacer un Mapa Mental
Como hacer un Mapa Mental
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Matemáticas Discretas - Unidad 1 Sistemas numericos
Matemáticas Discretas - Unidad 1 Sistemas numericosMatemáticas Discretas - Unidad 1 Sistemas numericos
Matemáticas Discretas - Unidad 1 Sistemas numericos
 
Ingenieria de software - Unidad 4 seguridad
Ingenieria de software - Unidad 4 seguridadIngenieria de software - Unidad 4 seguridad
Ingenieria de software - Unidad 4 seguridad
 
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015 M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
 
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
 
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
 
M1 actividad 3.1 - Presentación dimensión académica
M1 actividad 3.1 - Presentación dimensión académicaM1 actividad 3.1 - Presentación dimensión académica
M1 actividad 3.1 - Presentación dimensión académica
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesBD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
 

Similar a Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Cliente-Servidor

Sistemas cliente servidor
Sistemas cliente   servidorSistemas cliente   servidor
Sistemas cliente servidorJramos_95
 
Cliente servidor1
Cliente servidor1Cliente servidor1
Cliente servidor1Sara Amores
 
Cliente servidor -ojpc
Cliente   servidor -ojpcCliente   servidor -ojpc
Cliente servidor -ojpcoscar1108
 
Cliente servidor mv
Cliente servidor mvCliente servidor mv
Cliente servidor mvMACARENAV10
 
Arquitectura3 capas
Arquitectura3 capasArquitectura3 capas
Arquitectura3 capasIsrael Rey
 
Modelo cliente servidor
Modelo cliente servidorModelo cliente servidor
Modelo cliente servidorDiego Ortiz
 
SISTEMA DE BASE DE DATOS
SISTEMA DE BASE DE DATOSSISTEMA DE BASE DE DATOS
SISTEMA DE BASE DE DATOSNatalia Perez
 
Diapositivas Exposicion Programacion
Diapositivas Exposicion ProgramacionDiapositivas Exposicion Programacion
Diapositivas Exposicion ProgramacionHectlys Piña
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidorDG Virtual
 
Arquitectura cliente servidor 2
Arquitectura cliente servidor 2Arquitectura cliente servidor 2
Arquitectura cliente servidor 2jc_lovecraft77
 
Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.castlellanos
 

Similar a Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Cliente-Servidor (20)

Arquitectura cliente
Arquitectura cliente Arquitectura cliente
Arquitectura cliente
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Sistemas cliente servidor
Sistemas cliente   servidorSistemas cliente   servidor
Sistemas cliente servidor
 
Arquitectura web
Arquitectura webArquitectura web
Arquitectura web
 
Cliente servidor1
Cliente servidor1Cliente servidor1
Cliente servidor1
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
 
Cliente servidor -ojpc
Cliente   servidor -ojpcCliente   servidor -ojpc
Cliente servidor -ojpc
 
Clientes servidor
Clientes servidorClientes servidor
Clientes servidor
 
Cliente servidor mv
Cliente servidor mvCliente servidor mv
Cliente servidor mv
 
Arquitectura3 capas
Arquitectura3 capasArquitectura3 capas
Arquitectura3 capas
 
Modelo cliente servidor
Modelo cliente servidorModelo cliente servidor
Modelo cliente servidor
 
SISTEMA DE BASE DE DATOS
SISTEMA DE BASE DE DATOSSISTEMA DE BASE DE DATOS
SISTEMA DE BASE DE DATOS
 
Cliente servidor1
Cliente servidor1Cliente servidor1
Cliente servidor1
 
Diapositivas Exposicion Programacion
Diapositivas Exposicion ProgramacionDiapositivas Exposicion Programacion
Diapositivas Exposicion Programacion
 
Trabajo carlos
Trabajo carlosTrabajo carlos
Trabajo carlos
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Apuntes entorno cliente servidor
Apuntes entorno cliente   servidorApuntes entorno cliente   servidor
Apuntes entorno cliente servidor
 
Arquitectura cliente servidor 2
Arquitectura cliente servidor 2Arquitectura cliente servidor 2
Arquitectura cliente servidor 2
 
Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.
 
Taller 4 - Teleinformatica
Taller 4 - TeleinformaticaTaller 4 - Teleinformatica
Taller 4 - Teleinformatica
 

Más de José Antonio Sandoval Acosta

Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosJosé Antonio Sandoval Acosta
 

Más de José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 

Último

Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalaciónQualityAdviceService
 
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptxG4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptxMaxPercyBorjaVillanu
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxcarlosEspaaGarcia
 
TAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientosTAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientoscuentaparainvestigac
 
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdfGustavoAdolfoDiaz3
 
ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................Juan293605
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESJHONJAIROVENTURASAUC
 
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)samuelsan933
 
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxfranklingerardoloma
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfrefrielectriccarlyz
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processbarom
 
1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricasurAN077
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxjhorbycoralsanchez
 
TRABAJO N°2 GERENCIA DE PROYECTOS (4).pdf
TRABAJO N°2 GERENCIA DE PROYECTOS (4).pdfTRABAJO N°2 GERENCIA DE PROYECTOS (4).pdf
TRABAJO N°2 GERENCIA DE PROYECTOS (4).pdfVladimirWashingtonOl
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOeldermishti
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...WeslinDarguinHernand
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEduardoBriones22
 
Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potableFabricioMogroMantill
 

Último (20)

Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptxG4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptx
 
TAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientosTAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientos
 
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
 
ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
 
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
 
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
 
422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
TRABAJO N°2 GERENCIA DE PROYECTOS (4).pdf
TRABAJO N°2 GERENCIA DE PROYECTOS (4).pdfTRABAJO N°2 GERENCIA DE PROYECTOS (4).pdf
TRABAJO N°2 GERENCIA DE PROYECTOS (4).pdf
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
 
Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potable
 

Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Cliente-Servidor

  • 1. TECNOLÓGICO NACIONAL DE MÉXICO Ingeniería en Sistemas Computacionales Programación de Base de Datos Unidad 2: Aplicaciones con arquitectura cliente-servidor
  • 2. PROGRAMACIÓN DE BASE DE DATOS Competencia: • Elaborar un sistema de base de datos con arquitectura cliente – servidor.
  • 3. Introducción • La arquitectura Cliente - Servidor es una forma de dividir y especializar programas y equipos de cómputo de forma que la tarea que cada uno de ellos realiza se efectúa con la mayor eficiencia posible y permita simplificar las actualizaciones y mantenimiento del sistema. PROGRAMACIÓN DE BASE DE DATOS
  • 4. El Modelo Cliente/Servidor: El concepto • Sistema distribuido donde el software está dividido entre  Tareas servidor  Tareas cliente • Separación clara de responsabilidades  Basado en la noción de servicio PROGRAMACIÓN DE BASE DE DATOS
  • 5. • Papel del cliente:  Inicia el diálogo  Envía peticiones al servidor conforme a algún protocolo asimétrico  Pide que el servidor actúe, o que le informe, o ambas cosas • Papel del servidor:  Espera pasivamente peticiones de los clientes  Responde a las peticiones según su política PROGRAMACIÓN DE BASE DE DATOS
  • 6. • Facilita migrar a servidor más grande / veloz o servidores múltiples. • Fácil de escalar. • Facilita añadir clientes. • Servidor protegido contra fallos en el cliente. Robustez • Despliegue independiente de cliente y servidor • Clientes / servidores pueden usar el hardware y SO más adecuados para su función. • Reparto de cargas. Ventajas Escalabilidad “vertical” Escalabilidad “Horizontal” Hardware y plataformas software (SO) heterogéneos PROGRAMACIÓNDEBASEDEDATOS
  • 7. Desventajas PROGRAMACIÓN DE BASE DE DATOS La congestión del tráfico ha sido siempre un problema. Cuando un servidor está caído, las peticiones de los clientes no pueden ser satisfechas. Importancia de las comunicaciones. El software y el hardware de un servidor son generalmente muy determinantes. Nuevas aplicaciones.
  • 10. Clasificación Cliente pesado/ servidor ligero • Mayor parte de la aplicación corre en el lado cliente • Servidor exporta datos en bruto • Clientes saben de organización de datos en el servidor Cliente ligero/ servidor pesado • Mayor parte de la aplicación corre en el lado servidor • Servidor exporta métodos que operan sobre los datos • Cliente no es mucho más que el GUI PROGRAMACIÓN DE BASE DE DATOS
  • 11. Distribución de las aplicaciones PROGRAMACIÓN DE BASE DE DATOS
  • 12. Modelo en 3 capas PROGRAMACIÓN DE BASE DE DATOS
  • 13. • La programación por capas tiene como objetivo separar la lógica de diseño de la lógica de negocios. • Una de las ventajas que podemos destacar sobre este estilo es que el desarrollo del software se puede llevar a cabo en varios tipos de niveles. • La programación por capas es una técnica propia de la programación a objetos, que se divide en 3 capas: PROGRAMACIÓN DE BASE DE DATOS
  • 14. Capa de presentación PROGRAMACIÓN DE BASE DE DATOS Se refiere a la presentación del programa frente al usuario, esta presentación debe cumplir su propósito con el usuario final, una presentación fácil de usar y amigable. También las interfaces deben ser consistentes con la información dentro del software (Por ejemplo; en los formularios no debe haber más que lo necesario), tomar en cuenta los requerimientos del usuario, la capa de presentación va de la mano con capa de la lógica de negocio.
  • 15. Capa de lógica de negocio PROGRAMACIÓN DE BASE DE DATOS En esta capa es donde se encuentran los programas que son ejecutados, recibe las peticiones del usuario y posteriormente envía las respuestas tras el proceso. Esta capa es muy importantes pues es donde se establecen todas aquellas reglas que se tendrán que cumplir, se decía anteriormente que la capa de presentación tiene comunicación con la capa de lógica de negocio ya que se tienen que comunicar para recibir las solicitudes y presentar los resultados.
  • 16. Capa de datos Esta capa es la que se encarga de hacer las transacciones con la base de datos y con otros sistemas para descargar o insertar información al sistema. La consistencia en los datos es sumamente importante, es decir, los datos que se ingresan o insertan deben ser precisos y consientes. Aquí definimos las consultas que vamos a realizar en la base de datos, o consultas para reporteo. La comunicación de esta capa con la capa de lógica de negocio se refiere a que la capa de datos es la que le enviará información a la capa de negocio para que sea procesada e ingresada en objetos según sea necesario (encapsulamiento). PROGRAMACIÓNDEBASEDEDATOS
  • 17. Arquitectura de distintas capas Aplicaciones comerciales se dividen en tres partes Acceso a datos  Gestión y acceso a datos persistentes Presentación (o interfaz de usuario)  Presentación de resultados al usuario de forma comprensible Lógica de aplicación o del negocio  El procesamiento PROGRAMACIÓN DE BASE DE DATOS
  • 18. Proyecto 1. Crear una base de datos que se llame AlumnosDB en la instancia que tiene instalado SQL. 2. Crear una tabla en la base de datos AlumnosDB, que se llame Alumnos, con los siguientes campos (capa de datos): – NoControl; cadena de 10 caracteres, debe ser llave primaria. – Nombre; cadena de 80 caracteres (incluye apellidos). – Dirección; cadena de 80 caracteres – Localidad; cadena de 30 caracteres – Carrera; cadena de 5 caracteres (se admiten solo: IIND, IIA, IGE, ISC, IIAS, IMEC) – FechaNacimiento; fecha en formato dd/mm/yyyy. PROGRAMACIÓN DE BASE DE DATOS
  • 19. 3. Crear en Visual Studio C#, una DLL que contenga las reglas de operación o reglas de negocios (capa de negocios): • Alta de Alumnos • Modificación de Alumnos • Baja de Alumnos • Consulta de Alumnos 4. Crear en Visual Studio C#, la GUI que ha de interactuar (hacer llamados a la DLL) con las reglas de negocio (capa de presentación). 5. Verificar los resultados en la base de datos directamente. PROGRAMACIÓN DE BASE DE DATOS
  • 20. Anatomía de un programa tipo servidor en C#. La mayoría de los servidores TCP/IP tienen un ciclo de vida similar y en nuestro caso sería: • Creamos una nueva instancia de TcpListener y la asociamos a la dirección IP y al puerto que deseemos utilizando el constructor de la clase • Inicializamos o ponemos a la escucha dicho puerto, esto se hace con el método Start • Una vez que un cliente se conecte el método AcceptSocket devuelve una instancia de TcpClient que es utilizada para atender la petición del cliente PROGRAMACIÓN DE BASE DE DATOS
  • 21. • El servidor y el cliente interactúan entre ellos, normalmente a través de un Stream de red (NetworkStream) proporcionado por el método Receive() • El servidor puede devolver valores al cliente atreves de un ASCIIEncoding y el método • El servidor, el cliente o ambos cierran la conexión. • El servidor vuelve a quedar a la escucha de nuevas conexiones en el puerto designado. PROGRAMACIÓN DE BASE DE DATOS
  • 22. Diagrama del servidor Crear TcpListener Iniciar escucha Start Atender peticiones AcceptSocket Atender peticiones AcceptSocket y Receive() Devuelve datos ASCIIEncoding y GetBytes() Cerrar y permanecer en escucha PROGRAMACIÓN DE BASE DE DATOS
  • 24. Anatomía de un programa tipo cliente. Su ciclo de vida es similar al de los servidores: • Creamos una instancia de la clase TcpClient y la conectamos a la dirección IP y puerto deseados. Esto lo haremos con el método Connect • El cliente se comunica con el servidor a través de su NetworkStream, ASCIIEncoding • Se mantiene el dialogo hasta que el servidor, el cliente o ambos terminan la comunicación. PROGRAMACIÓN DE BASE DE DATOS
  • 26. Proyecto Desarrolle una aplicación cliente-servidor en 3 capas. • La capa de presentación es el cliente y se hará ya sea en consola o en interfaz gráfica, en esta se debe poder capturar la información correspondiente a la tabla que se le asigne en clase de la BD Northwind. • Al iniciar el cliente se debe abrir el archivo texto cliente.dat, el cual contendrá en la primer línea la dirección IP y en la segunda línea el puerto correspondientes al servidor. • La capa de negocios es la aplicación servidor y deberá hacerse en CONSOLA, esta recibirá como parámetro la cadena que servirá para insertar, modificar, borrar o consultar la información proveniente del SQL Server. PROGRAMACIÓNDEBASEDEDATOS
  • 27. • La aplicación servidor debe abrir un archivo de texto llamado servidor.dat, el cual contiene en la primer línea el puerto con el que funciona el servidor y en la segunda línea el nombre del servidor e instancia del SQL Server, tercer línea el nombre de la BD, y cuarta línea tipo de seguridad. • Dentro de la capa de negocios se debe validar que todos los datos tipo string guarden en mayúsculas la información en la BD. También se debe realizar aquí cualquier operación matemática que se requiera. • La capa de datos es la instancia de SQL Server que ya tenemos instalada y servirá para corroborar que las instrucciones enviadas desde el cliente fueron correctamente aplicadas por el servidor. PROGRAMACIÓNDEBASEDEDATOS
  • 28. Bibliografía • Patrick LeBlanc. 2015. Microsoft Visual C# 2013 Step by Step. EE. UU. Octal Publishing, Inc. ISBN: 978-0-7356-8183-5. • John Sharp. 2013. Microsoft SQL Server 2012 Step by Step PrePress. EE. UU. Sevastopol, CA. O’Reilly Media, Inc. PROGRAMACIÓN DE BASE DE DATOS