Wednesday, June 5, 2019

Parcial 3 Base de datos para aplicaciones web

Una base de datos es un conjunto de información relacionada, estructurada y almacenada de manera sistemática. El objetivo es poder acceder a esa información de manera fácil, tanto para consultarla como para añadir nuevos datos. Los programas que se encargan de gestionar bases de datos se denominan sistemas gestores de bases de datos (SGBD) y son una pieza importante en el entramado de la web.
Hace unos años (en marzo del 2004), escribimos un artículo para la revista Mosaictitulado Páginas web estáticas vs. páginas web dinámicas. Las bases de datos en Internet, donde dábamos una breve explicación de lo que es una página web dinámica y las diferencias con las páginas web estáticas. Recomendamos una lectura de dicho artículo antes de seguir con este porque lo vamos a usar como referencia.
Si en el 2004 las bases de datos ya eran importantes, actualmente casi todas las webs tienen detrás un gestor de contenidos que, a su vez, utiliza un SGBD para almacenar la información de la web. Sea como sea, si se quiere crear una web que sea fácilmente actualizable, la opción más sencilla será personalizar un gestor de contenidos y la más complicada será crearlo; en ambos casos, será importante tener conocimientos de cómo funcionan las bases de datos y cómo acceder a la información en el lenguaje del SGBD que uséis.
Aunque la situación de los diferentes SGBD usados en la web ha cambiado algo desde el 2004, los cambios no son, ahora mismo, demasiado importantes. Así, SQL sigue siendo el lenguaje de consulta de SGBD más habitual y en la web, MySQLPostgreSQL y SQLite son las soluciones libres más usadas; por su parte, Microsoft SQL Server y Oracle Database son las soluciones privativas más comunes.
A partir de aquí, vamos a centrarnos en uno de esos gestores de bases de datos (MySQL) para explicar de qué manera acceden a los datos las aplicaciones web. La elección de MySQL no es casual. Según un estudio de Gartner elaborado en el año 2008, MySQL era en ese momento el tercer SGBD más usado en el mundo, el primero de código libre. Desde entonces y a pesar de que la compra de MySQL por parte de Oracle hizo que algunos desarrolladores pensasen en pasarse a PostgreSQL, su presencia en la web noha dejado de crecer.
Por otra parte, muchas aplicaciones web usan una combinación de MySQL como base de datos, PHP como lenguaje de programación, Apache como servidor web y Linux como sistema operativo. Esta combinación de tecnologías recibe el nombre de LAMP (Linux, Apache, MySQL y, habitualmente, PHP) y es una de las más usadas en los servidores web.
En una aplicación web, como un gestor de contenidos o una tienda en línea o cualquier otra web que haga uso de bases de datos, podemos encontrar hasta cuatro tipos de desarrollo:
  1. Desarrollo de HTML + CSS
  2. Desarrollo JavaScript
  3. Desarrollo en PHP
  4. Consultas SQL   
PRACTICA
  • Evitar hacer múltiples llamadas a funciones, métodos u otros componentes para obtener los mismos valores, haciendo uso de variables. 
  • Utilizar clases especializadas en validaciones de formato de texto, números y fechas, en lugar de replicar dicha lógica en toda la aplicación. 
  • Centralizar los accesos a base de datos en componentes / clases (DAO). 
  • Garantizar que cada componente de una capa acceda únicamente a la capa adyacente. 
  • Agrupas líneas de código comunes en procedimientos o funciones.
  1. Evitar dependencia en los componentes de lógica de negocio de variables enviadas como parámetros.
QUIZ
Antes de desarrollar un sitio web una vez se deben tener en cuenta varios aspectos como:

¿Qué poner en el sitio?

¿Dónde se alojará?

¿Cómo hacerlo interactivo?

¿Cómo codificarlo?

¿Cómo crear un sitio web amigable para los motores de búsqueda?

¿Cómo proteger el código fuente?

¿El diseño del sitio web se mostrará bien en diferentes navegadores?

¿Serán fáciles de usar los menús de navegación?

¿El sitio web se carga rápidamente?

¿Con qué facilidad se imprimirán las páginas del sitio?

¿Con qué facilidad encontrarán los visitantes detalles importantes específicos?

¿Con qué eficacia se utilizan las hojas de estilo en sus sitios web?

Friday, May 31, 2019

Submodulo 1 Parcial 1

INTEGRACIÓN DE BASE DE DATOS EN 

APLICACIONES WEB

En la actualidad, muchas instituciones se han dado cuenta de la importancia que el Web tiene en el desarrollo de sus potencialidades, ya que con ello pueden lograr una mejor comunicación con personas o instituciones situadas en cualquier lugar del mundo.
Gracias a la conexión con la red mundial Internet, poco a poco, cada individuo o institución va teniendo acceso a mayor cantidad de información de las diversas ramas de la ciencia con distintos formatos de almacenamiento.
La mayor parte de información es presentada de forma estática a través de documentos HTML, lo cual limita el acceso a los distintos tipos de almacenamiento en que ésta pueda encontrarse.
Pero, en la actualidad surge la posibilidad de utilizar aplicaciones que permitan acceder a información de forma dinámica, tal como a bases de datos, con contenidos y formatos muy diversos.
Una de las ventajas de utilizar el Web para este fin, es que no hay restricciones en el sistema operativo que se debe usar, permitiendo la conexión entre si, de las páginas Web desplegadas en un browser del Web que funciona en una plataforma, con servidores de bases de datos alojados en otra plataforma. Además, no hay necesidad de cambiar el formato o estructura de la información dentro de las bases de datos.

 ¿Cómo Funciona la Integración de Bases de Datos en el Web?

Para realizar una requisición de acceso desde el Web hasta una base de datos no sólo se necesita de un browser del Web y de un Servidor Web, sino también de un software de procesamiento (aplicación CGI), el cual es el programa que es llamado directamente desde un documento HTML en el cliente. Dicho programa lee la entrada de datos desde que provienen del cliente y toma cierta información de variables de ambiente. El método usado para el paso de datos está determinado por la llamada CGI.

Una vez se reciben los datos de entrada (sentencias SQL o piezas de ellas), el software de procesamiento los prepara para enviarlos a la interfaz en forma de SQL, y luego ésta procesa los resultados que se extraen de la base de datos.La interfaz contiene las especificaciones de la base de datos necesarias para traducir las solicitudes enviadas desde el cliente, a un formato que sea reconocido por dicha base. Además, contiene toda la información, estructuras, variables y llamadas a funciones, necesarias para comunicarse con la base de datos.El software de acceso usualmente es el software distribuido con la base de datos, el cual permite el acceso a la misma, a través de solicitudes con formato. Luego, el software de acceso recibe los resultados de la base de datos, aún los mensajes de error, y los pasa hacia la interfaz, y ésta a su vez, los pasa hasta el software de procesamiento.

PRACTICA
 Siempre mapee sus atributos y relaciones de Bizagi (considerar las referencias a las claves compuestas)
Es estrictamente requerido mapear los atributos a los campos en la fuente externa (los que usted va a utilizar).
Tenga en cuenta que las relaciones creadas en Bizagi también deben ser mapeadas.
Para obtener más información y recomendaciones sobre esta configuración, consulte el ejemplo Cómo configurar la Virtualización, en la que también se puede ver cómo hacer esto cuando se incluye una referencia a una llave compuesta.
QUIZ
1-Que es una integración de base de datos?
2-Que acceso se les da a los individuos?
3-Como funciona la integración de base de datos?
4-Como se realiza una integración de base de datos?
5-Que contiene la interfaz?
        
  ENTORNOS DE APLICACIÓN

Un entorno es una colección de recursos definidos por el usuario que albergan una aplicación.
Un entorno es el mecanismo de la aplicación para fusionar componentes con el agente que los despliega realmente. Los entornos se modelan, por lo general, en alguna fase del ciclo de vida del proyecto de software, como la de desarrollo, QA o producción. Un recurso es un destino de despliegue, como una base de datos o un contenedor Java™ Platform, Enterprise Edition. Los recursos por lo general se encuentran en el mismo host en el que se encuentra situado el agente que los gestiona. Un host puede ser un sistema físico, una máquina virtual o estar basado en la nube.
Los entornos pueden tener diferentes topologías; por ejemplo: un entorno puede constar de un único sistema, distribuirse por varios sistemas o por varios clústeres de sistemas. El ámbito de los entornos son las aplicaciones. Aunque los sistemas de varios arrendatarios pueden ser el destino de varias aplicaciones, la mayoría de organizaciones de TI utilizan entornos específicos de aplicación. Asimismo, el ámbito de las aplicaciones son los entornos.
IBM® UrbanCode Deploy mantiene un inventario de cada artefacto que se despliega en cada entorno y realiza un seguimiento de las diferencias entre ellos.
Las propiedades del entorno se pueden crear con el panel Propiedades del entorno (Aplicaciones > [aplicación seleccionada] > Entornos > [entorno seleccionado] > Propiedades).
Un valor configurado en un entorno de componente sustituye un valor con el mismo nombre configurado directamente en una propiedad del entorno. Las propiedades de entorno del componente permiten centralizar propiedades, el tipo de seguimiento y los valores predeterminados, por ejemplo. Las propiedades del entorno ofrecen listas ad hoc de pares property=value.
Referencia: ${p:environment/propertyName}.

Thursday, May 30, 2019


+Parcial 2  "Teoria"

Gestion de base de datos


Un sistema gestor de base de datos (SGBD) es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos .Los usuarios pueden acceder a la información usando herramientas específicas de consulta y de generación de informes, o bien mediante aplicaciones al efecto.

Estos sistemas también proporcionan métodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y para recuperar la información si el sistema se corrompe. Permiten presentar la información de la base de datos en variados formatos. La mayoría incluyen un generador de informes. También pueden incluir un módulo gráfico que permita presentar la información con gráficos y tablas.

Generalmente se accede a los datos mediante lenguajes de consulta, lenguajes de alto nivel que simplifican la tarea de construir las aplicaciones. También simplifican las consultas y la presentación de la información. Un SGBD permite controlar el acceso a los datos, asegurar su integridad, gestionar el acceso concurrente a ellos, recuperar los datos tras un fallo del sistema y hacer copias de seguridad. Las bases de datos y los sistemas para su gestión son esenciales para cualquier área de negocio, y deben ser gestionados con esmero.

Muchas de las funciones de un gestor de bases de datos vienen contenidas en la breve definición realizada. Como hemos apuntado, un SGBD nos permite definir los datos, así como manipularlos, aplicar  medidas de seguridad e integridad y recuperarlos/restaurarlos tras un posible fallo.

Son numerosas las ventajas a la hora de construir y definir la base de datos para distintas aplicaciones, pues facilita los procesos y también su mantenimiento. Entre otras funciones, ayuda a realizar acciones tan importantes como la definición de los datos, el mantenimiento de su integridad, su manipulación y el control de su seguridad y privacidad.

Al suponer un punto y aparte con respecto al sistema de gestión de archivos, su desarrollo se debe al objetivo fundamental de subsanar los inconvenientes de aquél proporcionando eficiencia y seguridad a la hora de extraer o almacenar información en las bases de datos.

Entre sus funciones principales destacan siete:

Contribuir a la creación de bases de datos más eficaces y consistentes.
Determinar las estructuras de almacenamiento del sistema.
Facilitar las búsquedas de datos a los usuarios de negocio.
Ayudar a preservar la integridad de los activos informacionales de la empresa.
Introducir cambios en la información, cuando así es requerido.
Simplificar los procesos de consulta.
Controlar los movimientos que se observan en la base de datos.
Un gestor de datos, en definitiva, proporciona una serie de servicios y lenguajes para la creación, configuración y manipulación de la base de datos, así como mecanismos de respaldo. También permite almacenar una descripción de dichos lenguajes en un diccionario de datos, así como su mantenimiento, proporcionando un acceso controlado a la misma.



Configuracion de base de datos


Un servidor de base de datos es una instancia de SQL Server Express que está habilitada para almacenar geodatabases. Ejecute el asistente de instalación del servidor de base de datos para instalar una instancia de SQL Server Express, habilite el almacenamiento de geodatabases y autorice el servidor de base de datos (para ArcGIS for Server Workgroup).

Si utiliza ArcGIS for Server Workgroup, ArcGIS for Server y el servidor de base de datos (instancia de SQL Server Express) deben instalarse en el mismo equipo.

Para la mayoría de sistemas de producción, se recomienda utilizar una configuración en clúster para proporcionar una base de datos de alta disponibilidad.

Antes de instalar el servidor de IBM® UrbanCode Deploy, instale MySQL. Si va a evaluar IBM UrbanCode Deploy, puede instalar la base de datos en el mismo sistema que el servidor de IBM UrbanCode Deploy. Por ejemplo, el mandato para instalar MySQL en un sistema Linux podría ser parecido al siguiente ejemplo:
yum install mysql mysql-serverCopiar
Al instalar IBM UrbanCode Deploy, necesita información de conexión de MySQL y una cuenta de usuario con privilegios de creación de tablas.

Procedimiento
Inicie sesión en la línea de comandos de MySQL. El comando podría ser parecido al siguiente ejemplo:
mysql -u username -ppasswordCopiar
Para username, especifique el nombre de usuario de MySQL. El nombre de usuario predeterminado es root. Para password, especifique la contraseña del nombre de usuario. La cuenta predeterminada no tiene contraseña; en este caso, omita el distintivo -p y la contraseña. No hay espacio entre el distintivo -p y la contraseña.
Cree una base de datos. Los siguientes mandatos son un ejemplo de como puede crear esta base de datos:
CREATE USER 'ibm_ucd'@'localhost' IDENTIFIED BY 'password';Copiar
CREATE DATABASE ibm_ucd;Copiar
GRANT ALL ON ibm_ucd.* TO 'ibm_ucd'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;Copiar
Cierre la sesión de la línea de mandatos de MySQL.
Obtenga el controlador JDBC de MySQL. El archivo JAR JBDC se incluye entre los archivos de instalación. El controlador es exclusivo para la edición que se utiliza.
Cuando haya varios controladores disponibles, deberá consultar al proveedor de base de datos para determinar qué controlador debe utilizarse. La versión del controlador JDBC que debe utilizarse dependerá de la versión de la base de datos y la versión de Java utilizadas por el servidor de IBM UrbanCode Deploy.

Copie el archivo JAR JBDC en directorio_instalador\lib\ext.
Inicie la instalación del servidor; consulte Instalación del servidor. Cuando el sistema le solicite el tipo de base de datos, introduzca mysql.
Proporcione la clase de controlador JDBC que IBM UrbanCode Deploy utiliza para conectarse con la base de datos. El valor predeterminado es com.mysql.Driver.
A continuación, proporcione la serie de conexión JBDC. Normalmente, se parece al siguiente código:
jdbc:mysql://URL_BD:PUERTO_BD/NOMBRE_BDCopiar
Por ejemplo:
jdbc:mysql://localhost:3306/ibm_ucdCopiar
Finalice indicando el nombre de usuario de la base de datos así como la contraseña.