Sistema de Información Gerencial: Trabajo Nº 4

Volver

Grupo Nº 1

Alí Evies
Eudyn Castro
Nixon Vicent
Alejandro Alfonzo

¿Qué es el software libre?

El "Software Libre" es un asunto de libertad, no de precio. Para entender el concepto, debes pensar en ``libre'' como en "libertad de expresión", no como en "cerveza gratis" [N. del T.: en inglés una misma palabra (free) significa tanto libre como gratis, lo que ha dado lugar a cierta confusión].Cuando hablamos de ``Software Libre'', se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. De modo más preciso, se refiere a cuatro libertades de los usuarios del software:

  • La libertad de usar el programa, con cualquier propósito (libertad 0).
  • La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades (libertad 1). El acceso al código fuente es una condición previa para esto.
  • La libertad de distribuir copias, con lo que puedes ayudar a tu vecino (libertad 2).
  • La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie. (libertad 3). El acceso al código fuente es un requisito previo para esto.

Un programa es software libre si los usuarios tienen todas estas libertades. Así pues, debes tener la libertad de distribuir copias, sea con ó sin modificaciones, sea gratis ó cobrando una cantidad por la distribución, a cualquiera y a cualquier lugar. El ser libre de hacer esto significa (entre otras cosas) que no tienes que pedir ó pagar permisos.

También deberías tener la libertad de hacer modificaciones y utilizarlas de manera privada en tu trabajo u ocio, sin ni siquiera tener que anunciar que dichas modificaciones existen. Si publicas tus cambios, no tienes por qué avisar a nadie en particular, ni de ninguna manera en particular.

La libertad para usar un programa significa la libertad para cualquier persona u organización de usarlo en cualquier tipo de sistema informático, para cualquier clase de trabajo, y sin tener obligación de comunicárselo al desarrollador o a alguna otra entidad específica.

La libertad de distribuir copias debe incluir tanto las formas binarias o ejecutables del programa como su código fuente, sean versiones modificadas o sin modificar (distribuir programas de modo ejecutable es necesario para que los sistemas operativos libres sean fáciles de instalar). Está bien si no hay manera de producir un binario o ejecutable de un programa concreto (ya que algunos lenguajes no tienen esta capacidad), pero debes tener la libertad de distribuir estos formatos si encontraras o desarrollaras la manera de crearlos.

Para que las libertades de hacer modificaciones y de publicar versiones mejoradas tengan sentido, debes tener acceso al código fuente del programa. Por lo tanto, la posibilidad de acceder al código fuente es una condición necesaria para el software libre.

Para que estas libertades sean reales, deben ser irrevocables mientras no hagas nada incorrecto; si el desarrollador del software tiene el poder de revocar la licencia aunque no le hayas dado motivos, el software no es libre.

Son aceptables, sin embargo, ciertos tipos de reglas sobre la manera de distribuir software libre, mientras no entren en conflicto con las libertades centrales. Por ejemplo, copyleft [``izquierdo de copia''] (expresado muy simplemente) es la regla que implica que, cuando se redistribuya el programa, no se pueden agregar restricciones para denegar a otras personas las libertades centrales. Esta regla no entra en conflicto con las libertades centrales, sino que más bien las protege.

Así pues, quizás hayas pagado para obtener copias de software GNU, o tal vez las hayas obtenido sin ningún coste. Pero independientemente de cómo hayas conseguido tus copias, siempre tienes la libertad de copiar y modificar el software, e incluso de vender copias.

``Software libre'' no significa ``no comercial''. Un programa libre debe estar disponible para uso comercial, desarrollo comercial y distribución comercial. El desarrollo comercial del software libre ha dejado de ser inusual; el software comercial libre es muy importante.

Es aceptable que haya reglas acerca de cómo empaquetar una versión modificada, siempre que no bloqueen a consecuencia de ello tu libertad de publicar versiones modificadas. Reglas como ``Si haces disponible el programa de esta manera, debes hacerlo disponible también de esta otra'' pueden ser igualmente aceptables, bajo la misma condición. (Observa que una regla así todavía te deja decidir si publicar o no el programa). También es aceptable que la licencia requiera que, si has distribuido una versión modificada y el desarrollador anterior te pide una copia de ella, debas enviársela.

En el proyecto GNU, utilizamos ``copyleft'' para proteger de modo legal estas libertades para todos. Pero el software libre sin ``copyleft'' también existe. Creemos que hay razones importantes por las que es mejor usar copyleft, pero si tus programas son software libre sin ser copyleft, los podemos utilizar de todos modos.

A veces las normas de control de exportación del gobierno y las sanciones mercantiles pueden restringir tu libertad de distribuir copias de los programas a nivel internacional. Los desarrolladores de software no tienen el poder de eliminar o sobrepasar estas restricciones, pero lo que pueden y deben hacer es rehusar el imponerlas como condiciones de uso del programa. De esta manera, las restricciones no afectarán a actividades y gente fuera de las jurisdicciones de estos gobiernos.

Cuando se habla de software libre, es mejor evitar términos como: ``regalar'' o ``gratis'', porque esos términos implican que lo importante es el precio, y no la libertad.

Cuales son las diferencia entre Postgres y ORACLE






  • Oracle soporta consultas en paralelo cosa que postgres aun ho ha implementado
  • Postgres tiene 5 lenguajes procedurales a diferencia de oracle que solo tiene 1
  • En postgres es posible desarrollar tus propios tipos de datos, mientras que en oracle no.
  • Las herramientas de configuración de oracle son tal ves las mejores en el mercado.
  • Oracle tiene muchos más parámetros de configuración que postgres, sin embargo muchos de ellos son solo conocidos por la misma gente de oracle que manipulan solo si se recibe el soporte oficial de oracle.
  • PostgreSQL (licencia BSD), Oracle (licencia comercial – oracle)

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 más lento que Oracle.
  • Los Limites de PostgreSQL:
  • Máximo de base de datos: ILIMITADO.
  • Máximo de tamaño de tabla: 32TB.
  • Máximo de tamaño de registro: 1.6TB.
  • Máximo de registros por Tabla: ILIMITADO.
  • Máximo de tamaño de campo: 1GB.
  • Máximo de índices por tabla: ILIMITADO.
  • Máximo de campos por tabla: 250 a 1600 (depende de los tipos usados).


UBUNTU

Ubuntu es un sistema operativo de código abierto desarrollado en torno al kernel Linux. La filosofía Ubuntu se basa en los siguientes principios: que el software debe ser gratuito, que la gente debe poder usar el software en su lengua materna y debe poder hacerlo independientemente de cualquiera sean sus limitaciones; además, la gente debe ser libre de personalizar o modificar el software del modo que crea más conveniente.

Ubuntu siempre será gratuito, y no habrá un coste adicional para la «edición profesional»; queremos que lo mejor de nuestro trabajo esté libremente disponible para todos.

Para hacer que Ubuntu pueda ser usado por el mayor número de personas posible, Ubuntu emplea las mejores herramientas de traducción y accesibilidad que la comunidad del Software Libre es capaz de ofrecer.

Ubuntu se publica se manera regular y predecible, una nueva versión cada seis meses. Puede usar la versión estable o probar y ayudar a mejorar la versión en desarrollo.

Ubuntu está totalmente comprometido con los principios de desarrollo del software de código abierto, animamos a la gente a utilizarlo, mejorarlo y compartirlo.

El proyecto Ubuntu está totalmente basado en los principios del desarrollo de software de código abierto; se anima a que la gente use, mejore y distribuya software de código abierto.

La filosofía del software libre establece que la gente pueda usar el software de todas las formas que considere "socialmente útiles": el código está disponible para poder descargarlo, modificarlo y usarlo del modo que más le convenga. Por tanto, además del hecho de que el software libre normalmente puede conseguirse sin coste alguno, esta libertad también tiene ventajas técnicas: al desarrollar programas puede utilizarse el trabajo de los demás y construir a partir de éste. Con el software no libre, esto no es posible, y para desarrollar un programa, se tiene que empezar desde cero. Por esta razón, el desarrollo de software libre es rápido y eficiente.

¿Qué es GNU/linux? En pocas palabras: es un sistema operativo GNU que usa como nucleo el kernel Linux. El proyecto GNU nació en 1984 de la inicativa de Richard Stallman con el objetivo de desarrollar un sistema operativo basado en UNIX, pero libre: el sistema GNU. El proyecto GNU está fuertemente unido a la filosofía del software libre, que es eje central en los proyectos que como Ubuntu derivan de él.

El kernel Linux es el corazón del sistema operativo Ubuntu. Nació en 1991 gracias a Linus Torvalds. Es esencialmente un clónico del núcleo de UNIX creado de manera independiente.

Existe una comunidad de personas cada vez mayor que creen en los ideales del Software Libre e invierten su tiempo en ayudar a hacer que la tecnología de código abierto sea cada vez mejor. La gente de esta comunidad posibilita iniciativas como Ubuntu, comités de estándares que le dan forma a Internet, organizaciones como la Fundación Mozilla, creadores de Mozilla Firefox, y otros tantos proyectos de software de los cuales es usted beneficiario.

Características:

  • Está basado en la distribución Debian.
  • El navegador Web oficial es Mozilla Firefox.
  • Utiliza el escritorio oficial es Gnome y se sincronizan con sus liberaciones.
  • Está disponible en 4 arquitecturas: Intel x86, AMD64, SPARC y PowerPC.
  • Mejora la accesibilidad y la internacionalización, de modo que el software esté disponible para tanta gente como sea posible.
  • Los desarrolladores de Ubuntu se basan en gran medida en el trabajo de las comunidades de Debian y GNOME.
  • Brinda facilidad y libertad de uso e instalación (100% libre).
  • Lanzamiento de versiones gratuitas y estables cada 6 meses, además se mantienen actualizadas en materia de seguridad hasta 18 meses después de su lanzamiento.
  • La nomenclatura de las versiones se compone del dígito del año de emisión y del mes en que esto ocurre, ejemplo: La versión 4.10 es de octubre de 2004.
  • Incluye funciones avanzadas de seguridad por lo que no hay un firewall predeterminado, ya que no existen servicios que puedan atentar a la seguridad del sistema.

APACHE

El servidor HTTP Apache es un software libre servidor HTTP de código abierto para plataformas Unix, Windows, Macintosh y otras, que implementa el protocolo HTTP/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: desde 1996, Apache, es el servidor HTTP más usado. Alcanzó su máxima cota de mercado en 2005 siendo el servidor empleado en el 70% de los sitios web en el mundo, sin embargo ha sufrido un descenso en su cuota de mercado en los últimos años. (Estadísticas históricas y de uso diario proporcionadas por Netcraft).

La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas tan sólo pueden ser aprovechadas por usuarios locales y no remotamente. Sin embargo, algunas 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.

Características:

  • Es Multiplataforma.
  • Es una tecnología gratuita de código fuente abierta (Open source ).
  • Es un servidor altamente configurable de diseño modular.
  • Accede personalizar la respuesta ante los posibles errores que se puedan dar en el servidor.
  • Posee una alta configurabilidad en la creación y gestión de logs.
  • Se distribuye bajo una licencia especial Apache Software License. (Gratuito)
  • Es Modular, es decir, puede ser adaptado a diferentes entornos y necesidades, con los diferentes módulos de apoyo y con la API de programación de módulos, para el desarrollo de módulos específicos.
  • Estimula la realimentación de los usuarios, obteniendo nuevas ideas, informes de fallos y parches para la solución de los mismos.
  • Es ideal para instalar en máquinas GNU/Linux, que aseguran un S.O. con unas comunicaciones excelentes.
  • Accede la creación de sitios web dinámicos mediante el uso de: CGI's, Server Side Includes (SSI), lenguajes de Scripting (PHP, javascript, Python) Java y páginas jsp.
  • Accede la autenticación de usuarios en varias formas
  • Es extensible, gracias a ser modular se han desarrollado diversas extensiones entre las que destaca PHP, un lenguaje de programación del lado del servidor.

PostgreSQL



Características de Postgres con Linux

  1. Cumple completamente con ACID yANSI SQL.
  2. Interfaces nativas para ODBC, JDBC, C, C++, PHP, Perl, TCL, ECPG, Python y Ruby.
  3. Soporta Integridad referencial y herencia
  4. Replicación (soluciones comerciales y no comerciales) que permiten la duplicación de bases de datos maestras en múltiples sitios de réplica.
  5. Contempla Outer Joins y Sub-selects.
  6. Procedimientos almacenados.
  7. Soporte nativo SSL.
  8. Respaldo en caliente.
  9. Lenguajes procedurales.
  10. Bloqueo a nivel mejor-que-fila.
  11. Índices parciales y funcionales.
  12. Soporte para consultas con UNION, UNION ALL y EXCEPT.
  13. Posee funciones de compatibilidad para ayudar en la transición desde otros sistemas menos compatibles con SQL.
  14. Cuenta con extensiones para SHA1, MD5, XML y otras funcionalidades.
  15. Posee herramientas para generar SQL portable para compartir con otros sistemas compatibles con SQL.

Instalación de PostgreSQL en Linux

La siguiente instalación se realiza en Ubuntu 7.10 utilizando el editor de textos nano.

En primer lugar se instala el servidor de base de datos “postgresql-server-dev-8.2″.

#aptitude install postgresql-server-dev-8.2

También se instala una aplicación que servirá para el mantenimiento de la base de datos.

#aptitude install pgadmin3

Después de instalar estos paquetes se debe modificar el fichero “/etc/postgresql/8.2/main/pg_hba.conf” el cual tendrá que quedar de la siguiente forma.

# Database administrative login by UNIX sockets
local all postgres trust

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# “local” is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust

Para acceder a postgree se ejecuta “pgadmin3″ y se colocará como dirección “localhost”. Con respecto al usuario se deja postgres y contraseña en blanco.

Otra aplicación para el manejo de la base de datos es “phppgadmin”. Esta aplicaación sirve para manejar la base de datos via web. Para instalarla se hace lo siguiente :

#aptitude install phppgadmin

Luego se debe añadir al fichero “/etc/apache2/sites-available/default” el contenido del fichero “/etc/phppgadmin/apache.conf” de la siguiente forma.

#cat /etc/phppgadmin/apache.conf >> /etc/apache2/sites-available/default

Se debe estar pendiente del fichero “/etc/apache2/sites-available/default” la directiva “</VirtualHost>” tiene que seguir cerrando el fichero, de lo contrario phppgadmin no funcionará.

 


Análisis y diseño de un sistema de información usando Postgres

Para iniciar un análisis y diseño de cualquier sistema de información, es necesarioaplicar un estudio de factibilidad, para determinar la viabilidad del mismo, para posteriormente conocer las necesidades tecnológicas, y la elecciónde una tecnología adecuada y óptima para contar con resultados efectivos y rápidos.

Seleccionar una herramienta como Postgres, nos permitirá tener un gran manejador de Base de Datos GNU, el cual es muy estable y robusto, así como también posee un motor con soporte de: transacciones, triggers y procedimientos almacenados, lenguaje procedimental, entre otras ventajas.


Plan de migración de ORACLE a Postgres para una empresa administrativa

Para iniciar un proceso de migración de bases de datos, es importante tener en consideración diversos aspectos, los cuales determinarán a futuro el éxito de dicho proceso. Primero que todo, se debe realizar un estudio de factibilidad para determinar si es posible hacer la migración; asimismo, debe conocerse los 2 manejadores de bases de datos para cumplircon el proceso.

Después de lo anterior, deben realizarse los siguientes pasos:

  1. Se normalizará las estructuras de las bases de datos a migrar.
  2. Obtener las bases de datos.
  3. Realizar las copias de seguridad de la información.
  4. Creación de las estructuras de las base de datos nuevas.
  5. Importar y Restaurar los datos hacia las bases de datos nuevas.
  6. Validar los datos importados (Integridad y consistencia de la información)
  7. Realizar las pruebas respectivas

Caso Práctico: Sistema de información de Ventas de Tickets vía Web,
usando Postgres para un estadio de Béisbol

El manejador de base de datos Postgres es ideal para llevar cabo un sistema en línea para la venta de tickets, principalemente por la cantidad de peticiones que se puede gestionar en un determindo ofreciendo confiabilidad e integridad de los datos.

Para iniciar un sistema de información de este tipo, se deben considerar los siguientes aspectos:

  • Requerimientos y necesidades de automatización.
  • Estudio de Factibidad. (Factibilidad Técnica, Operativa y Económica)
  • Disponibilidad del personal o empresa especializada para llevar a cabo el diseño y codificación del Sistema.
  • Analizar los sistemas de seguridad a implementar. En el sistema se contemplará el pago por tarjetas de crédito, transferencias bancarias, depósitos, etc.En ese sentido, se debe tramitar con la firma VeriSing Secured, la utilización de políticas de seguridad, de tal forma de obtener el máximo de seguridad mientras los usuarios visitan el sitio. El mismo estará protegido a través de la Transmisión de datos cifrados, así como también de identidad verificada.
  • Diseñar las bases de datos del sistema en el manejador de base de datos Postgres
  • Desarrollo del sistema utilizando el Lenguaje de programación PHP, el cual entre otras características es multiplataforma y se considera un lenguaje seguro en si mismo.
  • Realizar las pruebas respectivas.

En dicho Sistema se aplicará un CRM, ya que es una herramienta administrativa basada en la relación con los clientes. CRM, es un modelo de gestión de toda la organización, basada en la orientación al cliente (u orientación al mercado según otros autores), el concepto más cercano es Marketing relacional (según se usa en España), teniendo mucha relación con otros conceptos como: Clienting, Marketing 1x1, Marketing directo de base de datos, etc.

 Por otra parte los Módulos que debe poseer el sistema son los siguientes:

  • Módulo de Usuarios / Clientes: En esta opción se registraran los clientes para tener sus datos principales como: Nombre completo, cedula de identidad, sexo, teléfonos, dirección, edad,datos de la tarjeta de crédito, y preferencias del cliente en relación a donde le gusta estar ubicado en el estadio, ropa de su equipo favorito, entre otras cosas.
  • Módulo de Reservas. En esta opción, los clientes registrados pueden reservar sus entradas en los lugares del estadio que estén disponibles. 
  • Módulo de Compras: En esta opción el cliente puede adquirir su boleto virtual, pagándolo, a través, de los métodos electrónicos disponibles. El sistema emitirá un reporte (boleto virtual) al cliente, que posteriormente entregara en taquilla del estadio, y se verificaran sus datos por el sistema cuando el cliente vaya a ingresar el identificador del boleto asignado.
  • Módulo de Reportes y Estadísticas: Donde se puedan emitir reportes personalizados.
  • Modulo para el CRM: Solo disponible para el Administrador del Sistema, donde puede darle seguimiento a todos lo procesos, como por ejemplo saber la cantidad de puestos vacíos, la distribución de los fanáticos agrupados por sexo y/o edad en el estadio, conocer el promedio de asistencia, entre otras datos estadísticos importantes.

Referencias Bibliográficas

1.- http://www.ubuntu-es.org/

2.- http://www.chilehardware.com/foro/cuales-son-las-ventajas-y-desventajas-de-la-base-de-datos-t87324p2.html

3.- http://www.pcmasmas.com/viewtopic.php?p=46564&sid=a7c7a5b662f2ff65d1549f95977c9765

4.- http://es.wikipedia.org/wiki/Apache_http_server

Hosted by www.Geocities.ws

1