1. “Año de la Diversificación Productiva y el Fortalecimiento de la
Educación”
CARRERA:
Computación e Informática
MÓDULO PROFESIONAL:
Desarrollo de Software y Gestión de Base de Datos
UNIDAD DIDÁCTICA:
Taller de Programación Distribuida
SEMESTRE:
IV
DOCENTE:
Ing. Carlos Rios Campos
ALUMNOS:
Antón Paico Mary Carmen
Manayay Chávez, Rommel Joan
Piscoya Olazabal, Gaby Geraldine
Roque Sandoval Mariana
2. SERVIDORES DE ALTO DESEMPEÑO
Las soluciones de computación de alto rendimiento de IBM Power™ Systems lideran la
lista Top 10 de supercomputadoras no solo en rendimiento sino también en la eficiencia
de energía. Cuando se configuran dentro de los clústeres ampliamente escalables de
AIX® y Linux®, las soluciones Power Systems ofrecen alta performance para cargas de
trabajo exigentes como la química computacional, modelación de reservorios de petróleo,
pronósticos climáticos, modelación climática y analytics.
IBM BLUE GENE (US)
IBM Blue Gene/Q ofrece rendimiento de alto nivel dentro de un entorno de
programación estándar y brinda eficiencia en el consumo de energía,
enfriamiento y ocupación de espacio. Ampliamente reconocido como el
sistema más rápido para computación intensiva y “big data”, Blue Gene
permite a las empresas y a la ciencia abordar una amplia gama de
problemas complejos, como ayudar a trazar el mapa del genoma humano,
investigar terapias médicas, pilotear aviones, detectar tumores, predecir
tendencias climáticas y resguardar arsenales nucleares. Hoy, con
BlueGene/Q Express, una configuración de medio bastidor, esta tecnología
líder está disponible para un conjunto más amplio de usuarios que
necesitan una gestión de big data que los mantenga delante de la
competencia.
IBM SYSTEMS, SOFTWARE PARA COMPUTACIÓN DE ALTO RENDIMIENTO
GENERALPARALLELFILE SYSTEM (GPFS)
GPFS™ es una infraestructura de gestión de archivos en clúster de alto rendimiento para
AIX, Linux, Windows® y clústeres combinados que proporciona un alto rendimiento,
escalabilidad y disponibilidad para sus datos de archivo.
EXTREME CLOUD ADMINISTRATONTOOLKIT (XCAT)(US)
Una herramienta de suministro y gestión de informática distribuida escalable y de código
abierto que presenta una interfaz unificada para el control del hardware, el descubrimiento
y el despliegue del sistema operativo.
3. GESTIÓNDE SISTEMAS DE CLÚSTER(CSM)(US)
Diseñado para minimizar el costo y la complejidad de administrar Sistemas de clúster de
IBM basados en IBM System x e IBM Power Systems permitiendo amplia gestión y
supervisión de todo el entorno desde un único punto de control.
TIVOLI®WORKLOAD SCHEDULERLOADLEVELER®(US)
Usado para planificar la carga de trabajo dinámica, Tivoli® Workload Scheduler
LoadLeveler® es un recurso de gestión de trabajo en toda la red en un entorno distribuido,
diseñado para programar dinámicamente el trabajo para maximizar el uso de los recursos
y minimizar el tiempo de finalización del trabajo.
ENGINEERING AND SCIENTIFIC SUBROUTINE LIBRARY(ESSL)YPARALLELESSL(US)
Colecciones de modernas subrutinas matemáticas específicamente diseñadas para
mejorar el rendimiento de aplicaciones seriales, SMP y SPMD en los servidores basados
en procesador de IBM POWER™.
PARALLELENVIRONMENT (PE)(US)
Un amplio entorno de desarrollo y ejecución para aplicaciones paralelas (aplicaciones de
movimiento de mensajes, memoria distribuida, que se ejecutan en varios nodos).
POWERHASYSTEMMIRRORFORAIX
PowerHA SystemMirror Standard Edition y Enterprise Edition fueron diseñados para
brindar alta disponibilidad y recuperación de desastres para aplicaciones y datos críticos.
RPC (LLAMADAS DE PROCEDIMIENTO REMOTO)
En la actualidad son bastante comunes y utilizados por lo regular de manera diaria, pero
son pocos conocen lo que son, las llamadas de procedimiento remoto o bien, PRC
(Remote Procedure Call) por sus siglas en inglés.
4. Una llamada de procedimiento remoto (RPC) consiste en un protocolo que permite a un
software o programa ejecutar código en otra máquina remota sin preocuparse por la
comunicación, por lo regular es bastante utilizado en el paradigma cliente y servidor.
Existen varios tipos de RPC pero estos son los más comunes:
ONC RPC de Sun
DCE/RPC de OSF
Modelo de Objetos de Componentes Distribuidos de Microsoft DCOM
Éste último es el más utilizado debido a que, como ya hemos comentado en bastantes
ocasiones, es el sistema operativo más utilizado y por tanto, los servicios (la mayoría) que
ofrece su empresa creadora también lo son.
OBJETIVOS DE RPC
• Proporcionar un middelware que simplifique el desarrollo
de aplicaciones distribuidas
• Evitar que programador tenga que interactuar
directamente con el interfaz de Sockets
• Abstraer (ocultar) los detalles relativos a la red
• El Servidor ofrece procedimientos que el cliente llama
como si fueran procedimientos locales
EDI
Intercambio electrónico de datos de computadora a computadora entre Socios
Comerciales (cadenas), con la finalidad de ahorrar tiempo al eliminar los tradicionales
métodos de preparación y envío de documentos a través de mensajería. A la vez, tiene la
ventaja de ser un método más seguro y confiable para el manejo de información. Entre las
transacciones disponibles actualmente se encuentran entre otras:
REPORTE DE VENTASE INVENTARIOS
ORDENES DE COMPRA CATALOGODE PRECIOSDE
VENTA
AVISOANTICIPADODEEMBARQUE (ASN)
5. Es un Conjunto coherente de datos, estructurados conforme a normas de mensajes
acordadas, para la transmisión por medios electrónicos, preparados en un formato capaz
de ser leído por el ordenador y de ser procesado automáticamente y sin ambigüedad. Es
aquella parte de un sistema de información capaz de cooperar con otros sistemas de
información mediante el intercambio de mensajes EDI.
¿QUÉ FUNCIONALIDAD OFRECE EL EDI?
A través del EDI, las partes involucradas cooperan sobre la base de un entendimiento
claro y predefinido acerca de un negocio común, que se lleva a cabo mediante la
transmisión de datos electrónicos estructurados. El EDI establece cómo se estructuran,
los datos de los documentos electrónicos y define el significado comercial de cada
elemento de datos. Para transmitir la información necesita un servicio de transporte
adicional (por ejemplo, un sistema de tratamiento de mensajes o de transferencia de
ficheros). El EDI respeta la autonomía de las partes involucradas, no impone restricción
alguna en el procesamiento interno de la información intercambiada o en los mecanismos
de transmisión.
SERVICIOS EDI
Este servicio, a diferencia del correo electrónico, relaciona aplicaciones informáticas que
residen en las computadoras de las distintas empresas. Por lo tanto, el intercambio de
información se realiza entre aplicaciones informáticas y no entre personas.
PRINCIPALES BENEFICIOS
Agilización de procesos comerciales
Importante disminución de errores en los documentos
Disminución de stocks, debido a la facilidad de aplicación de técnicas "Just-
inTime"
Ahorro de costos de administración
Mejora de la competitividad de la empresa que lo adopta
6. CORBA
Common Object Request Broker Architecture (CORBA) es un estándar definido por Object
Management Group (OMG) que permite que diversos componentes de software escritos
en múltiples lenguajes de programación y que corren en diferentes computadoras, puedan
trabajar juntos; es decir, facilita el desarrollo de aplicaciones distribuidas en entornos
heterogéneos.
HISTORIA
Su primera versión se lanzó en 1991.
En 1995 aparece CORBA 2, con nuevas normas que permiten: que puedan
cooperar implementaciones de diferentes fabricantes, que pueda ser
implementado sobre cualquier nivel de transporte y que pueda funcionar en
Internet sobre TCP/IP, creando un protocolo: IIOP (Internet IOP).
CORBA 3 se muestra en 2002, como intento de plantar cara a Microsoft y su
modelo de programación de objetos distribuidos DCOM. Entre otras cosas, se
introdujo el CORBA Component Model (CCM), con el que se pasó de un modelo
de objetos distribuidos (EJB, restringido a Java) a un modelo distribuido orientado
a componentes.
CARACTERÍSTICAS
Entre las principales características de CORBA nos encontramos con:
Independencia en el lenguaje de programación y sistema operativo: CORBA fue
diseñado para liberar a los ingenieros de las limitaciones en cuanto al diseño del
software.Actualmente
soporta Ada, C, C++, C++11, Lisp, Ruby, Smalltalk, Java, COBOL, PL/I y Python.
Posibilidad de interacción entre diferentes tecnologías: uno de los principales
beneficios de la utilización de CORBA es la posibilidad de normalizar las interfaces
entre las diversas tecnologías y poder así combinarlas.
7. Transparencia de distribución: ni cliente ni servidor necesitan saber si la aplicación
está distribuida o centralizada, pues el sistema se ocupa de todo eso.
Transparencia de localización: el cliente no necesita saber donde ejecuta el servicio y
el servicio no necesita saber donde ejecuta el cliente.
Integración de software existente: se amortiza la inversión previa reutilizando el
software con el que se trabaja, incluso con sistemas heredados.
Activación de objetos: los objetos remotos no tienen por qué estar en memoria
permanentemente, y se hace de manera invisible para el cliente.
Otras como: el fuerte tipado de datos, la alta capacidad de configuración, libertad de
elección los detalles de transferencia de datos, o la compresión de los datos.
Cómo funciona
Todos los componentes CORBA son objetos, cada cual tendrá una interfaz y una identidad
única, cada uno de los objetos se podrá implementar en un lenguaje de programación distinto
y ejecutarse sobre cualquier sistema operativo.
El servidor crea objetos remotos, hace accesibles referencias a esos objetos remotos y espera
a que los clientes invoquen a estos objetos o a sus métodos. Por otro lado el cliente obtiene
una referencia de uno o más objetos remotos en el servidor e invoca a sus métodos.
La manera de realizar la invocación por parte del cliente es usando stub, una interfaz de
comunicación con el servidor generada a partir del IDL, usando la invocación dinámica para
acceder a los objetos del servidor gestionando a su vez las excepciones producidas por su
llamada.
Necesita para ello una referencia del objeto remoto o IOR (Interoperable Object References),
el tipo del objeto y el nombre de la propia operación que desea invocar. Describiendo las
interfaces IDL, un ORB genera automáticamente código en el lenguaje seleccionado para
realizar la integración de las aplicaciones distribuidas. Evidentemente, puesto que sólo
describe interfaces, todas las tareas complejas relacionadas con los lenguajes de
programación, como control de flujo, gestión de memoria, composición funcional, no aparecen
en IDL.
El ORB, a partir de la petición del cliente encuentra el código de la implementación apropiada
y transmite los parámetros, el control a la implementación de la interfaz a través
del skeleton IDL e informa de excepciones en el proceso (como referencias IOR o IDL no
válidas).
Para recibir la petición, recibe la invocación de uno de sus métodos como llamadas desde
el ORB hacia la implementación de la interfaz, la llamada puede venir de un cliente que haya
utilizado los stubs IDL; los esqueletos de la interfaz son específicos de cada interfaz y del
8. adaptador de objetos que exista en la implementación de CORBA. Una vez completada la
invocación el control y los valores de retorno son devueltos al cliente.
Puede utilizar los servicios que proporciona el adaptador de objetos e incluso que proporciona
el ORB, mientras es procesada la petición que ha recibido el cliente, para ese caso puede
elegir un adaptador de objetos entre un conjunto de ellos, para tomar esa decisión se basa en
la clase de servicios que pueda requerir la implementación de la interfaz.
APPC
APPC (avanzadas programa a programa de comunicación, a veces llamado LU 6.2) es una
comunicación protocolo estándar y programación de interfaz que opera en la capa de
presentación (la capa que asegura que los mensajes están en el formato adecuado para el
destinatario) ylacapa de sesión( lacapa responsablede lacreaciónydesmontaje de laasociación
de los dos puntos extremos de una conexión) de la interconexión de sistemas abiertos (OSI
modelode comunicaciones). Originalmente desarrollado por IBMcomo un mando a distancia de
transaccionesherramientade procesamiento,APPCahorase utilizaparaproporcionardistribuidos
servicios dentro de un heterogéneo entorno informático.
Software de APPCpermite lacomunicaciónde altavelocidadque tendrálugarentre losprogramas
que residenenequiposdiferentes, y entre estaciones de trabajo y de gama media y mainframes
servidores de un ordenador. APPC es un abierto estándar que se admite en la mayoría de
plataformas.
APPC se basa en sistemas de arquitectura de red de IBM(SNA).
W3C
El Consorcio World Wide Web (W3C) es un consorcio internacional donde las organizaciones
miembro, personal a tiempo completo y el público en general, trabajan conjuntamente para
desarrollar estándares Web. La misión del W3C es:
GUIAR LA WEB HACIA SU MÁXIMO POTENCIAL A TRAVÉS DEL DESARROLLO DE PROTOCOLOS Y
PAUTAS QUE ASEGUREN EL CRECIMIENTO FUTURO DE LA WEB.
El W3C desarrolla Estándares Web y Pautas
El W3C trata de alcanzar su objetivo principalmente a través de la creación de Estándares Web y
Pautas. Desde 1994, el W3C ha publicado más de ciento diez estándares, denominados
Recomendacionesdel W3C.El W3C tambiénestáinvolucradoentareasde educación y difusión, y
enel desarrollode software,sirviendoasuvezcomo foroabiertode discusión sobre la Web. Para
que la Web alcance su máximo potencial, las tecnologías Web más importantes deben ser
compatibles entre sí y permitir que cualquier hardware y software, utilizado para acceder a la
9. Web, funcione conjuntamente. El W3C hace referencia a este objetivo como "interoperabilidad
Web".Al publicarestándaresabiertos(nopropietarios) para lenguajes Web y protocolos, el W3C
trata de evitar la fragmentación del mercado y, por lo tanto, la fragmentación de la Web.
Tim Berners-Lee y otros, crearon el W3C como un consorcio dedicado a producir consenso en
relación a las tecnologías Web. Berners-Lee, que inventó la World Wide Web en 1989, mientras
trabajabaen laOrganizaciónEuropeade InvestigaciónNuclear(CERN),hasidoel director del W3C
desde que se fundó en 1994.
El W3C esun ConsorcioInternacional
Diferentes organizaciones, procedentes de diversos puntos del mundo y de campos muy
diferentes, forman parte del W3C con intención de participar en un foro neutral para la creación
de estándares Web. Los Miembros del W3C y un grupo de expertos técnicos, han hecho posible
que el W3C sea reconocido a nivel internacional por su contribución en el desarrollo de la Web.
Los Miembros del W3C (testimonios), el personal y los expertos invitados trabajan juntos para
diseñar tecnologías, con el objetivo de asegurar que la Web continuará creciendo en el futuro,
adaptándose a la creciente diversidad de personas, hardware y software.
Entre las iniciativas globales del W3C se encuentra la de mantener sus asociaciones con
organizacionesnacionales,regionalese internacionalesentodoel mundo.Estoscontactos ayudan
al W3C a establecerunaculturade participaciónglobal enel desarrollo de la World Wide Web. El
W3C ha establecidounacolaboraciónespecialmente estrechacon otras organizaciones que están
desarrollando estándares para la Web o para Internet con intención de facilitar el progreso. El
documento sobre Participación Mundial en el Consorcio World Wide Web resume los esfuerzos
del W3C por ampliar su impacto internacional; para obtener más información visite la página
principal de relaciones internacionales.
Objetivos
El W3C, para cumplir su misión, ha establecido estos tres objetivos a largo plazo para crear una
sola World Wide Web.
Web para todos
El valorsocial que aporta laWeb,es que éstahace posible la comunicaciónhumana,el comercio y
lasoportunidadesparacompartirconocimiento.Unode losobjetivosprincipalesdel W3Ces hacer
que estosbeneficiosesténdisponibles para todo el mundo, independientemente del hardware,
software, infraestructura de red, idioma, cultura, localización geográfica, o habilidad física o
mental.
El W3C continúa expandiendo su influencia a través de iniciativas que directamente apoyan la
difusiónde lastecnologíasWebysusbeneficiosenlospaísesendesarrollo.El trabajorealizadoen
áreas comoaccesibilidadWeb,internacionalización,independenciade dispositivo,yWeb móvil es
especialmente importante ya que el W3C trabaja para alcanzar una Web para todos.
10. Al mismo tiempo, a través de las Oficinas del W3C y, también, a través de otros esfuerzos para
aumentarla participación,el W3Cse compromete acrear una Webaccesible paramás gente en el
mundo. El documento sobre Participación Mundial en el Consorcio World Wide Web resume los
esfuerzosque se hanllevadoacabopara aumentarla participaciónmundial enel trabajodel W3C,
y para garantizar que los resultados obtenidos en el Consorcio benefician a una comunidad aún
mayor.
Semantic Web
La websemántica(del ingléssemanticweb) esunconjuntode actividadesdesarrolladas enel seno
de World Wide WebConsortiumtendente alacreaciónde tecnologíaspara publicardatoslegibles
por aplicaciones informáticas (máquinas en la terminología de la Web semántica). Se basa en la
idea de añadir metadatos semánticos y ontológicos a la World Wide Web. Esas informaciones
adicionales —que describen el contenido, el significado y la relación de los datos— se deben
proporcionar de manera formal, para que así sea posible evaluarlas automáticamente por
máquinasde procesamiento.El objetivo esmejorarInternetampliandolainteroperabilidad entre
lossistemasinformáticosusando"agentes inteligentes". Agentes inteligentes son programas en
las computadoras que buscan información sin operadores humanos.
El precursorde la idea,TimBerners-Lee,intentódesde el principio incluir información semántica
en su creación, la World Wide Web, pero por diferentes causas no fue posible. Por ese motivo
introdujo el concepto de semántica con la intención de recuperar dicha omisión.
Componentes de la Web Semántica
Los principales componentes de la Web Semántica son los metalenguajes y los estándares de
representación XML,XML Schema, RDF, RDF Schema y OWL, así como el
lenguaje SPARQL para la consulta de datos RDF.5 La OWLWeb Ontology Language
Overview describe la función y relación de cada uno de estos componentes de la Web
Semántica:
XML aporta la sintaxis superficial para los documentos estructurados, pero sin dotarles de
ninguna restricción sobre el significado.
XML Schema es un lenguaje para definir la estructura de los documentos XML.
RDF es un modelo de datos para los recursos y las relaciones que se puedan establecer
entre ellos. Aporta una semántica básica para este modelo de datos que puede
representarse mediante XML.
RDF Schema es un vocabulario para describir las propiedades y las clases de los
recursos RDF, con una semántica para establecer jerarquías de generalización entre
dichas propiedades y clases.
OWL es un lenguaje para definir ontologías mediante la descripción detallada de
propiedades y clases: tales como relaciones entre clases
11. (p.ej. disyunción), cardinalidad (por ejemplo "únicamente uno"), igualdad, tipologías de
propiedades más complejas, caracterización de propiedades (por ejemplo simetría) o
clases enumeradas.
SPARQL es un lenguaje de consulta de conjuntos de datos RDF. Además en dicha
especificación también se incluye un formato XML que detalla el modo en el que se
estructuran los resultados obtenidos.
DIFERENCIA ENTRE LA PROGRAMACIÓN ESTRUCTURADA, ORIENTADA A OBJETOS
PROGRAMACIÓN ESTRUCTURADA PROGRAMACIÓN ORIENTADA A OBJETOS
La programación estructurada consta,
como su nombre lo indica, de una
estructura donde se va ejecutando paso a
paso yeste debe de tener una secuencia y
una lógica para que su función sea
eficiente.
La programación estructurada pretende
resolverun problema de principio a fin en
una sola estructura de código. La
programación orientada a objetos,
resuelve el problema identificando los
actores que tienen participación en el
problema e identificando también sus
acciones. Con esta información se crean
losobjetos(que sonuna interpretación de
algunos de estos actores), estos objetos
están compuestos por clases donde se
La programaciónorientadaaobjetosse basa
en una nueva forma de pensar los
problemas,declarando como variables o los
tipos de datos los objetos del problema, y
que a su vez, cada objeto tiene anidadas
variables que hacen referencia al dato.
La programaciónorientada a objetos es más
moderna, es una evolución de la
programaciónestructuradaque plasmaenel
diseño de una familia de lenguajes
conceptos que existían previamente con
algunos nuevos.
La programaciónorientadaaobjetosse basa
en lenguajes que soportan sintáctica y
semánticamente la unión entre los tipos
abstractosde datosy sus operaciones(aesta
unión se la suele llamar clase).
12. Clúster
El término clúster (del inglés cluster, "grupo" o "raíz") se aplica a los conjuntos o
conglomerados de computadoras unidos entre sí normalmente por una red de alta velocidad y
que se comportan como si fuesen una única computadora.
La tecnología de clústeres ha evolucionado en apoyo de actividades que van desde
aplicaciones de supercómputo y software para apliaciones críticas, servidores web y comercio
electrónico, hasta bases de datos de alto rendimiento, entre otros usos.
El cómputo con clústeres surge como resultado de la convergencia de varias tendencias
actuales que incluyen la disponibilidad de microprocesadores económicos de alto rendimiento
y redes de alta velocidad, el desarrollo de herramientas de software para cómputo distribuido
de alto rendimiento, así como la creciente necesidad de potencia computacional para
aplicaciones que la requieran.
Simplemente, un clúster es un grupo de múltiples ordenadores unidos mediante una red de
alta velocidad, de tal forma que el conjunto es visto como un único ordenador, más potente
que los comunes de escritorio.
Los clústeres son usualmente empleados para mejorar el rendimiento y/o la disponibilidad por
encima de la que es provista por un solo computador típicamente siendo más económico que
computadores individuales de rapidez y disponibilidad comparables.
De un clúster se espera que presente combinaciones de los siguientes servicios:
1. Alto rendimiento
2. Alta disponibilidad
3. Balanceo de carga
4. Escalabilidad
La construcción de los ordenadores del clúster es más fácil y económica debido a su
flexibilidad: pueden tener todos la misma configuración de hardware y sistema
operativo (clúster homogéneo), diferente rendimiento pero con arquitecturas y sistemas
operativos similares (clúster semihomogéneo), o tener diferente hardware y sistema operativo
(clúster heterogéneo), lo que hace más fácil y económica su construcción.
detalla las acciones que realizan y las
propiedadesde estos.Al tener creados los
objetos solo es ponerlos a interactuar
entre ellos.
La programación orientada a objetos
incorpora en su entorno de ejecución
mecanismostalescomoel polimorfismo y el
envío de mensajes entre objetos.
13. Para que un clúster funcione como tal, no basta solo con conectar entre sí los ordenadores,
sino que es necesario proveer un sistema de manejo del clúster, el cual se encargue de
interactuar con el usuario y los procesos que corren en él para optimizar el funcionamiento.
4GL
Lenguajes de cuarta generación (4GL) Los lenguajes de cuarta generación son entornos de
desarrollode aplicacionesconstituidosporunconjunto de herramientas integradas entre las que
se encuentraneditores,compiladores, sistemas para el acceso a bases de datos, generadores de
informes, generadores de pantallas (modo carácter, interfaces gráficas), etc.
A diferencia de las herramientas CASE, los 4GL se centran fundamentalmente en las fases de
construcción e implantación. En este aspecto, una herramienta CASE del tipo L-CASE tendría
muchassemejanzasconun4GL. De hecho,muchasherramientasU-CASEtienen interfaces con un
4GL para completar el ciclo de vida del desarrollo de sistemas.
Los lenguajes que incorporan los 4GL suelen ser mezcla de lenguajes procedurales y no
procedurales.Laparte procedural se manifiesta en la definición de tipos de constantes, tipos de
datoselementales,visibilidadde lasvariables (locales o globales), sentencias de control de flujo,
definición de funciones y procedimientos, etc., mientras que la parte no procedural suele estar
basada enel lenguaje SQL(StructuredQueryLanguage) o,como mínimo,enlenguajesde consulta
de bases de datos relacionales.
Con los 4GL se consigue un aumento de productividad gracias a:
La utilización de funciones preprogramadas.
El entornode desarrolloque facilitalarealizaciónde determinadastareascomo diseño de
pantallas o informes.
Tipos de 4GL
Los 4GL, en función de su relación con un determinado gestor de base de datos, se pueden
agrupar de la forma siguiente:
Lenguajes que están ligados a una base de datos. La mayoría de los gestores de bases de datos
cuentancon un lenguaje de cuartageneración.Sonlenguajespropietarios,loque quieredecirque
sirven únicamente para acceder a esa base de datos en particular. El aprovechamiento de los
recursos del gestor es muy alto.
Lenguajesque son independientesdel gestorde base de datos. Tienen la capacidad de acceder a
diferentes bases de datos, generalmente aquéllas que soportan un estándar común. No son
lenguajespropietariosyportanto noliganal comprador a ninguna base de datos en particular. La
necesidad de utilizar el 4GL siguiendo estrictamente el estándar para asegurar la accesibilidad a
diferentes bases de datos impide sacar el máximo provecho de cada una de ellas.
14. Otra forma de agrupar los 4GL es en función de la naturaleza de su sintaxis:
Lenguajes procedurales. El programa se desarrolla como una secuencia de pasos que la
computadoraejecutaparallegaral fin deseado. Los desarrolladores deben codificar los flujos de
control de las actividades a realizar, además de las actividades en si.
Lenguajes conducidos por eventos. Permiten a los desarrolladores especificar la ejecución de
rutinas asociadas a acciones dadas del usuario, tales como apretar un tecla o mover el ratón, sin
tener que codificar cada paso dado para ejecutar dicha acción.
Tendencias tecnológicas y del mercado
La evolución de los 4GLs parece dirigirse hacia:
Independencia de plataformas hardware y software. Es importante reseñar la tendencia de
algunos 4GLs hacia la generación de lenguaje C, con la ventaja que supone en cuanto a
portabilidad.
Independencia de estructuras de datos y acceso a información distribuida.
Accesoa objetosdistribuidos,loque permite independizarlosrecursosque utilizará laaplicacióna
desarrollar, de la localización física de los mismos.
Interoperabilidad con herramientas ofimáticas.
Soporte para diferentes interfaces gráficas de usuario.
Soporte para diferentes entornos de red.
La aplicaciónde formamásextendida del modelocliente/servidor,tantoenel funcionamiento del
propio 4GL como en las aplicaciones generadas.
Soporte para desarrollode aplicacionesparaInternete Intranet.Esdestacable la tendencia actual
a modelosde desarrolloenloscuales la base de datos y la lógica de la aplicación residen bien en
un servidorcomún,bienen distintos servidores, mientras que la presentación de la misma en el
cliente se realiza mediante un browser a través de una red Intranet.