Beruflich Dokumente
Kultur Dokumente
TRANSACCIONALES
PROFESOR:
INTRODUCCIÓN ...................................................................................................................... 2
JUSTIFICACIÓN ..................................................................................................................... 3
OBJETIVOS ............................................................................................................................. 4
OBJETIVO GENERAL ...................................................................................................................... 4
Tabla Movimientos............................................................................................................................ 15
Socket Cliente.................................................................................................................................... 20
1
INTRODUCCIÓN
socket, haremos un breve repaso por la historia del socket. También se encontrará en este
importante conocer en principio que un socket es un punto de comunicación a través del cual
un proceso puede enviar y recibir información, esto se conoce comúnmente como cliente
servidor. La comunicación entre cliente y servidor debe ser confiable; esto quiere decir que
no se pueden perder datos, y que éstos deben llegar al cliente en el mismo orden en el cual
2
JUSTIFICACIÓN
existe una gran demanda para generar mecanismos que puedan mantener interconectadas las
aplicaciones y las bases de datos, no solo las grandes empresas tienen la necesidad de contar
con sistemas de conexión para tener su información disponible, también se crean a diario
muchas aplicaciones para la diversión y el ocio. en esta necesidad cada vez más amplia y
creciente trabajaremos el estudio del socket y su construcción teniendo presente que existen
tecnologías
3
OBJETIVOS
OBJETIVO GENERAL
teórico existente
OBJETIVOS ESPECIFICOS
4
ESTADO DEL ARTE
Para conocer el principio del socket debemos remitirnos a la primera computadora creada en
1941, el ingeniero alemán Konrad Zuse, una de las primeras máquinas programables y
de potencia y tenia un gran peso. Todo inicio con tubos al vacío y tarjetas perforadas
circuitos integrados, con lo que se redujo el tamaño de estas y donde inicia con la
través de redes
En la década de los 80 los equipos cuentan con mas transistores y circuitos integrados que
hace los equipos mas pequeños, pero solo contaban con estas máquinas las grandes empresas,
el NPC (Network Control Protocol) también deriva de este el protocolo FTP que se empezó
a utilizar en abril de 1971, publicado como el RFC 114, antes de que existiera la pila TCP/IP.
protocolos, el TCP y el IP. El objetivo es que los ordenadores se comuniquen de una forma
vehículo de entrega para las imágenes, gráficos, video, hipertexto u otros datos en la Web.
Mientras se recorre la web, el explorador intercambia mensajes con los servidores Web
5
gracias al HTTP. Así vamos avanzando a otros tipos de protocolos como el TELNET un
protocolo proporciona reglas básicas que permiten vincular a un cliente con un intérprete de
comandos del lado del servidor, surgen otros protocolos en 1982 por ejemplo surge el
protocolo MTP (Simple Mail Transfer Protocol) es un protocolo de la familia del TCP/IP
Se crean una gran variedad de protocolos donde destacamos también el protocolo SSH
correspondiente
SOCKET:
se ejecutan en la red. Un socket se asocia a un número de puerto, para que TCP pueda
Originalmente se construyó a principios de los 80, en los orígenes de internet las primeras
implementación tuvo lugar en una variante del sistema operativo Unix conocida como BSD
Unix. Pronto se hizo evidente que los programadores necesitarían un medio sencillo y eficaz
para escribir programas capaces de intercomunicarse entre sí, esta necesidad dio origen a la
primera especificación e implementación de sockets, también en Unix. Hoy en día los sockets
6
están implementados como bibliotecas de programación para multitud de sistemas
computadoras distintas” pueden intercambiar cualquier flujo de datos, por lo general de una
En las aplicaciones cliente / servidor, el servidor proporciona algún servicio, como, por
comunicación entre cliente y servidor debe ser confiable; esto quiere decir que no se pueden
perder datos, y que éstos deben llegar al cliente en el mismo orden en el cual fueron enviados
TCP proporciona un canal de comunicación confiable, punto a punto, que las aplicaciones
cliente / servidor utilizan para comunicarse entre ellas a través de Internet. Para comunicarse
a través de TCP, se establece una conexión entre el programa cliente y el programa servidor.
Para entender este concepto de una manera sencilla es haciendo un paralelo con una
conversación por teléfono o una conversación usando el chat, donde cada uno de los
al conjunto de sockets con los cuales se establece comunicación. Los sockets usan protocolos
de comunicación los cuales son: TCP, UDP, IP, y alguno de los dominios son:
7
• AF_NS /* Protocolos propiedad de XEROX */
• AF_APPLETALK /* De Apple */
• AF_SNA /* IBM */
sistema operativo.
provenientes de la tarjeta de red a los procesos o hilos apropiados, el socket queda definido
Creación de un Socket:
Para la creación del socket se utiliza la arquitectura cliente servidor, en esta, el servidor se
encuentra a la espera de que sus servicios sean llamados o utilizados por otras aplicaciones,
y la red.
El socket puede ser programado en varios lenguajes de programación como java, C# etc. Para
bytes.
IPPROTO_TCP);
Familia de Protocolos
Tipo de servicio
Dirección IP Local
Dirección IP Remota
9
• PF_INET: Protocolos de Internet versión 4.
SOCK_DGRAM: Mensajes sin conexión, con datagramas de tamaño máximo dijo y sin
conexión
fija.
3) Después de tener del dominio y el tipo se debe elegir el protocolo que usara el conector a
crear, normalmente caca dominio y tipo admite un protocolo particular, ya que su valor
4) Los sockets deben ser asociados a un puerto ya que el clienye necesita conocer el puerto
5) Cerrar conexión del socket se debe realizar con una función la cual retorna un 0 cuando se
cierra la transacción.
Cada vez que la aplicación llama a la función socket, la implementación de esta reserva
memoria para una nueva estructura de datos y almacena la dirección de la familia, el tipo de
socket y el protocolo.
El valor devuelto por la función es un entero; si el resultado es mayor o igual a cero indica que
Una vez creado el socket, utilizando la función socket, se pueden utilizar las funciones de
del socket.
En resumen, un socket es un punto de comunicación a través del cual un proceso puede enviar
BASE DE DATOS
Creamos 5 tablas las cuales son: países, ciudades, clientes, saldos y movimientos
Tabla Países
La tabla países cuenta con los campos ID, tomando id como llave Primaria, NOMBRE,
FECHA_CREACIÓN, FECHA_ACTUALIZACIÓN
12
Tabla Ciudades
La tabla ciudades cuenta con los campos ID, NOMBRE, FECHA_CREACION,
como llave foránea PAIS_ID, haciendo una referencia a tabla países y agregando un update
Tabla Clientes
La tabla cliente cuenta con los campos ID, NOMBRE, IDENTIFICACIÓN, DIRECCION,
como llave primaria el campo ID y como llaves foráneas PAIS_ID y CIUDAD_ID, haciendo
una referencia a las tablas países y ciudades agregando un update y un delete en modo
CASCADE
13
Tabla Saldos
La tabla saldos cuenta con los campos ID, VALOR, CLIENTE_id Y FECHA, se ha tomado
como llave primaria el campo ID y como llave foránea el campo CLIENTE_ID, haciendo
una referencia a la tabla clientes y por ultimo agregando un update y un delete en modo
CASCADE
14
Tabla Movimientos
La tabla movimientos tiene los campos ID, TIPO, VALOR, CLIENTE_ID y FECHA, se ha
tomado el campo ID como llave primaria y el campo CLIENTE_ID haciendo una referencia
15
MODELO ENTIDAD RELACIÓN
A continuación, se presenta el modelo entidad relación que creamos para la base de datos
BANCO_XYZ
16
CONCLUSIONES ENTREGA 1
El socket es un programa controlado, el cual usa protocolos de red para realizar operaciones
entre distintas aplicaciones.
Las características de cada socket dependen del protocolo escogido, el más utilizado es
el Transmission Control Protocol.
Los sockets son procesos seguros ya que permiten realizar transacciones seguras en tiempo
real.
La evolución del socket a través del tiempo ha permitido mejorar procesos de seguridad en las
transacciones.
ENTREGA 2 SEMANA 5
2. Socket cliente que llama al socket server para crear un cliente (inserción de un dato).
3. Agregar al documento el código de cada operación y explicar que hace cada programa
(documentar el programa).
17
Para el desarrollo de la actividad se utiliza Python en la creación de los Sockets cliente y
servidor de la siguiente manera:
La librería socket de python provee clases específicas para manejar el transporte común, así
como también una interfaz genérica para controlar todo lo demás.
• socket()
• bind()
• listen()
• accept()
• connect()
• connect_ex()
• send()
• recv()
• close()
También se realiza la importación de la librería pickle:
El módulo pickle implementa un algoritmo para convertir un objeto arbitrario Python en una
serie de bytes. Este proceso es también llamado serialización de objetos. El flujo de bytes que
representa al objeto puede ser transmitido o almacenado, y luego reconstruido para crear un
nuevo objeto con las mismas características.
18
Socket Server (demonio)
Se crea la clase ClientData con sus respectivos campos:
Se establece la dirección IP del host para el socket, el puerto y se procede con la creación del
socket:
Al realizar la conexión por parte del cliente en el socket server se indica la dirección IP desde
la cual se origina.
19
Socket Cliente
Vamos a escribir un programa que defina un cliente que abra la conexión en un puerto y host
dado. Esto es muy simple de hacer con la función socket_client.connect(host, port) que abre
una conexión TCP al hostname en el puerto port. Una vez hayamos abierto un
objecto socket podemos leer y escribir en este como cualquier otro objeto de entrada y salida
(IO), siempre recordando cerrarlo tal como cerramos archivos después de trabajar con estos.
Igual que el socket server, se realiza la importación de las librerías socket y pickle
20
21
Ahora establecemos conexión con la base de datos PostgreSql y generamos un INSERT de
cliente:
Importamos la librería Psycopg2 que es el adaptador de base de datos PostgreSQL más popular
pues es ligero y eficiente. Es la implementación actual del adaptador PostgreSQL.
Todas las transacciones a la base de datos las hace el archivo connect.py el cual usa las
librerías Datetime y pickle y por ultimo importamos el archivo config retrona la configuración
para acceder a la base de datos.
22
Se realizan consultas de países y ciudades y se realiza el INSERT del cliente verificando que
le número de identificación no exista previamente:
23
Se realiza consulta del cliente por número de identificación lo cual retorna el ID
24
Por último, está el archivo de configuración:
Se importa configparser, este se usa para gestionar archivos de configuración editables por el
usuario para una aplicación. El contenido de los archivos de configuración se puede organizar
en grupos y se admiten varios tipos de valores de opción, incluidos enteros, valores de coma
flotante y booleanos. Los valores de las opciones se pueden combinar utilizando cadenas de
formateo de Python, para crear valores más largos, como URLs de valores más cortos, como
nombres de host y números de puerto.
25
CONCLUSIÓN ENTREGA 2
A nivel de grupo ha sido motivante y enriquecedor trabajar con este tipo de conexiones y
poder entender cómo se envía la información por red más exactamente con sistemas de
sockets.
Básicamente esta siendo un reto muy interesante ya que como grupo tomamos la decisión de
desarrollar cada uno el sistema de sockets. unos lo trabajamos con Python otros con Java, pero
cada vez que nos reuníamos fuimos compartiendo este conocimiento y resolviendo dudas.
Finalmente concluimos en dejar la versión en Python con la cual pudimos avanzar mucho más
y cumplir con la entrega.
26
REFERENCIAS BIBLIOGRÁFICAS
Creación de un Socket
http://informatica.uv.es/iiguia/R/apuntes/laboratorio/Uso.pdf
27