Programando Aplicaciones Web con Bases de Datos y Perl



Documentos relacionados
APLICACIONES WEB PERL + BASES DE DATOS REQUERIMIENTO RESPUESTA

Programando Aplicaciones Web con Base de Datos y Python

REQUERIMIENTO RESPUESTA

Acceso a bases de datos en Perl

Diplomado Programación Web con PHP, MySQL 5.0, Apache y Ajax

PROGRAMACIÓN PÁGINAS WEB CON PHP

Programación páginas web. Servidor (PHP)

MySQL 5 (versiones 5.1 a 5.6) Guía de referencia del desarrollador

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra.


Curso de Programación PHP

XPERTO EN DISEÑO DE PÁGINAS WEB

PROGRAMACIÓN PÁGINAS WEB JAVASCRIPT Y PHP

PHP 5.6 Desarrollar un sitio web dinámico e interactivo

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Manual de NetBeans y XAMPP

FORMACIÓN Modelo de programación web y bases de datos

Sistemas de Datos Curso: Ernesto Chinkes. Sistemas de Datos. Niveles de Control de acceso. Criptografía. Aspectos legales y éticos.

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Programación páginas web JavaScript y PHP

Oracle 12c DISEÑO Y PROGRAMACIÓN

PROGRAMACIÓN EN PHP. 1. Identificar las características y modalidad de programación bajo PHP.

PROGRAMANDO UNA BASE DE DATOS PostgreSQL ADMINISTRACIÓN INTRODUCCIÓN (L32)

Proyectos profesionales con PHP 5 Francisco Charte Ojeda

DESARROLLO WEB INTENSIVO

1

Fundamentos de programación Estudia las estructuras de control y cómo definir funciones en JavaScript.

Guía práctica PHP 6. (c) Francisco Charte Ojeda

Implementación de una Solución Tecnológica para la Gestión y Control de la Planificación Institucional del Gobierno Regional de Los Lagos

Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL BÁSICO

INTRODUCCIÓN PRÁCTICA. Clase 25/08/2008

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )

Base de Datos Oracle 10g: Introducción a SQL Código: D Duración: 5 días (40 horas)

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Base de datos relacional

Seguridad en SQL Server 2005

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Curso Online de Oracle 10g

CURSO DE PROGRAMACIÓN PHP MySQL

Seguridad de la Información Permisos. Sistemas de Bases de Datos II - ITS EMT - CETP

MAESTRO DE PHP PHP NIVEL 1

Entorno de desarrollo

GALA MODELO CLIENTE SERVIDOR SQL SERVER MANAGEMENT STUDIO SERVIDOR SQL BASES DE DATOS. Introducción. Describir SQL Server (L1)

ADMINISTRACIÓN DE SERVIDORES DE WWW. CURSO 2001/2002 J. RAMÓN GARCÍA ESCRIVÁ (DSIC - UPV) 14. APÉNDICE 8: CONECTIVIDAD CON BASES DE DATOS

Conexión a Bases de Datos en PHP

Estándares Web: XHTML y CSS - Usabilidad - Accesibilidad. Desarrollo de Sitios Web de Calidad, Usables, Seguros, Válidos y Accesibles

ESPECIALISTA EN BASE DE DATOS

Capítulo III. Diseño del sistema. Dentro de este capítulo veremos a detalle el diseño del sistema, que como se había

APACHE, SERVIDOR WEB OPERACIÓN L21. VARIABLES DE AMBIENTE

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web

Programación páginas web JavaScript y PHP

1 Índice Introducción Propósito Alcance Modelo Arquitectónico Inicial... 3

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

ÍNDICE. Capítulo 1. Conceptos de base de datos de SQL Azure... 1

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

Aplicaciones de las vistas Concepto de vista Vistas en SQL Vistas en SQL.

SEGURIDAD OCTUBRE Versión 1

Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL AVANZADO

Microsoft SQL Server 2005

OpenProdoc. ECM Open Source

3 Consultas y subconsultas

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

Java y MySQL. Ciclo de ejecución

VI Sextas Jornadas Regionales de Software Libre

TEMA 1.- Conceptos Generales y Entorno de Trabajo Objetivo

Programación páginas web con ASP.NET 3.5 (C#)

REQUISITOS DEL SISTEMA. Software Servidor. Cliente. Hardware Servidor. Cliente

Cómo abrir las bases de datos de Aspel-NOI 5.0?

/ FUNDAMENTOS DE DESARROLLO DE SOFTWARE

1

ANÁLISIS TEÓRICO/PRÁCTICO DE LA TRADUCCIÓN DE: INFORMIX-4GL A JAVA ÁNGEL SUÁREZ GARCÍA JUNIO DE 2008

Guía del Curso Analista Programador PHP Javascript

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Patrones para persistencia (I) Ingeniería del Software II

Desarrollo de Software con

Jorge Valhondo Vazquez. Implantación Aplicaciones Informáticas de Gestión ASI2

CAPITULO 9. Diseño de una Base de Datos Relacional Distribuida

CONSEJO. 1.1 Instalación del paquete XAMPP bajo Windows Vista

Cómo abrir la base de datos de Aspel-SAE 5.0?

Studium, Campus Virtual de la Universidad de Salamanca.

CÓDIGO: 773 CRÉDITOS: 4 POST REQUISITO: CATEGORÍA: Obligatorio SEMESTRE: 2do AUXILIAR: EDIFICIO: T-5, T-3 SECCIÓN: A+ / A-

CONTROL DE ACCESO. curso 2008

Práctica 2: Instalación de un gestor de bases de datos relacionales y desarrollo de una aplicación Web con persistencia de datos

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1)

Dirigido a Profesionales y técnicos de informática que se inicien en el manejo de la base de datos Oracle 11g

INDICE Parte I: Qué es Visual Foxpro Capitulo 1: Características del Producto

INTEGRACION DE BASES DE DATOS EN LA WEB

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional

RUEDA TORRES DULCE CAROLINA 3CM2. MySQL CON NET BEANS PRÁCTICA 8

Arquitectura Cliente/Servidor

Introducción a JDBC - Base de datos con Java

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1

UNIVERSIDAD DE OVIEDO

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

Marcos de Desarrollo. Diseño e implementación de aplicaciones Web con.net

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA

Trabajo Práctico Guía de Instalación

PLATAFORMA i-datum Desarrollo e Implementación

PORTAL DE LA CIUDAD DIGITAL DE MAZARRÓN ESQUEMA DE MÓDULOS DE LA PLATAFORMA

Transcripción:

Sé diferente, intégrate Mca051 Programando Aplicaciones Web con Bases de Datos y Perl Autor: Orlando Gutiérrez Fecha: 01/01/2010 Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 1

ÍNDICE Lección1 Arquitectura de Bases de Datos en WEB... 3 Lección2 Configurando usuarios para la WEB... 3 Lección3 Operación de Bases de Datos en WEB... 3 Lección4 Pasos para consultar una Bases de Datos en WEB... 4 Lección5 Estableciendo y cerrando una conexión... 4 Lección6 Consultando la Base de Datos... 4 Lección7 Manipulando los datos de la consulta... 4 Lección8 Mostrando los resultados de la consulta al usuario final... 5 Lección9 API DBI... 5 Lección11 Módulo de PERL con PostgreSQL... 7 Lección12 Comandos acceso a Bases de Datos embebidos en scripts PERL... 7 Lección13 Seguridad en bases de datos WEB... 7 Lección14 Modelo de abstracción de datos... 7 Lección15 Implementando autenticación combinando PERL y Bases de Datos... 7 Lección16 Control de acceso... 8 Lección17 Conceptos de autenticación básica... 8 Lección18 Autenticación básica en PERL... 8 Lección19 Autenticación en Apache con Base de Datos... 8 Lección20 Transacciones seguras con PHP y Base de Datos... 9 Lección21 Encriptación en PERL... 9 Lección22 PERL y Bases de Datos en proyectos de gran escala... 10 Lección23 Desarrollo multi-capa, separando la lógica de negocios del contenido de la página Web... 10 Lección24 Manejando errores generados por las Bases de datos desde PERL... 10 Lección25 Ejemplos de aplicaciones... 11 Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 2

LECCIÓN1 ARQUITECTURA DE BASES DE DATOS EN WEB ARQUITECTURA CLIENTE SERVIDOR ARQUITECTURA WEB CON PERL + BD LECCIÓN2 CONFIGURANDO USUARIOS PARA LA WEB CONFIGURANDO USUARIOS PARA WEB PROGRAMÁTICAMENTE A TRAVÉS DE COMANDOS GRANT Y REVOKE PERMISOLOGÍA DIRECTA EN MYSQL O POSTGRESQL COMMANDO DE CONEXIÓN CON USUARIO, PASSWORD Y BASE DE DATOS COMANDOS GRANT Y REVOKE GRANT privilegios [columnas] ON elemento TO usuario [WITH GRANT OPTION] REVOKE privilegios [(columnas)] ON elemento FROM usuario TIPOS DE PRIVILEGIOS SELECT (TABLAS Y COLUMNAS) INSERT (TABLAS Y COLUMNAS) UPDATE (TABLAS Y COLUMNAS) DELETE (TABLAS) INDEX (TABLAS) ALTER (TABLAS) CREATE (BASES DE DATOS Y TABLAS) DROP (BASES DE DATOS Y TABLAS) EJEMPLO DE GRANT Y REVOKE GRANT ALL ON * TO ADMIN WITH GRANT OPTION REVOKE ALL ON * FROM ADMIN UN USUARIO WEB PRIVILEGIOS DE SELECT, INSERT, UPDATE, DELETE SOBRE UNA BASE DE DATOS GRANT SELECT, INSERT, UPDATE, DELETE ON SISTORDCOMPRA.* TO E022 LECCIÓN3 OPERACIÓN DE BASES DE DATOS EN WEB OPERACIONES DE BASES DE DATOS EN WEB INSERTANDO, INSERT COMMAND INSERT INTO tabla [(cola, colb, )] VALUES (vala, valb, ) SELECCIONANDO, SELECT COMMAND ACTUALIZANDO, UPDATE COMMAND ELIMINANDO, DELETE COMMAND Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 3

LECCIÓN4 PASOS PARA CONSULTAR UNA BASES DE DATOS EN WEB CONSULTA BASES DE DATOS EN WEB PROCESAR LOS DATOS DE LA CONSULTA (EVITAR ERRORES U OPERACIONES SOSPECHOSAS) CONEXIÓN BASE DE DATOS EJECUCIÓN COMANDOS ( QUERIES ) PROCESAMIENTO DEL RESULTADO (ESTILO CURSOR) MOSTRAR LOS RESULTADOS DE LA CONSULTA AL USUARIO LECCIÓN5 ESTABLECIENDO Y CERRANDO UNA CONEXIÓN CONEXIONES EN PERL EL ACCESO A LAS BASES DE DATOS SE REALIZA A TRAVÉS DE MÓDULOS (DBI) EL ACCESO A LAS BASES DE DATOS SE LOGRA A TRAVÉS DE MÉTODOS DISPONIBLES EN EL MODULO EL MÓDULO OFRECE UN CONJUNTO DE MÉTODOS (EJEMPLO connect disconnect ) OBJETOS PARA MANEJADORES DE B.D ENCAPSULAN UNA CONEXION DE BASE DE DATOS POR CONVENCIÓN SE DECLARAN COMO $dbh DBH ES LA NOMENCLATURA DE DATA BASE HANDLER CONNECT DISCONNECT METODO prepare CON UN COMANDO SQL DEVUELVE UN OBJETO UTILIZADO PARA EJECUTAR LOS COMANDOS LECCIÓN6 CONSULTANDO LA BASE DE DATOS CONSULTANDO LA BASE DE DATOS SE REALIZA A TRAVÉS DE LOS OBJETOS STATEMENT, DEVUELTO POR EL MÉTODO prepare $sth = $dbh->prepare ( SELECT * FROM gala ) EL COMANDO execute, EJECUTA EL COMANDO $sth->execute() LOS OBJETOS STH SON CURSORES, OFRECEN CURSORES STH ES LA ABREVIATURA DE Statement Handler LECCIÓN7 MANIPULANDO LOS DATOS DE LA CONSULTA CURSORES CONCEPTO DE CURSOR DE BASE DE DATOS LOS OBJETOS STE SON CURSORES @reg=$sth->fetchrow_array() DEVUELVE EN UN ARREGLO EL PRIMER REGISTRO DE LA CONSULTA Y AVANZA AL SIGUIENTE LOS OTROS MÉTODOS DISPONIBLES SON fetchrow_arrayref fetchrow_hashref Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 4

PROCESO DE OBTENCIÓN DE DATOS 1) PREPARACIÓN : MÉTODO prepare CON EL COMANDO SQL. OBJETO $dbh $sth = $dbh->prepare( SELECT * FROM gala ); 2) EJECUCUCIÓN ; MÉTODO execute DEL OBJETO $sts $sth -> execute(); 3) PROCESAMIENTO DE RECURSOS ESTILO CURSOR while($arr = $sth->fetchrow_array()) {..} 4) LIBERACIÓN DE RECURSOS CON EL MÉTODO finish. $sth -> finish(); LECCIÓN8 MOSTRANDO LOS RESULTADOS DE LA CONSULTA AL USUARIO FINAL MOSTRANDO RESULTADOS UNA VEZ ALMACENADOS EN VARIABLES PERL, IGUAL A CUALQUIER SCRIPT RECORDAR FORMATEO COMBINAR TEXTO HTML CON RESULTADOS DE CONSULTAS O COMANDOS DE BASE DE DATOS DENTRO DE PERL LECCIÓN9 API DBI API DBI DBI DATA BASE INTERFACE ES UN API PARA TRABAJAR CON BASE DE DATOS ES UN MÓDULO DE PERL OFRECE UN CONJUNTO DE FUNCIONES, CONVENCIONES Y VARIABLES API STANDARD PARA UNIFICAR LAS INTERFACES DE BASES DE DATOS EN PERL INDEPENDIENTE DEL MANEJADOR DE BASE DE DATOS (APLICA PARA MYSQL Y POSTGRESQL, EL DRIVER INSTALADO ES EL QUE HACE LA DIFERENCIA ESPECIFICACIONES APIDB http://ruby-dbi.rubyforge.org/dbi_spec.html DOS MÓDULOS : DBD y DBI MÓDULO DBD CONSTANTE API_VERSION FUNCIONES DEL MÓDULO DBI DBI.connect DBI.available_drivers DBI.data_sources( driver ) DBI.disconnect_all( driver=nil ) DBI.trace(mode=nil, output=nil) CLASE DBI::HANDLE Class DBI::Handle Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 5

CLASE ABSTRACTA BASE PARA LAS CLASES DriverHandle, DatabaseHandle, StatementHandle. SE OBTIENE CON EL MÉTODO connect de DBI ES EL CORE DE LA INTEGRACIÓN CON BD EN PERL CLASE DBI::DATABASEHANDLE connected? (PROPIEDADM EL RESTO SON MÉTODOS) disconnect() prepare( stmt ) execute( stmt, *bindvars ) do( stmt, *bindvars ) POR LO GENERAL SE EJECUTAN LOS COMANDOS QUE NO SON SELECT CON ESTA INSTRUCCIÓN select_one( stmt, *bindvars) select_all( stmt, *bindvars) tables columns( table ) ping quote( value ) commit rollback transaction CLASE DBI::DATABASESTATEMENTHANDLE bind_param( param, value, attribs=nil ) execute( *bindvars ) finish cancel column_names column_info rows fetchable? fetch each { row ablock } fetch_array fetch_hash fetch_many( cnt ) fetch_all fetch_scroll( direction, offset=1 ) Lección10 Módulo de PERL con MySQL DBD DBD DATA BASE DRIVER SE COMBINA CON EL DBI ES EL QUE REALIZA LA CONEXIÓN FÍSICA CON LA BD EL DBI ES LÓGICO DE DEBE DISPONER DEL DRIVE PARTICULAR PARA CADA MANEJADOR. EL DRIVER SI ES E PERL DEBE SOPORTAR DBI DRIVER DE PERL CON MYSQL (DBD::mysql) IMPLEMENTACIÓN DEL API DBI DESCARGABLE DE LA PÁGINA DE MYSQL LA CLASE ES DBD::mysql EXISTEN OTRAS OPCIONES EN LA PÁGINA DE MYSQL http://dev.mysql.com/downloads/dbi.html Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 6

LECCIÓN11 MÓDULO DE PERL CON POSTGRESQL DRIVER DE PERL CON POSTGRESQL (DBD::Pg) DOCUMENTACIÓN http://search.cpan.org/dist/dbd-pg/pg.pmurl ULTIMA VERSIÓN DBD-Pg-2.7.2.tar.gz DESCARGAS http://www.postgresql.org/download/ LECCIÓN12 COMANDOS ACCESO A BASES DE DATOS EMBEBIDOS EN SCRIPTS PERL COMANDOS EMBEBIDOS UNA VEZ IMPORTADO EL MODULO APIDB E INSTANCIADO EL OBJETO, SE PUEDE EJECUTAR CUALQUIER FUNCIÓN DE LA BASE DE DATOS COMO CUALQUIER OTRA FUNCIÓN DE PERL ESTILO PROGRAMACIÓN DE CURSORES LECCIÓN13 SEGURIDAD EN BASES DE DATOS WEB SEGURIDAD EN BASES DE DATOS WEB USUARIOS WEB, NO DEBERÍAN TENER PERMISOLOGÍA GRANT SELECT PARA TABLAS DE CATÁLOGOS INSERT PARA TABLAS DE ÓRDENES DE COMPRAS VALIDAR TODOS LOS DATOS ANTES DE EJECUTAR LOS COMANDOS DE BASE DE DATOS SSL CUANDO SE TRANSMITAN PASSWORDS LECCIÓN14 MODELO DE ABSTRACCIÓN DE DATOS MODELO DE ABSTRACCIÓN DE DATOS SEPARACIÓN CAPA DE DATOS DE LA LÓGICA DEL NEGOCIO Y DE LA PRESENTACIÓN FUNCIONES (API) QUE ENCAPSULAN EN MANEJADOR CAMBIOS INMEDIATOS AL CAMBIAR LA BASE DE DATOS PROGRAMADORES WEB NO DEBERÍAN CONOCER TECNOLOGÍA ASOCIADA CAPA DE DATOS DETALLES DE MANEJADOR SOPORTE MÚLTIPLES MANEJADORES VS. TECNOLOGÍA ODBC PERL SOPORTA LA MAYORÍA DE LOS MANEJADORES COMERCIALES LECCIÓN15 IMPLEMENTANDO AUTENTICACIÓN COMBINANDO PERL Y BASES DE DATOS AUTENTICACIÓN PERL + BASES DE DATOS IDENTIFICANDO LOS VISITANTES A LAS PÁGINAS WEB IMPLEMENTANDO EL CONTROL DE ACCESO DIFERENCIAS ENTRE AUTENTICACIÓN Y AUTORIZACIÓN AUTENTICACIÓN BÁSICA AUTENTICACIÓN EN EL SERVIDOR WEB AUTENTICACIÓN PERSONALIZADA IDENTIFICANDO VISITANTES REGISTRANDO INFORMACIÓN DEL USUARIO COOKIES (LADO DEL CLIENTE) SESSIONES EN UNA BASE DE DATOS EN EL SERVIDOR WEB Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 7

LECCIÓN16 CONTROL DE ACCESO CONTROL DE ACCESO, SENCILLO HTML CAMPOS USERNAME, PASSWORD TAGS HTML CAMPOS PASSWORD <input type = password > CÓDIGO PERL HARD-CODE CONTROL DE ACCCESO, BASE DE DATOS CAMPOS USERNAME, PASSWORD ALMACENAMIENTO EN BASE DE DATOS ALMACENAMIENTO ENCRIPTADO INSERT INTO usuarios VALUES ( usuario, password( clave )) FUNCIONES CIFRADO (ENCRIPTAMIENTO) LIBRERÍA PERL LECCIÓN17 CONCEPTOS DE AUTENTICACIÓN BÁSICA AUTENTICACIÓN BÁSICA OFRECIDA POR HTTP SÓLO SE SOLICITA UNA VEZ Y MIENTRAS EL NAVEGADOR SE ENCUENTRE ACTIVO FUNCIONA. NO LA SOLICITA PÁGINA POR PÁGINA ESTOS MECANISMOS PUEDEN SER LEVANTADOS DIRECTAMENTE EN EL SERVIDOR O A TRAVÉS DE PERL (INTERFAZ CGI) IMPLEMENTACIÓN AUTENTICACIÓN BÁSICA OFRECIDA POR HTTP HTTP 1.1, AUTENTICACIÓN DIGEST AUTHENTICATION DIGEST, MD5 (SOPORTADO POR MUCHOS SERVIDORES, PERO NO POR NAVEGADORES) LECCIÓN18 AUTENTICACIÓN BÁSICA EN PERL AUTENTICACIÓN BÁSICA EN PERL EXISTEN MÓDULOS PARA IMPLEMANTAR MD5 CON PERL http://sourceforge.net/projects/perl-md5- login/ LIBRERÍAS DE PERL MIME::Base64; Crypt::OpenSSL::DSA; Digest::SHA1 qw(sha1); UN CONJUNTO DE LIBERÍAS Y MÓDULOS SE ENCUENTRA DISPONBIBLE EN http://www.perl.com/cpan/modules/by-category/14_security_and_encryption/authen/ AUTENTICACIÓN DIGEST EN PERL LECCIÓN19 AUTENTICACIÓN EN APACHE CON BASE DE DATOS AUTENTICACIÓN BÁSICA APACHE FUERA DE PERL DEPENDIENTE DEL SERVIDOR WEB ARCHIVOS.htaccess COMANDO htpasswd Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 8

LECCIÓN20 TRANSACCIONES SEGURAS CON PHP Y BASE DE DATOS TRANSACCIONES WEB TRANSACCIONES SEGURAS SSL (SECURITY SOCKET LAYERS) FIRMAS DIGITALES (DSL) ENCRIPTACIÓN EN PERL ENCRIPTACIÓN EN BASES DE DATOS SEGURIDAD EN WEB LECCIÓN21 ENCRIPTACIÓN EN PERL SERVICIOS DE CIFRADO (ENCRIPTACIÓN) EN PERL HMAC MD5 SHA UN CONJUNTO DE LIBERÍAS Y MÓDULOS SE ENCUENTRA DISPONBIBLE EN http://www.perl.com/cpan/modules/ by- category/14_security_and_encryption/authen HMAC EN PERL hmac -- Keyed-Hashing for Message Authentication Implementa el algoritmo HMAC descrito por RFC 2104. MODULO Digest::SHA1 INTERFAZ Perl AL ALORITMO SHA-1 MÉTODOS: new() reset() clone() add() addfile() add_bits() digest() hexdigest() b64digest() MD5 EN PERL md5 -- MD5 message digest algorithm Implementa la interfaz RSA al algoritmo de procesamiento de mensajes MD5 (Internet RFC 1321) MODULO Digest:MD1 INTERFAZ Perl AL ALORITMO MD5 MÉTODOS: new() reset() clone() add() addfile() add_bits() digest() hexdigest() b64digest() SHA-1 EN PERL sha -- SHA-1 message digest algorithm Implementa la interfaz NIST al algoritmo de hashing seguro SHA-1 (Internet RFC 1321) MODULO Digest::SHA1 INTERFAZ Perl AL ALORITMO SHA-1 MÉTODOS: new() reset() Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 9

clone() add() addfile() add_bits() digest() hexdigest() b64digest() LECCIÓN22 PERL Y BASES DE DATOS EN PROYECTOS DE GRAN ESCALA PROYECTOS GRAN ESCALA DISEÑO MODULAR SOFTWARE MULTI-CAPAS DESARROLLO ORIENTADO POR OBJETOS CAPA DE DATOS (FACHADA CON UN DBMS) CAPA DE LÓGICA (MODULOS PERL, UNA FACHADA DE INTERFAZ ÚNICA) CAPA DE PRESENTACIÓN, DISEÑO GRÁFICO EN HTML PASOS DESARROLLO, METODOLOGÍA APLICAR PRINCIPIOS DE INGENIERÍA DE SOFTWARE REALIZAR LA PLANIFICACIÓN DEL PROYECTO Y EL CONTROL DEL MISMO REUTILIZACIÓN DEL CÓDIGO ESCRITURA DE CÓDIGO MANTENIBLE IMPLEMENTAR CONTROL DE VERSIONES ESCOGER UN AMBIENTE DE DESARROLLO DOCUMENTAR EL PROYECTO DESARROLLAR PROTOTÍPICO E INCREMENTAL SEPARAR AL MENOS EN TRES CAPAS OPTIMIZAR EL CÓDIGO IDE s PARA PERL IDE PARA ECLIPSE http://e-p-i-c.sourceforge.net/ EDITOR DE TEXTOS PARA PERL http://sourceforge.net/projects/kpad/ IDE PARA WINDOWS http://sourceforge.net/projects/open-perl-ide Perl IDE and Editor for Windows http://www.perl-express.com/ LECCIÓN23 DESARROLLO MULTI-CAPA, SEPARANDO LA LÓGICA DE NEGOCIOS DEL CONTENIDO DE LA PÁGINA WEB EVOLUCIÓN ( STAND-ALONE ) EVOLUCIÓN ( CLIENT-SERVER ) EVOLUCIÓN ( THREE-TIER ) EVOLUCIÓN ( MULTI-TIER ) LECCIÓN24 MANEJANDO ERRORES GENERADOS POR LAS BASES DE DATOS DESDE PERL EXCEPCIONES DEL API DBI DE PERL SON CLASES Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 10

Warning < RuntimeError Error < RuntimeError InterfaceError < Error NotImplementedError < InterfaceError DatabaseError < Error EXCEPCIONES DEL API DBI, BASE DE DATOS SON CLASES Warning < RuntimeError Error < RuntimeError InterfaceError < Error NotImplementedError < InterfaceError DatabaseError < Error LECCIÓN25 EJEMPLOS DE APLICACIONES EJEMPLOS APLICACIONES CARRO DE COMPRAS (E-COMMERCE) ADMINISTRADOR DE CONTENIDOS PAQUETE DE E-MAIL EN WEB CONSTRUYENDO FOROS EN WEB Prohibida la reproducción total o parcial, derechos reservados, Instituto Gala de Venezuela 11