1
U U n n i i v v e e r r s s i i d d a a d d d d e e l l a a s s C C i i e e n n c c i i a a s s I I n n f f o o r r m m á á t t i i c c a a s s F F a a c c u u l l t t a a d d # # 8 8
An A ná ál l is i si i s, s , di d is se eñ ño o e e im i m pl p l em e m e e nt n ta ac c i i ón ó n de d e l l s si it ti i o o W We eb b
“ “ S S e e cc c ci ió ón n S S i i n n di d ic ca a l l F Fa ac cu ul lt t a a d d N N o o . . 8 8 ” ”
A
Au ut to or r: : A Ay ye er ri im m G Gu ut ti ié ér rr re ez z D Dí ía a z z Au A ut to or r: : J Je eo o rq r qu ui is s H He er rn ná án nd de ez z M Mo o re r en no o
Tu T ut to or r: : I In ng g . . M Ma ay yl le en n C Ce ep pe e ro r o M Ma ad dr ru ug ga a . . C
Co on ns su ul lt to or r: : R Ro ob be er rt to o L Ló óp p ez e z Do D os sa ag gü üe es s. .
CiCiuuddaadd HHaabbaannaa,, CCuubbaa,, JJuunniioo ddeell 22000088..
“A“Aññoo 5500 ddee llaa RReevvoolluucciióónn..””
II
DEDECCLLAARRAACCIIÓÓNN DDEE LLAA AAUUTTOORRÍÍAA
PoPorr eessttee mmeeddioio ddeeccllaarraammooss qquuee ssoomomoss llooss úúnniiccooss aauuttoorreess ddee eessttee ttrraabbaajjoo yy aauuttoorriizzaamomoss aa lala UUnniivveerrssiiddaadd ddee llaass CCiieenncciiaass IInnffoorrmmááttiiccaass ((UUCCII)) ppaarraa qquuee hhaagganan eel l uussoo qquuee eessttiimmeenn pepertrtiinneennttee ccoonn eessttee ttrraabbaajjoo..
P
Paarraa qquuee aassíí coconsnsttee fifirrmmaammooss lala prpreesseennttee a a llooss _______ _ ddííaass dedel lmemess dede ____________________ ddeell 2020009.9.
_
___________________________ ______________________________ ______________________________ FFiirrmmaa ddeell AAuuttoorr FFiirrmmaa ddeell AAuuttoorr FFiirrmmaa ddeell TTuuttoorr
III
PPEENNSSAAMMIIEENNTTO O
“Siempre he creído en la necesidad de los sindicatos y su importancia en el socialismo, aunque naturalmente cambiando los métodos y teniendo muy en cuenta la diferencia de ser representante de los intereses de obreros explotados en el capitalismo, a serlo de los dueños colectivos de los medios de producción, de la clase dirigente de la sociedad socialista”.
General de Ejército Raúl Castro Ruz, Segundo Secretario del Comité Central del Partido Comunista de Cuba y Ministro de las Fuerzas Armadas Revolucionarias, en la clausura del XIX Congreso de la Central de Trabajadores de Cuba.
IV
DEDEDDIICCAATTOORRIIAA
D
Dee AAyyeerriimm::
A A mmiiss aabbuueellooss SSuussaannaa yy JJoosséé qquuee llooss aammoo.. A A mmii mmaaddrree yy mmii ttííaa OOssddaalliiss..
A
A mmiiss hheerrmmaannooss MMaaiibbeell,, MMaaiiddeell yy OOmmii.. Y Y aa mmiiss aammiiggooss ddeell aallmmaa NNeeddyy,, FFeelolo,, BBrriiaann S
Suurree yy DDaaiinnyy..
DeDe JJeeoorrqquuiiss::
A A mmiiss ppaaddrreess EEssppeerraannzzaa yy FFrraanncciissccoo pporor eessttaarr aaccttuuaalliizzaaddosos ccoonnssttaanntetemmeennttee ddee ccóómmoo iibbaa enen eell ddeessaarrrroolllloo ddee llaa tteessiiss..
A A mmiiss sseeggununddooss ppaaddrreess eenn CCiiuuddaadd ddee llaa HHaabbananaa mmiiss ttííoos s GGlloorriiaa yy RRuubbéénn qquuee ssiieemmpprree hhaann sesegguuiiddoo mmii ddeessaarrrroolllloo eenn llaa uunniivveerrssiiddaadd. .
A A mmii hheerrmmaannoo YYooiilleenn ppoorr ssuu iinntteerrééss ccoonnssttaannttee..
V
AGAGRRAADDEECCIIMMIIEENNTTOOSS
Le agradecemos:
A A nnuueessttrroo CCoommaannddaannttee eenn JJeeffee FFiiddeell ppoorr ccrreeaarr uunnaa mmaaggnnífífiiccaa UUnniivveerrssiiddaadd ddeell FFuuttuurroo.. A A llaa UUnniivveerrssiiddaadd ddee llaass CCiieenncciiaas s IInnffoorrmmááttiiccaass ppoorr ppeerrmmiittiirr ccoonneeccttaarrnnooss aall ffuuttuurroo yy aa llaa R
Reevvoolluucciióón.n.
AlAl MMáásstteerr RRoobbeerrttoo LLóóppeezz DDoossaaggüüeess yy aa llaa IInngg.. MMaayylleenn CCeeppeeroro MMaaddrruuggaa ppoorr eessttaarr p
peenndidieennttees s dde e nnuueessttrroo ttrraabbaajjoo,, hhaacceerr lloo mmeejojor r qquuee ssaabbeenn ssuu ttrraabbaajjoo ccoommoo ttuuttoorrees,s,
apapooyayarrnnooss,, eedduuccaarrnnooss,, eennsseeññaarrnnooss yy aa ttooddooss llooss pprrooffeessoorreess qquuee mmee hhaann aayyuuddaaddoo:: EEddiieerr,, ErEriicc,, TToommááss,, AAmmaaddoo yy SSuurreellyyss..
VI
AyAyeerriimm::
AgAgrraaddeezzccoo aa mmiiss aabbuueellooss SuSussaannaa y y JoJosséé,, poporr sisieemmpprree esesttaarr a a mimi laladdo odádánnddoommee elel amamoorr yy eell aappooyyoo qquuee nneecceessiittoo yy ssóólloo eellllooss ssoonn ccaappaacceess ddee ddaarrmmee..
AgAgrraaddeezzccoo aa mmii mmaaddrree ppoorr sseerr ttaan n ppaacciieennttee ccoonnmmiiggoo yy ssiieemmpprree ccoonnffiiaarr enen mmíí,, ddaarrmmee apapooyoyo y y amamoorr,, a a mimi títíaa OOssddaalliiss poporr cocommppoorrttaarrssee cocommoo sisi ffuueerara mimi mamaddrree sisieemmpprree a a mimi laladdoo , , mimiss hheerrmmaannoos s MMaaibibeell,, MMaaiiddeell,, y y OmOmii poporr seserr tatan n papacicieenntteess yy bbeellllooss ccoonmnmiiggoo, , agaguuananttaarrmmee,, aappooyyaarrmmee yy eeststaar r ccuuaannddoo llooss nneecceessiittéé yy ssiieemmpprree ccoonnffiiaarr eenn mmíí..
A
Aggrraaddeezzccoo aa SuSurerellyyss poporr esesttaarr aa mmii laladdoo,, aayyuuddaarrmmee ssiieempmprree,, ooíírrmmee,, agaguuaannttaarrmmee,, enenseseññaarrmmee yy ddaarrmmee ttaannttoo ccaarriiññoo yy hhaacceermrmee uunnaa mmeejjoorr peperrssoonnaa yy ppoorr seserr mmii mmaammiittaa aaqquuí í e
enn llaa uunniivveerrssiiddaadd..
AgAgrraaddeezzccoo aa mimiss amamiiggooss AAiinneeddyy yy FeFelliippee y y a a BrBriiaan n popor r ccoommpprreennddeerrmmee y y ccaarrggaarr c
coonnmmiiggoo poporr 5 5 añañooss y y sisieemmpprree mimimmaarrmmee yy enensseeññaarrmmee ququee sísí sese pupueeddee,, poporr hahabbeerrmmee ayayuuddaaddoo eenn mimiss eessttuuddiiooss y y aa papassaarr poporr lala esesccuueellaa dede llaa vviidda,a, poporr seserr lala fafammiilliiaa ququee nenececessiittéé yy ssiieemmpprree eennccoonnttrréé eenn eellllooss aaqquuíí..
AgAgrraaddeezzccoo aa mmii ccoommppaaññeerroo ddee tteessiiss JJeeoorrqquuiiss ppoorr ssiieemmpprree hhaacceerr ttooddoo lloo qquuee llee ppeeddíí,, cocommppororttaarrssee ccoommoo yyoo eessppeerréé ddee ééll,, ppoorr ddememoossttrraarr qquuee ssíí ppoodídíaa yy ppoorr ssooppoorrttaarr mmiiss mmaallooss dídíaass yy ttooddaass llaass ccoossaass qquuee ttuuvvoo qquuee ssooppoorrttaarr ppoorr ttaann ssoolloo hhaacceerr llaa tteessiiss ccoonnmimiggoo..
A A mmiiss aamimiggooss yy ccoommppaaññeerrooss ddee eessttuuddiioo PPaabblloo,, RRooddyy,, YYooiissee,, AAllee,, MMaayylliinn,, LLiissyy,, KKaarerell,, L
Liiddiivveell,, TiTiccoo,, MMaarrlloonn,, YaYann,, ErEriicc y y aa totoddoos s loloss ddee mimi aantntiigguuoo grgruuppoo 81810077,, ppoorr hahabbeerr c
coommppararttiiddo o ccoonnmmiiggoo mumucchhaass ccoossaass iimmppoorrttaanntteess enen mmii vviiddaa yy eessttaarr pprreeooccuuppaaddooss sisieemmpprree popor r eell ddeessaarrrroolllloo ddee llaa tteessiiss..
JeJeoorrqquuiiss::
A A mmii pprriimmoo AAddrriiaann ppoorr ssuu aappooyoyo..
A A mmiiss aammiiggooss qquuee ssiigguuiieerroonn ppaassoo aa ppaassoo eell ddeessaarrrroolllloo ddee llaa tteessiiss..
Í Í Í n n n d d d i i i c c c e e e
1
ÍNDICE
INTRODUCCIÓN ... 4
CAPITULO # 1 FUNDAMENTACIÓN TEÓRICA ... 8
INTRODUCCIÓN ... 8
1.2 EJEMPLOS DE SISTEMAS DE GESTIÓN DE LA INFORMACIÓN EXISTENTES A NIVEL NACIONAL: ... 8
1.2.1 EL SITIO WEB TRABAJADORES ... 8
1.3.1LOS SISTEMAS DE GESTIÓN DE CONTENIDOS ... 9
FUNCIONALIDADES QUE BRINDAN LOS CMS ... 10
TIPOS DE CMS ... 11
CMS UTILIZADOS EN EL DESARROLLO DE PORTALES WEB ... 12
CMSJOOMLA ... 12
SELECCIÓN DEL CMS A UTILIZAR. ... 15
1.3.2.1 LENGUAJE DE PROGRAMACIÓN Y TECNOLOGÍAS DEL LADO DEL CLIENTE... 15
POSTGRESQL COMO SISTEMA GESTOR DE BASE DE DATOS. ... 19
CARACTERÍSTICAS DE POSTGRESQL ... 19
ALGUNOS DE LOS SERVIDORES WEB MÁS IMPORTANTES Y CONOCIDOS SON: ... 23
¿POR QUÉ UTILIZAR APACHE? ... 23
1.5HERRAMIENTAS UTILIZADAS ... 24
CONCLUSIONES ... 24
CAPÍTULO # 2 CARACTERÍSTICAS DEL SISTEMA ... 26
INTRODUCCIÓN ... 26
2.1 DEFINICIÓN DE OBJETIVOS DEL SITIO ... 26
2.2 DEFINICIÓN DE AUDIENCIA ... 26
2.3 DEFINICIÓN DE CONTENIDOS Y SERVICIOS DEL SITIO ... 26
2.4REQUERIMIENTOS FUNCIONALES DEL SISTEMA ... 27
R.1 Autenticar usuario ... 27
R.2 Gestionar emulación de la sección sindical ... 28
R.3 Gestionar las finanzas de la sección sindical... 28
R.4 Mostrar información... 28
R.5 Modificar o Eliminar Información ... 28
2.5 REQUERIMIENTOS NO FUNCIONALES DEL SISTEMA ... 29
Diseño e implementación... 29
Í Í Í n n n d d d i i i c c c e e e
2
Usabilidad ... 29
Rendimiento ... 29
2.6ACTORES Y CASOS DE USO DEL SISTEMA ... 29
ACTORES ... 30
CASOS DE USO: ... 30
2.7DEFINICIÓN DE LA ESTRUCTURA DEL SITIO ... 33
2.7.1CREACIÓN DE LA ESTRUCTURA ... 33
2.7.2MAPA PERMANENTE DEL SITIO ... 34
2.7.3ELEMENTOS DEL SISTEMA DE NAVEGACIÓN ... 35
2.7.4ELEMENTOS COMUNES EN LAS PÁGINAS DEL SITIO WEB ... 35
2.8DEFINICIÓN DEL DISEÑO VISUAL ... 36
2.8.2BOCETO DE DISEÑO ... 37
CONCLUSIONES ... 37
CAPÍTULO #3 IMPLEMENTACIÓN Y CONFIGURACIÓN. ... 38
INTRODUCCIÓN ... 38
3.1PRESENTACIÓN DEL CONTENIDO:TEMA “SINDICATO ONLINE”. ... 38
3.1.1TEMAS EN DRUPAL. ... 38
3.1.2TEMA SINDICATO ONLINE. ... 38
3.2FUNCIONALIDADES:PAQUETES DE MÓDULOS. ... 39
3.2.1MÓDULOS EN DRUPAL ... 39
3.2.2ESTUDIO DE LOS MÓDULOS DEL DRUPAL ... 39
3.2.3PAQUETE DE MÓDULOS “SINDICATO ONLINE” ... 40
EMULACIÓN ... 40
FINANZAS ... 40
ESTRUCTURA SINDICAL ... 40
3.3INSTALACIÓN DE MÓDULOS Y TEMA ... 41
3.3.1INSTALACIÓN DE MÓDULOS. ... 41
3.3.2INSTALACIÓN DEL TEMA “SINDICATO ONLINE” ... 41
3.3INSTALACIÓN DE MÓDULOS Y TEMA ... 41
3.3.1INSTALACIÓN DE MÓDULOS. ... 41
3.3.2INSTALACIÓN DEL TEMA “SINDICATO ONLINE” ... 42
3.4CONFIGURACIÓN GENERAL ... 42
3.4.1BLOQUES ... 42
3.4.2MENÚS ... 42
3.4.3ROLES DE USUARIO. ... 42
Í Í Í n n n d d d i i i c c c e e e
3
CONCLUSIONES ... 43
CAPÍTULO # 4 PRUEBAS ... 44
INTRODUCCIÓN. ... 44
4.1PRUEBAS REALIZADAS ... 44
Sitio en Construcción ... 45
Validación de Formularios ... 46
4.2ARTEFACTOS GENERADOS. ... 47
CONCLUSIONES... 47
CAPITULO #5 ESTUDIO DE LA FACTIBILIDAD ... 48
INTRODUCCIÓN. ... 48
5.1ESTIMACIÓN POR PUNTOS DE CASOS DE USO. ... 48
5.1.2-CALCULANDO UUCW(FACTOR DE PESO DE LOS CASOS DE USO SIN AJUSTAR) ... 50
5.2.1-CALCULANDO TCF(FACTOR DE COMPLEJIDAD TÉCNICA) ... 52
5.2.2-CALCULANDO EF(FACTOR DE AMBIENTE) ... 53
5.3.1-CALCULANDO EL FACTOR DE CONVERSIÓN (CF) ... 55
5.5.2ESTIMACIÓN DEL TIEMPO DE DESARROLLO DEL PROYECTO Y COSTO ... 57
5.5.3BENEFICIOS TANGIBLES E INTANGIBLES ... 57
5.5.3.1TANGIBLES ... 57
5.5.3.2 Intangibles ... 58
CONCLUSIONES ... 58
CONCLUSIONES ... 59
RECOMENDACIONES ... 60
REFERENCIAS BIBLIOGRÁFICAS ... 61
BIBLIOGRAFÍA ... 62
GLOSARIO DE TÉRMINOS ... 63
ANEXOS ... 65
F F F u u u n n n d d d a a a m m m e e e n n n t t t a a a c c c i i i ó ó ó n n n T T T e e e ó ó ó r r r i i i c c c a a a
4
INTRODUCCIÓN
Con la Batalla de Ideas de la Revolución cubana se han creado a lo largo de los años diferentes programas con el objetivo de engrandecer nuestro pueblo, sus logros han quedado plasmados en la historia, ejemplo de ello son: los Joven Club de Informática y Electrónica, los politécnicos de informáticas, la distribución hacia todo el país de la fibra óptica, el uso de las Tecnologías de la Información y la Comunicación (TIC) en los centros educacionales de todo el país y la Universidad de las Ciencias Informática creada en el año 2002 en el mes de septiembre, el día 23.
Sobre la antigua base rusa radioescucha comenzó a nacer un sueño, el sueño de informatizar el país, el sueño que en nuestros días se hace realidad, con el esfuerzo de miles de estudiantes, profesores y trabajadores de todas las provincias cubanas que se unieron a este proyecto que hoy ya es todo un logro revolucionario. La Universidad de las Ciencias Informáticas es uno de los sueños de Fidel, en ella se están llevando a cabo innumerables tareas: la creación de software para la sociedad cubana y el mundo, la expansión de dicha universidad que actualmente está en construcción con el objetivo de mejorar las condiciones de vida de esta universidad de excelencia.
La UCI, cuenta con una matrícula de aproximadamente 10 000 estudiantes en la actualidad y un gran número de trabajadores y profesores, los cuales se encuentran organizados en las diferentes organizaciones de masa como: la FEU (Federación Estudiantil Universitaria), la UJC (Unión de Jóvenes Comunistas), el PCC (Partido Comunista de Cuba) y el Sindicato (CTC).
La Central de Trabajadores de Cuba (CTC) es el fruto de un largo y difícil proceso de lucha por la unidad del movimiento sindical cubano en el camino revolucionario transitado por nuestro pueblo para alcanzar sus objetivos de justicia social, libertad e independencia.
La CTC es la organización que representa a los trabajadores, jubilados y pensionados cubanos, sin distinción de sexo, raza ni convicción religiosa, organizados sindicalmente de forma voluntaria, para defender sus legítimos intereses, propiciar la unidad, su papel dirigente y movilizador, contribuir a su educación económica, política, ideológica y cultural, luchar por la elevación de la calidad de vida de sus miembros y
F F F u u u n n n d d d a a a m m m e e e n n n t t t a a a c c c i i i ó ó ó n n n T T T e e e ó ó ó r r r i i i c c c a a a
5
sus familiares, representar al movimiento sindical cubano en el plano internacional y afianzar la solidaridad, salvaguardando la independencia, la Revolución y el Socialismo.
Siendo esta una universidad de informática, se encuentra contradictorio que en la Facultad #8 el Sindicato no cuente con un sistema para el control y gestión de dicha organización, por ello las personas encargadas de este proceso presentan algunos problemas que son generados por el hecho de que este se realiza actualmente de forma manual, cómo son:
La eficiencia y calidad de los documentos no es la deseada.
Por la incomodidad que esto genera, la búsqueda de información y datos se hace muy engorrosa y en ocasiones no se encuentra lo buscado.
La entrega de determinado pedido al personal encargado tiende a demorarse, por ser un proceso lento.
Dado lo anterior se observa como problema a resolver la ausencia de un sistema automatizado para la gestión de los procesos de la Sección Sindical, provocando que el trabajo en este ámbito se haga lento, poco eficiente, con más posibilidades a cometer errores, menos organizado.
Por esto, los procesos de gestión de la información que se llevan a cabo en las Secciones Sindicales constituyen el objeto de estudio de este trabajo de diploma y los procesos de gestión de la información que se realizan en la Sección Sindical en la Facultad # 8 conforman el campo de acción.
Considerando lo anteriormente planteado el trabajo de diploma tiene como objetivo general: Desarrollar una aplicación encaminada a mejorar el control y gestión del Sindicato de Trabajadores de la Facultad # 8 y cómo objetivos específicos:
Elaborar el marco teórico conceptual del sitio Sección Sindical de la Facultad
#8.
Realizar un diagnóstico general del comportamiento del Sindicato de trabajadores de la Facultad #8.
F F F u u u n n n d d d a a a m m m e e e n n n t t t a a a c c c i i i ó ó ó n n n T T T e e e ó ó ó r r r i i i c c c a a a
6
Implementar una aplicación Web para la Sección Sindical de la Facultad #8.
Probar la aplicación Web Sección Sindical de la Facultad #8.
Para obtener nuevos conocimientos sobre el objeto que se estudia se plantean un conjunto de tareas de investigación. Estas son:
Análisis de toda documentación e información que se recolecte a través de encuestas, debates, entrevistas a expertos, test, relacionadas con todo el proceso de control y gestión para la sección sindical de la Facultad #8.
Investigación sobre aplicaciones Web, procesos de gestión y los sistemas de gestión.
Realización de un estudio de las tendencias y tecnologías actuales para llevar a cabo esta solución con eficiencia.
Desarrollar el modelado de la aplicación utilizando el CMS que se escoja en el estudio de los mismos.
Desarrollar la aplicación que implemente las principales funcionalidades del sistema.
Elaboración de un informe de tesis.
Las primeras ideas concebidas como posible resultado esperado son: Desarrollo de la solución informática usando las herramientas informáticas y notaciones estándares del proceso de desarrollo de la Ingeniería de Software que garanticen un mejor control y gestión para la sección sindical de la Facultad #8. Además de contar con un buscador que le permita a los usuarios privilegiados (los encargados de actualizar el sitio), hacer modificaciones en los resultados obtenidos por el personal y saber a todos los usuarios las categorías obtenidas (destacado, cumplidor y no cumplidor) a lo largo de su trayectoria en la facultad.
La Idea a defender es: Si se emplea un sistema automatizado para la gestión de los procesos de la Sección Sindical de la Facultad #8, entonces la búsqueda de información será rápida, eficiente, con menos posibilidades de cometer errores y mejor organizada. El desarrollo de este sistema automatizado es muy importante debido a
F F F u u u n n n d d d a a a m m m e e e n n n t t t a a a c c c i i i ó ó ó n n n T T T e e e ó ó ó r r r i i i c c c a a a
7
que solucionará las necesidades de los clientes y proporcionará una mejor efectividad en el manejo del flujo y procesamiento de datos. Al establecer este sistema se proporcionará a la facultad una información confiable, agilizando y facilitando el trabajo en el proceso sindical.
Para lograr el cumplimiento de los objetivos propuestos, el documento de tesis se estructura en 4 capítulos, describiéndose todo lo relacionado con el trabajo investigativo realizado, así como la solución al problema planteado.
Capítulo 1. Se abordan todos los elementos teóricos que sustentan el problema científico y los objetivos del trabajo. Se explica en detalles la situación problemática, se describen los procesos de negocio de la entidad que serán objeto de automatización, los documentos y términos específicos que se manejan en estos procesos. Se especifican las tendencias, tecnologías y software utilizados, analizando cada una de estas, así como el uso de un determinado software, se explica el por qué de su uso, se analiza detalladamente cada una estas definiciones que sirven de soporte a la creación del sistema.
Capítulo 2. En este capítulo se realiza todo el modelamiento de la información, que no es más que la definición de los objetivos y audiencia del sitio Web, la determinación de los contenidos y servicios que brinda, definiéndose los requisitos funcionales y no funcionales que debe cumplir, así como la estructuración y diseño de sus páginas.
Capítulo 3. Se explica qué es un tema en Drupal, cuáles son los principales componentes de este y cómo se implementó el sitio para la sección sindical. Se aborda el concepto de módulo en Drupal, se explican cuáles fueron implementados para brindar las funcionalidades definidas en el capítulo 2. También se explica cómo se realizó la configuración del sitio una vez implementados todos los módulos.
Capítulo 4. En este capítulo se detallan cuáles fueron las pruebas que se le realizaron al portal ya terminado para comprobar que brinde las funcionalidades determinadas por el cliente y que responda a las pautas de diseño definidas. Se explican también los principales artefactos generados por estas.
F F F u u u n n n d d d a a a m m m e e e n n n t t t a a a c c c i i i ó ó ó n n n T T T e e e ó ó ó r r r i i i c c c a a a
8
CAPITULO # 1 FUNDAMENTACIÓN TEÓRICA
INTRODUCCIÓN
En el presente capítulo se realiza un estudio del Estado del Arte entorno al objeto de estudio y campo de acción. Se hace referencia a las tendencias, técnicas, tecnologías, y software que se utilizan en la actualidad y pudieran formar parte de la propuesta de solución del problema a resolver, del mismo modo los servidores Web, lenguajes de programación Web y los gestores de base de datos; de ellos se analizan sus características, funciones y ventajas. Todo esto permitirá analizar el flujo de trabajo y desarrollar un software como producto final. Además se realiza el análisis de las herramientas auxiliares que posibiliten completar el desarrollo del producto requerido.
Finalmente se hace una selección de las herramientas, técnicas y Content Management System o en español Sistema de Gestión de Contenido (CMS), que permiten solucionar el problema y cumplir los objetivos propuestos en el trabajo.
1.2 Ejemplos de Sistemas de Gestión de la Información existentes a nivel nacional:
1.2.1 El sitio web Trabajadores
Es el periódico online de todos los trabajadores de la isla de Cuba presente en la red de redes, desde el 28 de abril de 1997. Fue el primer medio de prensa cubano en circulación nacional en soporte de papel que llevó al mundo el acontecer a través de internet. Se encarga de difundir la labor del movimiento sindical cubano, temas de importancia en el acontecer nacional e internacional, y otros como cultura y deporte.
Posee una interfaz visual agradable, por lo que se puede usar de ejemplo para la realización del sitio Web para el Sindicato de la Facultad #8. Se puede acceder al mismo a través de la siguiente dirección:
http://www.trabajadores.cu
1.2.2 El sitio Web para sindicatos del sector público:
El sitio Web para sindicatos del sector público tiene como propósito general, establecer un portal Web parar el uso de los afiliados. El portal ofrece una gama de informaciones y noticias con particular referencia a los derechos humanos y sindicales en el sector público, y actúa como vehículo para el intercambio y coordinación a nivel nacional e internacional. También exhortan a los comités de mujeres a participar activamente en este medio.
F F F u u u n n n d d d a a a m m m e e e n n n t t t a a a c c c i i i ó ó ó n n n T T T e e e ó ó ó r r r i i i c c c a a a
9
Es un sitio Web elaborado con una interfaz gráfica bastante adecuada, está disponible en varios idiomas, su sencillez y robustez hacen un modelo a seguir para el diseño de la página para el Sindicato de trabajadores de la Facultad #8.
El sitio está disponible en la siguiente dirección:
http://www.world-psi.org/
1.3 Tendencias y Tecnologías actuales
Existe la tendencia al desarrollo de soluciones informáticas a través de aplicaciones Web por sus ventajas. Con sólo un cliente Web cualquier usuario podría ver la aplicación. Siendo la ventaja más significativa, que las aplicaciones son escritas una vez y se muestran en casi todos los clientes a través del acceso al servidor, sin importar que el sistema operativo que se esté utilizando sea: Windows, Mac OS X, GNU/Linux, u otros sistemas operativos (1). Debido a esto, las actualizaciones del sistema sólo se realizarían en el servidor, lo cual sería transparente a los clientes, evadiendo posibles errores causados por los usuarios que no tienen experiencia.
A continuación se describen los principales conceptos, tecnologías y herramientas propuestas para el desarrollo del módulo tratado en el trabajo.
1.3 .1 Los Sistemas de Gestión de Contenidos
Un Sistema de Gestión de Contenido debe ofrecer como mínimo, una aplicación que soporte los procesos de publicación, flujo de trabajo y repositorios de información. Un CMS se compone de varios subsistemas que interaccionan entre ellos:
Colección: subsistema encargado de la creación y/o adquisición de información. Debe dar soporte a los procesos de creación de contenidos, soporte a flujos de trabajo, sindicación e integración de fuentes externas. Además, debe ofrecer soporte a procesos de conversión entre formatos diversos, y a la agregación de contenidos de fuentes diversas en estructuras específicas.
Gestión: subsistema encargado de la gestión y control de los repositorios de información, de los grupos de usuarios, y de los procesos de soporte para los otros subsistemas. Se encarga de definir y controlar los flujos de trabajo que son utilizados por los otros subsistemas, y de la definición de parámetros para el funcionamiento del sistema.
Publicación: subsistema encargado de la producción final de publicaciones o productos de información digital, de manera automática o casi automática. Utiliza un modelo basado en plantillas (templates) y deberá ofrecer posibilidades de
F F F u u u n n n d d d a a a m m m e e e n n n t t t a a a c c c i i i ó ó ó n n n T T T e e e ó ó ó r r r i i i c c c a a a
10
personalización para usuarios y la posibilidad de producir para diferentes tipos de plataformas y/o clientes.
Funcionalidades que brindan los CMS
Los Sistemas de Gestión de Contenido brindan distintas funcionalidades atendiendo a su propósito de creación y su tipo. Pero las comunes o las que sustentan su concepto, se muestran a continuación:
Inclusión de nuevas funcionalidades en la Web. Esta operación puede implicar la revisión de multitud de páginas y la generación del código que aporta las funcionalidades. Con un CMS eso puede ser tan simple como incluir un módulo realizado por terceros, sin que eso suponga muchos cambios en la Web. El sistema puede crecer y adaptarse a las necesidades futuras.
Mantenimiento de gran cantidad de páginas. En una Web con muchas páginas hace falta un sistema para distribuir los trabajos de creación, edición y mantenimiento con permisos de acceso a las diferentes áreas. También se tienen que gestionar los metadatos de cada documento, las versiones, la publicación y caducidad de páginas y los enlaces rotos, entre otros aspectos.
Reutilización de objetos o componentes. Un CMS permite la recuperación y reutilización de páginas, documentos, y en general de cualquier objeto publicado o almacenado.
Páginas interactivas. Las páginas estáticas llegan al usuario exactamente como están almacenadas en el servidor Web. En cambio, las páginas dinámicas no existen en el servidor tal como se reciben en los navegadores, sino que se generan según las peticiones de los usuarios. De esta manera cuando por ejemplo se utiliza un buscador, el sistema genera una página con los resultados que no existían antes de la petición.
Para conseguir esta interacción, los CMS se conectan con una base de datos que hace de repositorio central de todos los datos de la Web.
Cambios del aspecto de la Web. Si no hay una buena separación entre contenido y presentación, un cambio de diseño puede implicar la revisión de muchas páginas para su adaptación. Los CMS facilitan los cambios con la utilización, por ejemplo, del estándar Cascading Style Sheets u hojas de estilo en cascada (CSS) con lo que se consigue la independencia de presentación y contenido.
Consistencia de la Web. La consistencia en un Web no quiere decir que todas las páginas sean iguales, sino que hay un orden (visual) en vez de caos. Un usuario nota enseguida cuándo una página no es igual que el resto de las otras de la misma Web
F F F u u u n n n d d d a a a m m m e e e n n n t t t a a a c c c i i i ó ó ó n n n T T T e e e ó ó ó r r r i i i c c c a a a
11
por su aspecto, la disposición de los objetos o por los cambios en la forma de navegar.
Estas diferencias provocan sensación de desorden y dan a entender que el Web no lo han diseñado profesionales. Los CMS pueden aplicar un mismo estilo en todas las páginas con el mencionado CSS, y aplicar una misma estructura mediante patrones de páginas.
Control de acceso. Controlar el acceso a un sitio Web no consiste simplemente al permitir la entrada al sitio, sino que permite gestionar los diferentes permisos a cada área del Web, aplicados a grupos o individuos. (3)
Tipos de CMS
Existen diferentes CMS, todos creados con propósitos específicos. A continuación se muestran algunos de los tipos que existen.
Genéricos: Ofrecen la plataforma necesaria para desarrollar e implementar aplicaciones que den solución a necesidades específicas. Pueden servir para construir soluciones de gestión de contenidos, para soluciones de comercio electrónico, Blogs, Portales. Ejemplos: Zope, MODx, OpenCMS, TYPO3, Apache lenya, Joomla, Drupal.
Foros: Sitio que permite la discusión en línea donde los usuarios pueden reunirse y discutir temas en los que están interesados. Ejemplos: PhpBB, SMF, MyBB.
Blogs: Publicación de noticias o artículos en orden cronológico con espacio para comentarios y discusión. Ejemplos: WordPress, Movable, Type, Custom CMS, Blogsmith/Weblogs, Gawker CMS, Type Pad, Blogger/Blogspot, Plone, Scoop, DotNetNuke, SharePoint.
Wikis: Sitio Web donde todos los usuarios pueden colaborar en los artículos, aportando información o reescribiéndola. También permite espacio para discusiones.
Indicado para material que irá evolucionando con el tiempo. Ejemplos: MediaWiki, TikiWiki.
eCommerce: Sitios Web para comercio electrónico. Ejemplo: osCommerce (licencia GPL), DynamicWeb eCommerce (comercial).
Portal: Sitio Web con contenido y funcionalidad diversa que sirve como fuente de información o como soporte a una comunidad. Ejemplos: PHP-Nuke, Postnuke, Joomla, Drupal, e-107, Plone, DotNetNuke, MS SharePoint.
Galería: Permite administrar y generar automáticamente un Portal o sitio Web que muestra contenido audiovisual, normalmente imágenes. Ejemplo: Gallery.
e-Learning: Sirve para la enseñanza de conocimientos. Los usuarios son los profesores y estudiantes. Ejemplo: Moodle.
F F F u u u n n n d d d a a a m m m e e e n n n t t t a a a c c c i i i ó ó ó n n n T T T e e e ó ó ó r r r i i i c c c a a a
12
CMS utilizados en el desarrollo de Portales Web
Actualmente existen diferentes CMS, cada uno con determinadas características que responden a necesidades especificas. En este caso como lo que se va a desarrollar es un Sitio Web se propusieron los CMS Joomla, Apache lenya y Drupal ya que son estos los más usados hoy en día en este tipo de aplicaciones.
CMS Joomla
Joomla es un sistema de administración de contenidos de código abierto construido con PHP bajo una licencia GPL, que permite crear sitios Web de alta interactividad, profesionalidad y eficiencia.
Características Generales
Organización del sitio Web: Joomla está preparado para organizar eficientemente los contenidos de su sitio en secciones y categorías, lo que facilita la navegabilidad para los usuarios y permite crear una estructura sólida, ordenada y sencilla para los administradores. Desde el panel administrador de Joomla se pueden crear, editar y borrar las secciones y categorías de un sitio de la manera en que desee el usuario.
Publicación de Contenidos: Con Joomla se pueden crear páginas ilimitadas y editarlas desde un sencillo editor que permite formatear los textos con los estilos e imágenes deseados. Los contenidos son totalmente editables y modificables.
Escalabilidad e implementación de nuevas funcionalidades: Joomla ofrece la posibilidad de instalar, desinstalar y administrar componentes y módulos, que agregarán servicios de valor a los visitantes del sitio Web, por ejemplo: galerías de imágenes, foros, newsletters, clasificados, etc.
Administración de usuarios: Joomla permite almacenar datos de usuarios registrados y la posibilidad de enviar E-mails masivos a todos los usuarios. La administración de usuarios es jerárquica, y los distintos grupos de usuarios poseen diferentes niveles de facultades/permisos dentro de la gestión y administración del sitio.
Diseño y aspecto estético del sitio: Con Joomla es posible cambiar todo el aspecto del sitio Web tan solo con un par de Click, gracias al sistema de plantillas que este utiliza.
Navegación y menú: Totalmente editables desde el panel administrador de Joomla.
Administrador de Imágenes: Joomla posee una utilidad para subir imágenes al servidor y usarlas en todo el sitio.
F F F u u u n n n d d d a a a m m m e e e n n n t t t a a a c c c i i i ó ó ó n n n T T T e e e ó ó ó r r r i i i c c c a a a
13
Disposición de módulos modificable: En un sitio creado con Joomla, la posición de módulos puede acomodarse como se prefiera.
Encuestas: Joomla posee un sistema de votaciones y encuestas dinámicas con resultados en barras porcentuales.
Feed de Noticias: Joomla trae incorporado un sistema de sindicación de noticias por RSS/XMS de generación automática.
Publicidad: Es posible hacer publicidad en el sitio usando el Administrador de Banners.
Estadísticas de visitas: Con información de navegador, OS, y detalles de los documentos (páginas) más vistos.
CMS Drupal.
Drupal es un sistema de gestión de contenido, modular, de código abierto, con licencia GNU/GPL, escrito en PHP, desarrollado y mantenido por una activa comunidad de usuarios. Reconocido por la calidad de su código y de las páginas generadas, el respeto de los estándares de la Web, y un énfasis especial en la usabilidad y consistencia de todo el sistema.
Características generales
Ayuda on-line. Un robusto sistema de ayuda online y páginas de ayuda para los módulos del “núcleo”, tanto para usuarios como para administradores.
Búsqueda. Todo el contenido en Drupal es totalmente indexado en tiempo real y se puede consultar en cualquier momento.
Código abierto. El código fuente de Drupal está libremente disponible bajo los términos de la licencia GNU/GPL. Al contrario que otros sistemas de “blogs” o de gestión de contenido propietarios, es posible extender o adaptar Drupal según las necesidades.
Módulos. Las funcionalidades que brinda el CMS se pueden ampliar instalándoles nuevos módulos que implementen dichas funcionalidades. La comunidad de Drupal ha contribuido con muchos módulos que proporcionan disímiles funcionalidades.
URLs amigables. Drupal usa el mod_rewrite de Apache para crear URLs que son manejables por los usuarios y los motores de búsqueda.
Gestión de usuarios
Autenticación de usuarios. Los usuarios se pueden registrar e iniciar sesión de forma local o utilizando un sistema de autenticación externo como Jabber, Blogger,
F F F u u u n n n d d d a a a m m m e e e n n n t t t a a a c c c i i i ó ó ó n n n T T T e e e ó ó ó r r r i i i c c c a a a
14
LiveJournal u otro sitio Drupal. Para su uso en una intranet, Drupal se puede integrar con un servidor LDAP.
Permisos basados en roles. Los administradores de Drupal no tienen que establecer permisos para cada usuario. En lugar de eso, pueden asignar permisos a un “rol” y agrupar los usuarios por roles.
Gestión de contenido
Control de versiones. El sistema de control de versiones de Drupal permite seguir y auditar totalmente las sucesivas actualizaciones del contenido: qué se ha cambiado, la hora y la fecha, quién lo ha cambiado, y más. También permite mantener comentarios sobre los sucesivos cambios o deshacer los cambios recuperando una versión anterior.
Enlaces permanentes. Todo el contenido creado en Drupal tiene un enlace permanente asociado a él para que pueda ser enlazado externamente sin temor de que el enlace falle en el futuro.
Objetos de Contenido (Nodos). El contenido creado en Drupal es, funcionalmente, un objeto (Nodo). Esto permite un tratamiento uniforme de la información, como una misma cola de moderación para envíos de diferentes tipos, promocionar cualquiera de estos objetos a la página principal o permitir comentarios, o no, sobre cada objeto.
Plantillas (Templates). El sistema de temas de Drupal separa el contenido de la presentación permitiendo controlar o cambiar fácilmente el aspecto del sitio Web. Se pueden crear plantillas con HTML y/o con PHP.
Sindicación del contenido. Drupal exporta el contenido en formato RDF/RSS para ser utilizado por otros sitios Web. Esto permite que cualquiera con un “Agregador de Noticias” visualice el contenido publicado en la Web desde el escritorio.
Plataforma
Independencia de la base de datos. Aunque la mayor parte de las instalaciones de Drupal utilizan MySQL, existen otras opciones. Drupal incorpora una “capa de abstracción de base de datos” que actualmente está implementada y mantenida para MySQL y PostgresSQL, aunque permite incorporar fácilmente soporte para otras bases de datos.
Multiplataforma. Drupal ha sido diseñado desde el principio para ser multi-plataforma.
Puede funcionar con Apache o Microsoft IIS como servidor Web y en sistemas como Linux, BSD, Solaris, Windows y Mac OS X. Por otro lado, al estar implementado en PHP, es totalmente portable.
F F F u u u n n n d d d a a a m m m e e e n n n t t t a a a c c c i i i ó ó ó n n n T T T e e e ó ó ó r r r i i i c c c a a a
15
Múltiples idiomas y Localización. Drupal está pensado para una audiencia internacional y proporciona opciones para crear un portal multilingüe. Todo el texto puede ser fácilmente traducido utilizando una interfaz Web, importando traducciones existentes o integrando otras herramientas de traducción como GNU gettext.
Selección del CMS a utilizar.
La herramienta seleccionada para desarrollar el sitio Web fue el CMS Drupal, basando esta selección en las ventajas que este presenta con respecto a Joomla, y otros CMS, entre las que se encuentran: diseño modular que permite extender sus funcionalidades, soporte de varias bases de datos, MySQL y PostgresSQL. Otra característica importante es que Drupal distingue los contenidos en distintas categorías: páginas, entradas de Blog, noticias, historia/ artículos, encuestas, foros;
teniendo cada uno de estos sus propias características, lo que le aporta una estructura potente y más organizada y se ajusta a los requisitos funcionales que posee el sitio Sección Sindical de la Facultad #8 brindando las funcionalidades que exigen los clientes.
1.3.2.1 Lenguaje de Programación y Tecnologías del lado del Cliente.
Un lenguaje de programación es un medio que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente.
Los lenguajes de programación para el desarrollo de aplicaciones Web se agrupan en dos grupos: lenguajes del lado del cliente y del lado del servidor.
JavaScript
Es un lenguaje interpretado lo que significa que no necesita ser compilado para obtener resultados. Es basado en prototipo, donde las nuevas clases se generan clonando la clase base y extendiendo su funcionalidad (4). Presenta como ventaja que el código es ejecutado en el cliente, sin tener necesidad de ir al servidor, ganando en que el tiempo de respuesta es sumamente rápido. Uno de los principales problemas es que el código es visible y puede ser leído por cualquiera, incluso si está protegido con las leyes del derecho de autor. El código script tiene capacidades limitadas por razones de seguridad, por lo cual no es posible hacer todo con JavaScript, sino que es necesario usarlo conjuntamente con HTML.
HTML
F F F u u u n n n d d d a a a m m m e e e n n n t t t a a a c c c i i i ó ó ó n n n T T T e e e ó ó ó r r r i i i c c c a a a
16
HTML es el acrónimo de Hypertext Markup Language (lenguaje de marcas hipertextuales) que fue creado en el año 1990 por Tim Berners-Lee y diseñado principalmente para mostrar información, animaciones en forma de hipertexto. Algunas ventajas que presenta, son la facilidad con que se pueden actualizar los contenidos y que permite utilizar estilos en formato CCS en las páginas para una mayor facilidad en su modificación. En la actualidad, es el lenguaje que utilizan todos los navegadores para mostrar la información final.
1.3.2.2 Lenguajes de Programación y Tecnologías del lado del Servidor.
PHP:(Personal Home Page) Es un lenguaje de programación usado generalmente para la creación de contenido para sitios Web. Es un acrónimo recurrente que significa
"PHP Hypertext Pre-processor" (inicialmente PHP Tools, o, Personal Home Page Tools), y se trata de un lenguaje interpretado usado para la creación de aplicaciones para servidores, o creación de contenido dinámico para sitios Web. (2)
El fácil uso y la similitud con los lenguajes más comunes de programación estructurada, como C y Perl, permiten a la mayoría de los programadores experimentados crear aplicaciones complejas con una curva de aprendizaje muy suave. También les permite involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un nuevo grupo de funciones y prácticas. (2)
Su interpretación y ejecución se da en el servidor Web, en el cual se encuentra almacenado el script, y el cliente sólo recibe el resultado de la ejecución. Cuando el cliente hace una petición al servidor para que le envíe una página Web, generada por un script PHP, el servidor ejecuta el intérprete de PHP, el cual procesa el script solicitado que generará el contenido de manera dinámica, pudiendo modificar el contenido a enviar, y regresa el resultado al servidor, el cual se encarga de regresárselo al cliente. Además es posible utilizar PHP para generar archivos PDF, Flash, así como imágenes en diferentes formatos, entre otras cosas. (2)
Permite la conexión a diferentes tipos de servidores de base de datos tales como:
MySQL, Postgre, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird, SQLite; lo cual facilita la creación de aplicaciones Web muy robustas. (2)
PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos tales como UNIX (y de ese tipo, como Linux), Windows y Mac, y puede interactuar con los servidores de Web más populares ya que existe en versión CGI, módulo para Apache, e ISAPI. (2)
Ventajas de PHP
F F F u u u n n n d d d a a a m m m e e e n n n t t t a a a c c c i i i ó ó ó n n n T T T e e e ó ó ó r r r i i i c c c a a a
17
Es un lenguaje multiplataforma.
Capacidad de conexión con la mayoría de los manejadores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL.
Leer y manipular datos desde diversas fuentes, incluyendo datos que pueden ingresar los usuarios desde formularios HTML.
Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados ext's o extensiones).
Posee una amplia documentación en su página oficial, entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda.
Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
Permite las técnicas de Programación Orientada a Objetos.
Permite crear los formularios para la Web.
Biblioteca nativa de funciones sumamente amplia e incluida.
No requiere definición de tipos de variables ni manejo detallado del bajo nivel.
(4)
Algunas características de PHP:
Multiplataforma: Menos el ASP, que es solamente soportado por la plataforma Windows, los demás lenguajes están soportados en múltiples plataformas.
Velocidad de ejecución: La velocidad es mayor en PHP, seguidos por PERL y JSP.
Disponibilidad de recursos: actualmente los más utilizados en la Internet son el PHP y el JSP, siendo más utilizado en la publicación de artículos y códigos de ejemplos. PHP tiene una de las comunidades más grandes en Internet, al igual que la de Java.
Familiaridad con el lenguaje: En las universidades los lenguajes más utilizados por los programadores es el ASP y el PHP. (4)
Java:
Supone un significativo avance en el mundo de los entornos software, y esto viene avalado por tres elementos claves que diferencian a este lenguaje desde un punto de vista tecnológico:
Es un lenguaje de programación que ofrece la potencia del diseño orientado a objetos con una sintaxis fácilmente accesible y un entorno robusto y agradable.
F F F u u u n n n d d d a a a m m m e e e n n n t t t a a a c c c i i i ó ó ó n n n T T T e e e ó ó ó r r r i i i c c c a a a
18
Proporciona un conjunto de clases potentes y flexibles.
Pone al alcance de cualquiera la utilización de aplicaciones que se pueden incluir directamente en páginas Web (aplicaciones denominadas applets).
Java aporta a la Web una interactividad que se había buscado durante mucho tiempo entre usuario y aplicación. (4)
Perl (Practical Extraction and Report Language).
Perl es fácil de utilizar, y soporta diferentes paradigmas como programación estructurada y programación orientada a objetos. Una de las ventajas que presenta es que es un lenguaje extensible, ya que permite hacer llamadas a múltiples programas desarrollados en otros lenguajes de programación. En sus inicios solamente corría en la plataforma Unix, pero en la actualidad es un lenguaje multiplataforma, que puede correr en diferentes sistemas operativos, libres o propietarios.
¿Por qué utilizar PHP?
Perl es un lenguaje de programación Web libre que brinda un sin número de características interesantes, sin embargo, consume muchos recursos de la máquina y se torna lento en aplicaciones de bajo nivel. Java es un potente lenguaje de programación utilizado principalmente en proyectos complejos, debido a que el proyecto que se quiere desarrollar es de mediana complejidad y podemos resolver todos sus requerimientos con PHP sin tener que usar Java no usamos este lenguaje.
PHP pertenece al grupo de programas de código abierto y libre, es un lenguaje gratuito, multiplataforma y debido a sus características hace posible que el cliente interactúe con una página rápida, eficiente y segura, capaz de mostrar y procesar información. Unido a lo anterior, se puede mencionar que es muy sencillo y legible, cuenta con una amplia librería de funciones que permiten hacer cualquier tipo de operación, como trabajo con archivos y carpetas, procesamiento de formularios, paginación de resultados y muchas otras opciones, lo cual concede la posibilidad de realizar un producto de acuerdo a las necesidades del usuario. Una de las razones más importantes por la que se escogió PHP como lenguaje de programación es que se seleccionó Drupal como el CMS para usar y el lenguaje PHP y Drupal hacen la combinación perfecta, además de tener conexión con los principales gestores de bases de datos existentes como MySQL y Postgres y se tiene conocimiento sobre el mismo .
1.3 Sistema Gestor de Base de Datos.
F F F u u u n n n d d d a a a m m m e e e n n n t t t a a a c c c i i i ó ó ó n n n T T T e e e ó ó ó r r r i i i c c c a a a
19
Los Sistemas Gestores de Base de Datos (SGBD) son software muy específicos, que son los encargados de servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Estos sistemas están compuestos por un lenguaje de definición de datos, un leguaje de manipulación de datos y un lenguaje de consultas.
Los sistemas gestores de base de datos tienen como finalidad, manejar de una forma clara, sencilla y ordenada un grupo de datos que consecutivamente se convertirán en información, para una buena manipulación de datos. Entre los sistemas gestores de
base de datos más conocidos por los desarrolladores de sistemas se encuentran el PostgreSQL, MySQL, Microsoft SQL Server, Oracle, entre otros.
Todos estos sistemas deben cumplir con una variedad de objetivos tales como:
Abstracción de Información Independencia
Redundancia mínima.
Consistencia Seguridad Integridad
Respaldo y recuperación Control de concurrencia Tiempo de respuesta
PostgreSQL como Sistema Gestor de Base de Datos.
PostGres: Es un sistema de gestión de bases de datos objeto-relacional (ORDBMS) basado en el proyecto POSTGRES. Es un sistema objeto-relacional, ya que incluye características de la orientación a objetos, como puede ser la herencia, tipos de datos, funciones, restricciones, disparadores, reglas e integridad transaccional. A pesar de esto, PostGreSQL no es un sistema de gestión de bases de datos puramente orientado a objetos. Es una derivación libre (OpenSource), y utiliza el lenguaje SQL92/SQL99.
Características de PostgreSQL
Implementación del estándar SQL92/SQL99.
Soporta distintos tipos de datos, además del soporte para los tipos base, también soporta datos de tipo fecha, monetarios, elementos gráficos, datos sobre redes (MAC, IP...), cadenas de bits, etc. También permite la creación de tipos propios.
Incorpora una estructura de datos array.
F F F u u u n n n d d d a a a m m m e e e n n n t t t a a a c c c i i i ó ó ó n n n T T T e e e ó ó ó r r r i i i c c c a a a
20
Incorpora funciones de diversa índole: manejo de fechas, geométricas, orientadas a operaciones con redes, etc.
Permite la declaración de funciones propias, así como la definición de disparadores.
Soporta el uso de índices, reglas y vistas.
Incluye herencia entre tablas (aunque no entre objetos, ya que no existen), por lo que a este gestor de bases de datos se le incluye entre los gestores objeto- relacionales.
Permite la gestión de diferentes usuarios, como también los permisos asignados a cada uno de ellos.
Ventajas de PostgreSQL
Con PostgreSQL nadie puede demandarlo por violar acuerdos de Instalación Ilimitada licencia, puesto que no hay costo asociado a la licencia del software.
Soporte. Además de nuestras ofertas de soporte, tenemos una importante
comunidad de profesionales y entusiastas de PostgreSQL de los que su compañía puede obtener beneficios y contribuir.
Ahorros considerables en costos de operación.
PostgreSQL ha sido diseñado y creado para tener un mantenimiento y ajuste mucho menor que otros productos, conservando todas las características, estabilidad y rendimiento.
Estabilidad y Confiabilidad Legendarias
Es extremadamente común que compañías reporten que PostgreSQL nunca ha presentado caídas en varios años de operación de alta actividad, ni una sola vez.
Extensible
El código fuente está disponible para todos sin costo. Si su equipo necesita extender o personalizar PostgreSQL de alguna manera, pueden hacerlo con un mínimo esfuerzo, sin costos adicionales.
Esto es complementado por la comunidad de profesionales y entusiastas de PostgreSQL alrededor del mundo que también extienden PostgreSQL todos los días.
Multiplataforma
PostgreSQL está disponible en casi cualquier Unix (34 plataformas en la última versión estable), y ahora en versión nativa para Windows.