UNIVERSIDAD YACAMBÚ
VICERRECTORADO DE ESTUDIOS A DISTANCIA
ESPECIALIZACIÓN EN GERENCIA
Mención Organización
ASIGNATURA:
SISTEMAS DE INFORMACIÓN GERENCIAL
TRABAJO
4:
SOFTWARE LIBRE Y
CASO PRACTICO
Autor:
Ing.
Melanis
Domínguez
¿Que es el Software libre?. Decreto 3390.
Un programa puede considerarse “Software Libre'' si de distribuye bajo una licencia que garantice a quien lo recibe las siguientes libertades:
1. Libertad de ejecutar el programa, con cualquier propósito.
2. Libertad de estudiar cómo funciona el programa y de adaptarlo a sus necesidades.
3. Libertad de redistribuir copias del programa.
4. Libertad de mejorar el programa y redistribuir dichas modificaciones.
Los últimos dos puntos deben tener una restricción: Si se redistribuye el programa, modificado o no, debe hacerse bajo las mismas condiciones. Esta cláusula es la que garantiza la libertad del programa, impidiendo que alguien tome un desarrollo libre y lo transforme (o incluya) en un desarrollo propietario, limitando alguna de las libertades citadas.
Diferencia entre Postgre y ORACLE.
Postgre consiste en una base de datos relacional que ofrece una alternativa a otras bases de datos Open Source, así como sistemas propietarios como Oracle o Sql Server.
Oracle es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), fabricado por Oracle Corporation.
PostgreSQL es software libre, Oracle es software propietario y además, es costoso.
En PostgreSQL se tiene la posibilidad de escribir tus propias rutinas para la construcción de índices, con Oracle no.
Oracle requiere comprar software adicional y no puedes desarrollar tus propios tipos.
PostgreSQL se instalan de forma sencilla muy parecida a MYSQL. Oracle resulta muy difícil de instalar.
PostgreSQL es una base de datos Objeto Relacional, mientras que Oracle es sólo una base de datos Relacional.
Oracle no tiene la infraestructura OR y la simula con productos adicionales.
Oracle tiene consultas en paralelo, que PostgreSQL aún no tiene.
PostgreSQL tiene cinco lenguajes de programación procedurales, algunos sumamente especializados y avanzados como PL/perl y PL/R, mientras que Oracle sólo tiene uno.
PostgreSQL amplía el concepto de programación procedural para soportar funciones en cualquier parte (como procedimiento, como tabla, como operador, como selector, como filtro), mientras que Oracle sólo permite usarlas como procedimiento.
Oracle simula parcialmente el comportamiento proveyendo paquetes, pero no tienen el alcance de PostgreSQL.
PostgreSQL soporta nativamente tipos de datos no escalares, con sus operadores, y ofrece la posibilidad de crear tus propios tipos de datos y operadores.
PostgreSQL puede crear índices lineales (B-Tree), presenciales (Hash)y espaciales (R-Tree). Oracle sólo puede los dos primeros, se recomienda no usar el segundo, y si se quiere el tercer tipo se tiene que comprar software adicional.
Oracle tiene muchísimos más parámetros de configuración que PostgreSQL, muchos de ellos son secretos, no están documentados, y sólo los conoce la gente de soporte de Oracle que los utiliza para ayudarte solamente si tienes el contrato de mantenimiento al día.
Fortalezas y Debilidades de Postgres.
Fortalezas:
Seguridad en el acceso a la Base de Datos, a nivel de red.
PostgreSQL es un servidor de base de datos relacional orientada a objeto publicado bajo licencia libre BSD, una buena alternativa a MySQL.
Instalación ilimitada. Con PostgreSQL.
Modelos de negocios más rentables con instalaciones a gran escala.
No existe la posibilidad de ser auditado para verificar cumplimiento de licencia en ningún momento.
Flexibilidad para hacer investigación y desarrollo sin necesidad de incurrir en costos adicionales de licenciamiento.
Mínimos requerimientos de administración.
Bajo Costo Total de Operación (TCO).
Conformancia a Estándares ANSI
Debilidades
Consume bastantes recursos y carga más el sistema.
Por su arquitectura de diseño se necesita aumentar el número de CPU's y la cantidad de RAM.
Postgre no soporta consultas en paralelo.
No posee muchas herramientas en el mercado.
Es mas lento que Oracle.
Los Limites de PostgreSQL:
Máximo de base de datos: ILIMITADO.
Maximo de tamaño de tabla: 32TB.
Máximo de tamaño de registro: 1.6TB.
Máximo de tamaño de campo: 1GB.
Máximo de registros por Tabla: ILIMITADO.
Máximo de campos por tabla: 250 a 1600 (depende de los tipos usados).
Máximo de índices por tabla: ILIMITADO.
Número de lenguajes en los que se puede programar funciones: aproximadamente 10 (pl/pgsql, pl/java,pl/perl, pl/python, tcl, pl/php, C, C++, Ruby, etc.).
Métodos de almacenamiento de índices: 4 (B-tree, Rtree,Hash y GisT)
Ubuntu.
Ubuntu es una distribución Linux que ofrece un sistema operativo predominantemente enfocado a ordenadores de escritorio aunque también proporciona soporte para servidores.
Basada en Debian GNU/Linux, Ubuntu concentra su objetivo en la facilidad de uso, la libertad de uso, los lanzamientos regulares (cada 6 meses) y la facilidad en la instalación. Ubuntu es patrocinado por Canonical Ltd., una empresa privada fundada y financiada por el empresario sudafricano Mark Shuttleworth.
El nombre de la distribución proviene del concepto zulú y xhosa de ubuntu, que significa "humanidad hacia otros" o "yo soy porque nosotros somos". Ubuntu es un movimiento sudafricano encabezado por el obispo Desmond Tutu, quien ganó el Premio Nobel de la Paz en 1984 por sus luchas en contra del Apartheid en Sudáfrica. El sudafricano Mark Shuttleworth, mecenas del proyecto, se encontraba muy familiarizado con la corriente. Tras ver similitudes entre los ideales de los proyectos GNU, Debian y en general con el movimiento del software libre, decidió aprovechar la ocasión para difundir los ideales de Ubuntu. El eslogan de Ubuntu – “Linux para seres humanos” (en inglés "Linux for Human Beings") – resume una de sus metas principales: hacer de Linux un sistema operativo más accesible y fácil de usar.
Características:
Basada en la distribución Debian.
Disponible en 4 arquitecturas: Intel x86, AMD64, PowerPC, SPARC (para esta última sólo existe la versión servidor).
Los desarrolladores de Ubuntu se basan en gran medida en el trabajo de las comunidades de Debian y GNOME.
Las versiones estables se liberan cada 6 meses y se mantienen actualizadas en materia de seguridad hasta 18 meses después de su lanzamiento.
La nomenclatura de las versiones no obedece principalmente a un orden de desarrollo, se compone del dígito del año de emisión y del mes en que esto ocurre.
La versión 4.10 es de octubre de 2004, la 5.04 es de abril de 2005, la 5.10 de octubre de 2005, la 6.06 es de junio de 2006, la 6.10 es de octubre de 2006, la 7.04 es de abril de 2007 y la 7.10 es de octubre de 2007.
El entorno de escritorio oficial es Gnome y se sincronizan con sus liberaciones.
Para centrarse en solucionar rápidamente los bugs, conflictos de paquetes, etc. se decidió eliminar ciertos paquetes del componente main, ya que no son populares o simplemente se escogieron de forma arbitraria por gusto o sus bases de apoyo al software libre. Por tales motivos inicialmente KDE no se encontraba con más soporte de lo que entregaban los mantenedores de Debian en sus repositorios, razón por la que se sumó la comunidad de KDE distribuyendo la distro llamada Kubuntu.
De forma sincronizada a la versión 6.06 de Ubuntu, apareció por primera vez la distribución Xubuntu, basada en el entorno de escritorio XFce.
El navegador web oficial es Mozilla Firefox.
El sistema incluye funciones avanzadas de seguridad y entre sus políticas se encuentra el no activar, de forma predeterminada, procesos latentes al momento de instalarse. Por eso mismo, no hay un firewall predeterminado, ya que no existen servicios que puedan atentar a la seguridad del sistema.
Para labores/tareas administrativas en terminal incluye una herramienta llamada sudo (similar al Mac OS X), con la que se evita el uso del usuario root (administrador).
Mejora la accesibilidad y la internacionalización, de modo que el software está disponible para tanta gente como sea posible.
En la versión 5.04, el UTF-8 es la codificación de caracteres en forma predeterminada.
No sólo se relaciona con Debian por el uso del mismo formato de paquetes deb, también tiene uniones muy fuertes con esa comunidad, contribuyendo con cualquier cambio directa e inmediatamente, y no solo anunciándolos. Esto sucede en los tiempos de lanzamiento. Muchos de los desarrolladores de Ubuntu son también responsables de los paquetes importantes dentro de la distribución de Debian.
Todos los lanzamientos de Ubuntu se proporcionan sin costo alguno. Los CDs de la distribución se envían de forma gratuita a cualquier persona que los solicite mediante el servicio ShipIt (la versión 6.10 no se llegó a distribuir de forma gratuita en CD, pero la versión 7.04 sí). También es posible descargar las imágenes ISO de los discos por transferencia directa o bajo la tecnología Bittorrent.
Ubuntu no cobra honorarios por la suscripción de mejoras de la "Edición Enterprise".
Apache.
El servidor HTTP Apache es un software (libre) servidor HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etc.), Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1 [1] y la noción de sitio virtual. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo.
Su nombre se debe a que Behelendorf eligió ese nombre porque quería que tuviese la connotación de algo que es firme y enérgico pero no agresivo, y la tribu Apache fue la última en rendirse al que pronto se convertiría en gobierno de EEUU, y en esos momentos la preocupación de su grupo era que llegasen las empresas y "civilizasen" el paisaje que habían creado los primeros ingenieros de internet.Además Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA.
Era, en inglés, a patchy server (un servidor "emparchado"). El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. Apache presenta entre otras características mensajes de error altamente configurables, bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración. Apache tiene amplia aceptación en la red: en el 2005, Apache es el servidor HTTP más usado, siendo el servidor HTTP del 48% de los sitios web en el mundo y decreciendo su cuota de mercado (estadísticas históricas y de uso diario proporcionadas por Netcraft [2] ).
La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas puede en la mayoría de los casos ser abusada solamente por los usuarios locales y no puede ser accionada remotamente. Sin embargo, algunas de las ediciones antedichas se pueden accionar remotamente en ciertas situaciones, o explotar por los usuarios locales malévolos en las disposiciones de recibimiento compartidas que utilizan PHP como módulo de Apache. Por lo tanto, aconsejamos fuertemente a todos los usuarios de PHP, sin importar la versión a aumentar a los 5.2.1 o 4.4.5 lanzamientos cuanto antes. Para los usuarios que aumentan a PHP 5.2 de PHP 5.0 y de PHP 5.1, una guía de la mejora está disponible aquí, detallando los cambios entre esos lanzamientos y PHP 5.2.1.
Características de Postgre con Linux.
PostGre no necesita de licencias de software.
PostGre es estable, es decir no es suceptible a caídas.
Se puede personalizar.
Es multiplataforma
Entre sus características están la Potencia y la Flexibilidad.
Consume bastantes recursos y carga más el sistema.
Por su arquitectura de diseño se necesita aumentar el número de CPU's y la cantidad de RAM.
Fue diseñado para ambientes de alto volumen.
Permiten la duplicación de bases de datos maestras en múltiples sitios de replica.
Cuenta con funciones de compatibilidad para ayudar en la transición desde otros sistemas menos compatibles con SQL.
Análisis y diseño de un sistema de información usando Postgres
El Análisis y Diseño de un Sistema de Información, es una de las fases más importantes que se plantean en la ejecución de cualquier sistema de información (SI), ya que se deben analizar los requisitos tecnológicos y funcionales, considerando la elección de una plataforma tecnológica que tenga la capacidad de dar una respuesta inmediata a sus futuros usuarios además de ser estable, con visión de futuro e interoperable.
En esta primera fase, no se afecta la elección de la plataforma tecnológica, ya que aquí se utilizan metodologías estándares como el Lenguaje de Modelado Unificado (UML), el cual incluye una serie de diagramas que muestran las entidades que componen el sistema, además permite modelar el comportamiento del sistema, las diferentes funciones que realiza y las representaciones del papel que cumple el usuario dentro del sistema.
La fase de análisis y diseño en los sistemas de información sigue una estructura estándar que se enfoca de acuerdo a los requerimientos y necesidades que va a cubrir el mismo. Dicho análisis y diseño es una actividad preliminar que no necesariamente tiene identificado el lenguaje o base de datos que se va a utilizar en la fase de implementación y desarrollo.
Postgres es seleccionado para SI que requieran un manejador de Base de Datos GNU, robusto, estable, un motor con soporte para transacciones, soporte de triggers y procedimientos almacenados, lenguaje procedimental (PL/SQL), y una alta disponibilidad y recuperación de fallas.
Plan de migración de ORACLE a Postgres para una empresa administrativa
Para un plan de migración de las estructuras de datos, se deben considerar las siguientes actividades a nivel general, aunque debe pensarse claramente en analizar la factibilidad de la migración antes de proceder.
1. Análisis de la estructura de datos actual.
2. Backup o respaldos de los datos actuales almacenados en la base de datos.
3. Creación de Estructuras de Base de datos nueva.
4. Planificación de las rutinas de migración.
5. Restaurar los datos de la base de datos anterior en la nueva base de datos.
6. Verificar consistencia de datos antes de eliminar las estructuras anteriores.
7. Realizar pruebas de los sistemas con las bases de datos a fin de certificar la funcionalidad.
Caso Práctico: Sistema de información de Ventas de Tickets vía WEB usando Postgres para un Stadium de Béisbol
Se deben manejar varios tipos de recomendaciones las cuales podrían ser:
1. Disponibilidad de la aplicación.
2. Sistemas de seguridad.
3. Viabilidad legal.
4. Modelado de la arquitectura completa del sistema.
5. Diseño de la estructura de datos y de la interfaz.
6. Diseño de los procedimientos y procesos no manejados por el sistema.
Módulos que debería poseer:
1. Modulo de clientes.
2. Modulo de reservaciones.
3. Modulo de compras.
4. Modulo de registro de sugerencias y reclamos
5. Modulo de Plano del estadio por sector (donde se puedan apreciar los asientos del mismo y la disponibilidad).
6. Modulo de reportes
7.- Integración con algún medio de pago seguro (Tarjeta de Crédito, Depósitos Bancarios, Transferencias, entre otros).
Descripción de los Módulos:
1. Modulo de clientes: En este módulos se podrá tener un perfil de las personas que están registradas en el sistema y con esto tener sus datos principales como: nombre y apellido, cedula de identidad, teléfonos, dirección, numero de tarjeta de crédito y tipo de la misma, vencimiento de tarjeta de crédito y código de seguridad de la misma, así como la fecha de vencimiento.
2. Modulo de Reservaciones: En este modulo los clientes regulares u ocasionales pudiesen reservar sus entradas a las localidades del estadio utilizando igualmente el modulo del plano del estadio en donde se podrá ver las localidades disponibles, se recomienda igualmente que el tiempo de reservación de las localidades sea determinado a fin de no tener las mismas reservadas sin tener el ingreso esperado, es por esto que para los clientes frecuentes se pudiesen manejar tiempo diferentes y para los ocasionales otros tiempos.
3. Modulo Compras: Este modulo conjuntamente con el modulo de reservaciones o del plano del estadio, si fuese el caso, ya que el cliente pudiese ingresar directamente al modulo de compras sin haber reservado y conjuntamente con el modulo de plano del estadio y la integración con el medio de pago seguro se procedería a la generación del cargo en la cuenta asociada determinada por el cliente a fin de autorizar la generación de la compra del cliente y su posterior envío a través de Modulo de envío de compras el cual estará relacionado con algún sistema de envíos personalizados local con el que realice convenio, también pudiese manejarse que el cliente adquiera su boletería directamente por taquilla por lo que se podría manejar el pago en efectivo.
4. Modulo de registro de sugerencias y reclamos: En el caso de que algún cliente desee realizar alguna sugerencia o reclamo.
Referencias consultadas.
1) Pardo Díaz, Jose L., “Información y Gerencia". Publicación Digital, E-Libros.
2) http://es.wikipedia.org/wiki/Oracle
3) http://www.gobiernoenlinea.ve/docMgr/sharedfiles/Decreto3390.pdf
4) http://es.wikipedia.org/wiki/Ubuntu_%28distribuci%C3%B3n_Linux%29#Caracter.C3.ADsticas
5) http://www.aporrea.org/actualidad/n72254.html
6) http://es.wikipedia.org/wiki/PostgreSQL
7) http://www.velug.org.ve/archivo/l-linux-2005-August/055197.html
8) http://www.ubuntu-es.org/ubuntu/introduccion
9) http://www.linuxparatodos.net/portal/staticpages/index.php?page=servidor-web
10) http://www.solucioneslinux.com.mx/index.php?option=content&task=view&id=3&Itemid=25