|
UNIVERSIDAD YACAMBU VICE-RECTORADO DE ESTUDIOS A DISTANCIA ESPECIALIZACION EN GERENCIA Mención
Sistemas de Información
|
|
Lic. Analista de Pruebas y Control de Calidad. (0212)5000078, (0416)8106837 |
|
Ing. Maigualida Marín Analista de Sistema. (0286)9801961, (0416)1003718 |
|
Ing. Johanna Piña Consultor
Senior QA. (0212)2350723, (0416) 528.0195 |
Cada vez es más usual
en el ámbito privado y público conseguirse la utilización de software libre
desarrollado con estándares abiertos.
El software libre ya no es una promesa, es una
realidad y se utiliza en sistemas de producción por algunas de las empresas tecnológicas
más importantes como IBM, SUN Microsystems, Google, Hewlett-Packard, etc.
Paradojicamente, incluso Microsoft, que posee sus propias herramientas,
emplea GNU Linux en muchos de sus servidores. Podemos augurar sin lugar a
dudas un futuro crecimiento de su empleo y una consolidación bien merecida.
Definición legal
Programa de
computación cuya licencia garantiza al usuario acceso al código fuente del
programa y lo autoriza a ejecutarlo con cualquier propósito, modificarlo y
redistribuir tanto el programa original como sus modificaciones en las mismas
condiciones de licenciamiento acordadas al programa original, sin tener que
pagar regalías a los desarrolladores previos (Decreto 3390, artículo 2).
¿Qué son los Programas Informáticos Libres?
Los Programas
Informáticos Libres son aquellos que cumplen con las siguientes cuatro
libertades básicas:
Libertad Cero: "usar el programa con cualquier
propósito". Es decir, el ejercicio de esta libertad implica que lo
podemos utilizar con cualquier fin, ya sea educativo, cultural, comercial,
político, social, etc. Esta libertad deriva de que hay ciertas licencias que
restringen el uso del software a un determinado propósito, o que prohíben su
uso para determinadas actividades.
Libertad Uno: "Estudiar como funciona el
programa, y adaptarlo a sus necesidades". Significa que podemos estudiar
su funcionamiento (al tener acceso al código fuente) lo que nos va a permitir,
entre otras cosas: descubrir funciones ocultas, averiguar como realiza
determinada tarea, descubrir que otras posibilidades tiene, que es lo que le
falta para hacer algo, etc. El adaptar el programa a mis necesidades implica
que puedo suprimirle partes que no me interesan, agregarle partes que
considero importantes, copiarle una parte que realiza una tarea y adicionarla
a otro programa, etc.
Libertad Dos: "Distribuir copias". Quiere decir que somos
libres de redistribuir el programa, ya sea gratis o con algún costo, ya sea
por email, FTP o en CD, ya sea a una persona o a
varias, ya sea a un vecino o a una persona que vive en otro país, etc.
Libertad Tres: "Mejorar el programa, y liberar las mejoras
al publico". Es la libertad de hacer mejor el programa, es decir que
podemos hacer menores los requerimientos de hardware para funcionar, que
tenga mayores prestaciones, que ocupe menos espacio, que tenga menos errores,
entre otras modificaciones. El poder liberar las mejoras al publico quiere
decir que si realizamos una mejora que permita un requerimiento menor de
hardware, o que haga que ocupe menos espacio, soy libre de poder redistribuir
ese programa mejorado, o simplemente proponer la mejora en un lugar publico
(un foro de noticias, una lista de correo, un sitio Web, un FTP, un canal de
Chat).
Tomado de la página http://www.cnti.gob.ve/index.php?option=com_content&task=view&id=93
La enciclopedia Wikipedia define PostgreSQL como un servidor
de base de datos
relacional orientada a objetos de software libre,
publicado bajo la licencia BSD.
Como muchos
otros proyectos open source, el desarrollo de PostgreSQL
no es manejado por una sola compañía sino que es dirigido por una comunidad
de desarrolladores y organizaciones comerciales las cuales trabajan en su
desarrollo. Dicha comunidad es denominada el PGDG (PostgreSQL
Global Development Group). http://es.wikipedia.org/wiki/PostgreSQL
La enciclopedia Wikipedia define
Oracle como 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.
Se considera a Oracle como uno
de los sistemas de bases de datos más completos, destacando su:
Aunque
su dominio en el mercado de servidores empresariales ha sido casi total hasta
hace poco, recientemente sufre la competencia del Microsoft SQL Server de Microsoft
y de la oferta de otros RDBMS con licencia libre
como PostgreSQL, MySql
o Firebird. Las últimas versiones de Oracle han sido
certificadas para poder trabajar bajo Linux.
Diferencias
1.
La
implementación de un proyecto con Oracle necesita comprar licencias
costosísimas, en cambio con Postgres es gratuito.
2.
El
Código de Oracle fue desarrollado por una Empresa bajo un esquema establecido,
en cambio Postgres es un código fuente desarrollado por un gran número de
personas y no se excluye a nadie interesado en aportar ideas si disponen de
los conocimientos necesarios.
3.
Una
base de datos construida con Oracle soporta consultas en paralelo, en cambio
Postgres no cuenta con esta fortaleza.
4.
En
postgre es posible desarrollar tus propios tipos de
datos, mientras que en oracle no.
5.
Las
herramientas de configuración de Oracle son tal ves
las mejores en el mercado.
7.
Postgre
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.
8.
Postgre
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.
9.
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:
Ø
Instalación
Ilimitada: Es frecuente que las bases de datos comerciales sean instaladas en
más servidores de lo que permite la licencia. Algunos proveedores comerciales
consideran a esto la principal fuente de incumplimiento de licencia. Con
Postgre, nadie puede demandarlo por violar acuerdos de licencia, puesto que
no hay costo asociado a la licencia del software.
Ø
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.
Ø
Mejor
soporte que los proveedores comerciales. Además de nuestras ofertas de
soporte, tenemos una importante comunidad de profesionales y entusiastas de
Postgre de los que su compañía puede obtener beneficios y contribuir.
Ø
Ahorros
considerables en costos de operación. Nuestro software ha sido diseñado y
creado para tener un mantenimiento y ajuste mucho menor que los productos de
los proveedores comerciales, conservando todas las características,
estabilidad y rendimiento. Además de esto, nuestros programas de
entrenamiento son reconocidamente mucho más costo-efectivos, manejables y
prácticos en el mundo real que aquellos de los principales proveedores
comerciales.
Ø
Estabilidad
y confiabilidad legendarias. En contraste a muchos sistemas de bases de datos
comerciales, es extremadamente común que compañías reporten que Postgre nunca
ha presentado caídas en varios años de operación de alta actividad. Ni una
sola vez. Simplemente funciona.
Ø
Extensible.
El código fuente está disponible para todos sin costo. Si su equipo necesita
extender o personalizar Postgre de alguna manera, pueden hacerlo con un
mínimo esfuerzo, sin costos adicionales. Esto es complementado por la
comunidad de profesionales y entusiastas de Postgre alrededor del mundo que
también extienden Postgre todos los días.
Ø
Multiplataforma.
Postgre está disponible en casi cualquier Unix (34
plataformas en la última versión estable), y una versión nativa de Windows
está actualmente en estado beta de pruebas.
Ø
Diseñado
para ambientes de alto volumen. Postgre usa una estrategia de almacenamiento
de filas llamada MVCC para conseguir una mucho mejor
respuesta en ambientes de grandes volúmenes. Los principales proveedores de
sistemas de bases de datos comerciales usan también esta tecnología, por las
mismas razones.
Ø
Herramientas
gráficas de diseño y administración de bases de datos. Existen varias
herramientas gráficas de alta calidad para administrar las bases de datos (pgAdmin , pgAccess) y para hacer diseño de
bases de datos (Tora , Data Architect).
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.
Máximo 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:
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)
http://soporte.tiendalinux.com/portal/Portfolio/postgresql_ventajas_html
![]()
Ubuntu
Es una distribución GNU/Linux que ofrece un sistema operativo predominantemente enfocado
a computadores personales, aunque también
proporciona soporte para servidores. Es una de las más importantes distribuciones de
GNU/Linux a nivel mundial. Se basa en Debian GNU/Linux y concentra su objetivo en la
facilidad y libertad de uso, la fluida instalación y los lanzamientos
regulares. El principal patrocinador es Canonical Ltd., una empresa privada fundada y financiada
por el empresario
sudafricano
Mark Shuttleworth.
El
término Ubuntu es una regla ética o
ideología sudafricana enfocada en la lealtad de las personas y las relaciones
entre éstas, una traducción podría ser "humanidad hacia los demás"
o "La creencia en un enlace universal de compartir que conecta a toda la
humanidad."
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 la distribución –“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.
La
versión más reciente -8.04- fue lanzada para pre-órdenes
desde su web el 21 de abril
del 2008,
para ser entregadas en aproximadamente 3 semanas después de su salida.
http://es.wikipedia.org/wiki/Ubuntu_(distribuci%C3%B3n_Linux)
Características
http://www.guadalinex.org/guadapedia/index.php/Ubuntu

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 "parcheado").
El servidor Apache se desarrolla dentro del proyecto HTTP
Server (httpd) de
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 cuota 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[2]
).
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.
http://es.wikipedia.org/wiki/Servidor_HTTP_Apache
Características
Ø
Corre
en una multitud de Sistemas Operativos, lo que lo hace prácticamente
universal.
Ø
Apache
es una tecnología gratuita de código fuente abierto.
El hecho de ser gratuita es importante pero no tanto como que se trate de
código fuente abierto. Esto le da una transparencia a este software de manera
que si queremos ver que es lo que estamos instalando como servidor, lo
podemos saber, sin ningún secreto, sin ninguna puerta trasera ;).
Ø
Apache
es un servidor altamente configurable de diseño modular. Es muy sencillo
ampliar las capacidades del servidor Web Apache. Actualmente existen muchos
módulos para Apache que son adaptables a este, y están ahí para que los
instalemos cuando los necesitemos. Otra cosa importante es que cualquiera que
posea una experiencia decente en la programación de C o Perl puede escribir
un modulo para realizar una función determinada.
Ø
Apache
trabaja con gran cantidad de Perl, PHP y otros lenguajes de script. Perl destaca en el
mundo del script y Apache utiliza su parte del
pastel de Perl tanto con soporte CGI como con soporte mod
perl. También trabaja con Java y páginas jsp.
Teniendo todo el soporte que se necesita para tener páginas dinámicas.
Ø
Apache
te permite personalizar la respuesta ante los posibles errores que se puedan
dar en el servidor. Es posible configurar Apache para que ejecute un
determinado script cuando ocurra un error en
concreto.
Ø
Tiene
una alta configurabilidad en la creación y gestión
de logs. Apache permite la creación de ficheros de log a medida del administrador, de este modo puedes tener
un mayor control sobre lo que sucede en tu servidor.
http://linux.ciberaula.com/articulo/linux_apache_intro/

Postgres con
Linux
Análisis y diseño de un Sistema de Información
usando Postgres
Un Sistema de Información (SI) representa todos
los elementos que forman parte de la administración, el procesamiento, el
transporte y la distribución de la información dentro de la compañía.
En términos prácticos, el alcance del término "sistema de información" puede
variar notablemente entre una organización y otra.
El objetivo del análisis de un SI es la obtención de una
especificación detallada que satisfaga las necesidades de información de los
usuarios y sirva de base para el posterior diseño del sistema. Llevar a cabo
el análisis como un proceso metódico garantiza un margen mínimo de error, en
esta fase se sugiere tomar en cuenta.
1. Definición del sistema: Se lleva a cabo la descripción inicial del SI, a partir de los
productos generados en el proceso de estudio de vialidad del sistema.
2. Identificar Aliados: Se deben identificar los usuarios que formaran parte de la
solución y participaran en el proceso de análisis, determinando sus perfiles,
responsabilidades y dedicaciones necesarias.
3. Delimitar el sistema: Se genera un catalogo de requisitos generales y se describe el
sistema mediante unos modelos iniciales de alto nivel.
4. Identificar el entorno tecnológico: el objetivo de esta actividad es
definir, a alto nivel, el entorno tecnológico que se requiere para dar
respuesta a las necesidades de información, especificando sus posibles
condicionantes y restricciones.
5. Especificación de estándares y normas: La realización de esta tarea permite
considerar las referencias para el SI en estudio, desde el punto de vista de
estándares, normativas, leyes o recomendaciones, que deben tener en cuenta a
lo largo de todo el proceso de desarrollo.
6. Análisis de Requisitos: En esta tarea se estudia la información capturada previamente,
para detectar inconsistencias, ambigüedades, duplicidad o escasez de
información. También se analizan las prioridades establecidas por el usuario
y se asocian los requisitos relacionados entre si.
7. Validación de Requisitos: Mediante esta tarea, los usuarios confirman que los
requisitos especificados en el catalogo de requisitos, son validos,
consistentes y completos.
El objetivo del diseño de un SI es evaluar los factores
que convertirán el análisis en un producto final. En esta etapa se deben
tomar en cuenta, la interfaz con la
que los usuarios deben interactuar, pero más allá de eso se debe hacer
especial énfasis en la arquitectura tecnología que se va a emplear,
evaluando, la escalabilidad y accesibilidad necesaria para que la solución se
mantenga en el tiempo. Los recursos de hardware y software a utilizar se
deben selecciona tomando en cuenta todas las necesidades de negocio. En esta
fase se sugiere tomar en cuenta.
1. Elaborar el modelo conceptual de datos.
2. Elaborar el modelo lógico de datos.
3. Especificar las necesidades de
migración de datos y carga inicial.
4. Elaborar el modelo de proceso.
5. Identificar las interfaces con otros
sistemas.
6. Definir las interfaces de usuarios.
7. Elaborar la especificación de los
requisitos de Software y software
8. Análisis de la estructura de
servidores.
9. Compatibilidad del sistema con otros
aplicativos.
10. Definir el acceso a los datos.
11. Diseñar un plan de pruebas.
Por tratarse postores de un manejador
de BD se enfocan las recomendaciones en el diseño de un Sistema del
Información, ya que el análisis dependerá más de la metodología que se escoja
para ello.
|
Versión |
v7.2 |
|
Licencia |
BSD |
|
Plataformas |
Linux,
Solaris, HP-UX, AIX, IRIX,
FreeBSD, OpenBSD, NetBSD, MacOs, SCO OpenServer,
SCO Unixware, BeOS, BSDI,
Compaq Tru64, QNX, Windows
(95 /98 /NT /2000 /XP |
|
Software cliente |
Existe versión de Servidor y Cliente para Windows y Linux. |
|
Interfaces de prog |
ODBC, JDBC,
C/C++, Embeded SQL (in C), Tcl/Tk, Perl, Python, pgPSQL, PHP |
|
Triggers, Proc. Alm. y Vistas |
Alta compatibilidad (PS/pgSQL)
Soporta triggers y procedimientos almacenados |
|
Migración desde Oracle y Access |
MS-Acces: Totalmente Asumible Oracle: Buena compatibilidad |
|
Soporte para objetos grandes |
Soportado con tamaño ilimitado. Se gestiona en tablas independientes. OJO: no se copian con pg_dump, las copias de seguridad de estos datos deben realizarse independientemente. |
|
Subconsultas |
si |
|
Estándares soportados: |
SQL92 y parte de SQL99 además de características orientadas a objetos |
|
Software cliente para ODBC, JDBC u otros estándares |
Soporte para ODBC tanto en Linux como en Windows. Soporte para JDBC |
|
Estabilidad |
Alta |
|
Velocidad |
Normal |
|
Backup en caliente |
Si |
|
Administración y Seguridad |
Nivel de usuario, host y
objeto. Ajuste fino de grant y rewoke. Uso de Grupos. Soporta SSL. |
|
Bloqueo y soporte para concurrencia |
Tecnología MVCC comparable a los mejores SGBD comerciales. Bloqueos de escritura de forma individual y sólo en la sesión del cliente. |
|
Tamaño de las Bases de Datos |
Tamaño de ilimitado (hay bases de datos de 60 Gb). Tamaño máximo de tabla 64Tb. Tamaño máximo de una fila ilimitado. |
|
Conexiones concurrentes |
El numero de conexiones simultáneas depende de la computadora y el SO. El postgreSQL puede ajustarse (tunning) de forma muy
detallada y prepararlo para tipos de carga muy específicos |
|
Herramientas de admin. disponibles |
Muy diversas. Destacan: Windows y Linux: Las GUI de los desarrolladores de MySQL http://www.mysql.com/downloads /gui-clients.html Interfaz
Web: phpMyAdmin (www.phpmyadmin.net/) |
Elaborar un plan de migración de ORACLE a Postgres para
una empresa que maneje una razón social en el área de ADMINISTRACION.
En todo proceso de Migración de un manejador
de Base de Datos a otro, es necesario establecer un plan estratégico que
permita a la gerencia garantizar el éxito de dicha migración; en la cual
deben considerar la definición de un equipo de trabajo comprometido, contar
con un soporte oportuno y eficaz por parte del proveedor o comunidad y
evaluar los tiempos de ejecución del plan de forma objetiva siempre
contemplado las holguras necesarias. A
continuación se ofrece el siguiente plan de migración para una empresa que
maneje una razón social en el área de ADMINISTRACION, acotando que el mismo
puede aplicar por igual a una empresa manufacturera, ente bancario, entre
otros:
Caso Práctico: Asesorar un SI de ventas
de tickets vía Web usando Postgres para la entrada al museo.
Al analizar, diseñar, estructurar e
implementar un SI se deben tener en cuenta muchos detalles, que garanticen
que las piezas del gran rompe cabezas, queden
organizadas y se comuniquen de manera lógica y precisa.
Al pensar en un producto final, cada
unidad vigilara por el cumplimiento de sus requerimientos y expectativas,
pero mas allá de esa visión, existe un grupo estructurado en arquitectura de
software, que debe hacer de los sueños de los usuarios finales una realidad.
Es a este grupo a quien le recomendamos
usar Postgres por las siguientes razones:
1.
Instalación
ilimitada al tratarse de un software sin cobro de licenciamiento.
2.
Ofrece
Estabilidad y confiabilidad en el desarrollo.
3.
Postgre
tiene cinco lenguajes de programación procedurales, algunos sumamente
especializados y avanzados como PL/perl y PL/R.
4.
Postgres ofrece una
vía en la que los usuarios pueden extender fácilmente el sistema:
ü Clases
ü Herencia
ü Tipos
ü Funciones
5.
Multiplataforma.
6.
Herramientas
para generar SQL portable para compartir con otros
sistemas compatibles con SQL.
http://www.cnti.gob.ve/index.php?option=com_content&task=view&id=93
http://es.wikipedia.org/wiki/PostgreSQL
http://es.wikipedia.org/wiki/Oracle
http://soporte.tiendalinux.com/portal/Portfolio/postgresql_ventajas_html
http://es.wikipedia.org/wiki/Ubuntu_(distribuci%C3%B3n_Linux)
http://www.guadalinex.org/guadapedia/index.php/Ubuntu
http://es.wikipedia.org/wiki/Servidor_HTTP_Apache
http://linux.ciberaula.com/articulo/linux_apache_intro/
http://es.kioskea.net/contents/systeme-d-information/si-systeme-d-information.php3
http://64.233.169.104/search?q=cache:Lv7xCAp4G2IJ:www.abadiadigital.com/noticia2010.html+ventajas+del+software+libre&hl=es&ct=clnk&cd=1&gl=ve