You are on page 1of 27

Unidad II

Arquitectura de Aplicaciones Distribuidas


Competencia
Identificar la arquitectura de una aplicacin distribuida as como los servicios y tecnologas
que intervienen.

Introduccin
La arquitectura de aplicaciones distribuidas (AAD) es el diseo que permite a los
usuarios de una red de computadoras accesar a la informacin, aplicaciones y
servicios, as como tambin intercambiar informacin con otros usuarios, a travs
de un nico, pero consistente entorno de usuario. Esta arquitectura permite la
construccin de nuevas aplicaciones y servicios; y proporciona las facilidades para
la integracin y migracin de las aplicaciones existentes, tambin llamados
sistemas heredados.
Un sistema completamente basado en la arquitectura de aplicaciones distribuidas
(AAD) incluidos los componentes que proporcionan servicios como parte de la
infraestructura y un conjunto de convenciones o polticas que definen como los
componentes interactan con el proveedor de servicios y unos con otros. Estas
convenciones, en particular, permiten la integracin de los componentes en un
contexto empresarial amplio.

Modelo de Arquitectura de Aplicacin Distribuida

Un sistema completo basado en AAD incluye la infraestructura de componentes


que proporcionan servicios a objetos y establecen un conjunto de convenciones o
polticas que definen como los objetos interactan con los servicios
proporcionados. La figura anterior muestra la arquitectura de forma visual.
La arquitectura de aplicaciones es organizada alrededor del concepto de objeto
AAD, un objeto de datos abstracto que usa a la infraestructura AAD e implementa
sus polticas. El Facilitador de Manejo de Objetos Distribuidos (DOMF) es el
componente de la infraestructura DAA que maneja la existencia y ejecucin de los
objetos, as como la interaccin entre los objetos. El DOMF es la capa central de
la arquitectura, proporciona la funcionalidad bsica comn para un sistema basado
en AAD.

2.1 Capa de interfaz de usuario.


La interfaz de usuario es el medio con que el usuario puede comunicarse con
una mquina, un equipo o una computadora, y comprende todos los puntos de
contacto entre el usuario y el equipo.
Funciones principales.
Puesta en marcha y apagado.
Control de las funciones manipulables del equipo.
Manipulacin de archivos y directorios.
Herramientas de desarrollo de aplicaciones.
Comunicacin con otros sistemas.
Informacin de estado.
Configuracin de la propia interfaz y entorno.
Intercambio de datos entre aplicaciones.
Control de acceso.
Sistema de ayuda interactivo.
Tipos de interfaces de usuario
Segn la forma de interactuar del usuario, atendiendo como el usuario puede
interactuar con una interfaz, nos encontramos con varios tipos de interfaces de
Usuario:
Interfaces alfanumricas (intrpretes de comandos) que solo presentan
texto.

Interfaces grficas de usuario (GUI, Graphics User Interfaces), las que


permiten comunicarse con el ordenador de una forma muy rpida e intuitiva
representando grficamente los elementos de control y medida.

Interfaces tctiles, que representan grficamente un "panel de control" en


una pantalla sensible que permite interaccionar con el dedo de forma similar
a si se accionara un control fsico.

Las interfaces web tienen ciertas limitaciones en las funcionalidades que se


ofrecen al usuario. Hay funcionalidades comunes en las aplicaciones de
escritorio como dibujar en la pantalla o arrastrar-y-soltar que no estn
soportadas por las tecnologas web estndar. Los desarrolladores web
generalmente utilizan lenguajes interpretados o script en el lado del cliente
para aadir ms funcionalidades, especialmente para ofrecer una
experiencia interactiva que no requiera recargar la pgina cada vez (lo que
suele resultar molesto a los usuarios). Recientemente se han desarrollado
tecnologas para coordinar estos lenguajes con tecnologas en el lado del
servidor, como por ejemplo PHP. Otro caso AJAX, que es una tcnica de
desarrollo web que usa una combinacin de varias tecnologas.

Segn su construccin, pueden ser de hardware o de software:


Interfaces hardware. Se trata de un conjunto de controles o dispositivos que
permiten la interaccin hombre-mquina, de modo que permiten introducir o
leer datos del equipo, mediante pulsadores, reguladores e instrumentos.
Interfaces software. Son programas o parte de ellos, que permiten expresar
nuestros deseos al ordenador o visualizar su respuesta.
La capa de interfaz de usuario o capa de presentacin es una parte de vital
importancia en una aplicacin, ya que su arquitectura no es la adecuada, puede
incrementar la complejidad de la aplicacin, no favorecer su flexibilidad y hacer
que la experiencia del usuario sea poco eficaz y frustrante. Las aplicaciones de
cliente ligero presentan conocidas ventajas sobre las aplicaciones de cliente
enriquecido tradicionales en cuanto a implementacin y capacidad de
administracin, lo que ha contribuido a que aumente su popularidad en los ltimos
aos. Sin embargo, con la aparicin de los clientes inteligentes, la eleccin de la
arquitectura de capa de presentacin ha dejado de ser tan sencilla. Los clientes
enriquecidos han evolucionado a clientes inteligentes, que pueden combinar las
ventajas de la administracin central de los ligeros, con la flexibilidad, el nivel de
respuesta y el rendimiento de los enriquecidos. En este artculo se describen los
enfoques de cliente ligero e inteligente y se proporciona informacin sobre cmo
optar por uno u otro.
La importancia de la capa de presentacin
La capa de presentacin de la mayora de aplicaciones resulta con mucha
frecuencia esencial para su xito. Despus de todo, representa la interfaz entre el
usuario y el resto de la aplicacin. Es, por as decirlo, el aspecto fundamental. Si el
usuario no puede interactuar con la aplicacin de forma que le permita realizar su
trabajo con eficacia, el xito global de la misma se ver seriamente perjudicado.
Lo importante de la capa de presentacin es disearla de manera que se ofrezca
una buena experiencia al usuario que le permita interactuar eficazmente con la
aplicacin. Asimismo, ser necesario generar e implementar la capa de tal manera
que tenga en cuenta las necesidades empresariales de desarrollo, mantenimiento
y funcionamiento. La eleccin de la arquitectura correcta de la capa de
presentacin de la aplicacin resulta de vital importancia para lograr todos estos
objetivos.
Los dos enfoques de arquitectura y diseo de la capa de presentacin
comnmente adoptado son el enfoque de cliente ligero y el enfoque de cliente

inteligente. Son muchos los factores que pueden influir en la decisin de cul de
los dos resulta ms idneo para una aplicacin concreta (los requisitos de la
plataforma del cliente, la implementacin y la actualizacin de la aplicacin, la
experiencia del usuario, el rendimiento, la integracin del lado cliente, las
capacidades sin conexin, etc.) y cada uno de ellos presenta puntos dbiles y
fuertes inherentes y admite un determinado estilo de aplicacin. Sin embargo, la
distincin entre ellos se puede desdibujar, lo que fcilmente puede conducir a la
aplicacin del enfoque bsico menos adecuado y a los consiguientes problemas.
Descripcin de un cliente ligero.
Muchas tecnologas de cliente ligero pertenecen al lado servidor, y los marcos y
plataformas de servidor Web (ASP, ASP.NET, JSP, etc.) entre los que se puede
elegir son elevados. Cada uno presenta caractersticas especiales que intentan
hacer ms fcil la creacin de aplicaciones de cliente ligero, pero todos ellos
ofrecen la interfaz de usuario en un explorador en el cliente mediante una serie de
pginas HTML. Una aplicacin de cliente ligero se puede definir de forma simple
como la aplicacin que utiliza un explorador para proporcionar el entorno de
ejecucin de su interfaz de usuario (definida con HTML).

Representacin esquemtica de una arquitectura de cliente ligero


Otras aplicaciones Web han recurrido a alojar componentes complejos dentro de
la pgina como subprogramas Java, controles ActiveX y .NET. Estos componentes
ofrecen bien una interfaz de usuario con mayor nivel de respuesta, bien lgica del
lado cliente que no se puede implementar en secuencias de comandos o por
razones de seguridad. Es en este punto donde el cliente ligero comienza a
mezclarse con el cliente inteligente conduciendo a lo que se conocen como
aplicaciones hbridas.
Aunque es posible utilizar estas aplicaciones hbridas para equilibrar los puntos
dbiles y fuertes de cada enfoque, el trmino cliente ligero se define como una
aplicacin Web genrica que no emplea tales componentes sino las

caractersticas bsicas que ofrece el entorno del explorador. Las aplicaciones


hbridas se describirn en una seccin posterior, junto con las aplicaciones de
cliente inteligente, dado que precisan utilizar capacidades de estas ltimas para
evitar problemas de administracin y funcionamiento.
Descripcin de un cliente inteligente
Las aplicaciones de cliente inteligente no resultan tan sencillas de definir como las
de cliente ligero, porque pueden presentar muchas formas distintas y no se limitan
al enfoque que se podra denominar universal de estas ltimas. La principal
diferencia que existe entre un cliente inteligente y un cliente ligero es que el
primero no se basa en un explorador para proporcionar el entorno de ejecucin, de
seguridad y de interfaz de usuario que necesita para su funcionamiento.
Asimismo, los clientes inteligentes, en lugar de HTML y JScript, generalmente
llevan asociados elementos de cdigo compilado (componentes ensamblados)
que se ejecutan en el equipo cliente para ofrecer la interfaz de usuario de la
aplicacin y la lgica del lado cliente.

Representacin esquemtica de una arquitectura de cliente inteligente

.NET tambin proporciona la infraestructura de seguridad de acceso al cdigo


(CAS). CAS asigna permisos especficos de cdigo de .NET en funcin de la
evidencia que presenta y funciona de forma muy similar a como lo hace el
explorador en una aplicacin de cliente ligero, ofreciendo un entorno de recinto en
el que opera la aplicacin. La implementacin "no-touch" se integra con CAS. De
forma predeterminada, se asigna a las aplicaciones que se implementan mediante
"no-touch" un conjunto restringido de permisos en funcin de la zona de URL
desde la que se realice la implementacin. Los administradores de red pueden

modificar los permisos con directivas de seguridad para que se asignen o se


denieguen permisos especficos a la aplicacin segn los requisitos.
Al crear aplicaciones de cliente inteligente con .NET Framework se generan
aplicaciones menos frgiles. Tradicionalmente, al instalar una aplicacin de cliente
enriquecido se podan interrumpir otras aplicaciones, ya que se reemplazaban
componentes DLL importantes que compartan. .NET permite aislar las
aplicaciones y mantener todos sus componentes en un directorio local de manera
que todos los ensamblados sean independientes. Adems, tales aplicaciones no
requieren ningn proceso de registro cuando se implementan, lo que reduce an
ms el riesgo de interrumpir las dems. Asimismo, .NET Framework permite
implementar varias versiones de un ensamblado en paralelo. De esta forma se
garantiza que, cuando la aplicacin se ejecuta, utiliza las versiones exactas de los
ensamblados con los que se ha creado y probado.

2.2 Capa de manejo de datos.


Es donde residen los datos y es la encargada de acceder a los mismos. Est
formada por uno o ms gestores de bases de datos que realizan todo el
almacenamiento de datos, reciben solicitudes de almacenamiento o recuperacin
de informacin desde la capa de procesamiento de datos o capa de negocio.
Hay diferentes modelos de datos:
Conceptuales. Utilizados para profundizar en el dominio del problema con
el cliente.
- Lgicos. es el diseo conceptual de la base de datos, esto es, entidades
de datos, atributos y relaciones.
- Fsicos. Disear el esquema de las bases de datos, esto es, las tablas, sus
columnas y relaciones entre ellas.
Por lo tanto ahora tendremos que enumerara las diferencias entre los objetos y los
datos:
- El modelo de objetos contempla los datos y su comportamiento, la
normalizacin de las clases incrementa la cohesin y minimiza el
acoplamiento, usando para ellos las distintas formas normales de las bases
de datos: 1FN, 2FN, 3FN.
-

Notacin para los modelos de datos:


La manera de representar los modelos de datos, est basada en la notacin
UML.
Tabla
Atributo1: <<PK>>
Atributo2: String
Atributo1: VARCHAR
.
.
Atributo1: <<FK>>

Traduccin de Objetos a Datos:


Como ya es costumbre en esta asignatura, surgen ms problemas, en esta
ocasin el problema que se nos plantea es: como sabramos qu
columnas necesitaremos a partir del modelo de clases, y como se identificaran las
entidades en una base de datos, para solucionarlo se plantean las siguientes
maneras:
Identificadores de objetos:
Caractersticas:
- Garantizan unicidad en toda la base de datos ya que los id solo la
garantizan en las tablas no en toda la base.
- No tienen sentido en la lgica de negocio o funcional de la aplicacin
Algunas Estrategias:
- Incremento del valor mximo de una columna numrica
- Almacenando el valor en una tabla
- UUIDs (Universally Unique Identifier) y GUIDs (Globally Unique Identifier).
Traduccin de clases y atributos
Por regla general, las clases son tablas, y los atributos que contienen se traducen
en columnas, teniendo en cuenta de que se aade en la tabla un literal o ID para
identificar sus atributos y sus relaciones con las dems tablas.
Traduccin de las relaciones:
Al efectuar estas traducciones hay que tener en cuenta ciertos detalles;
- una asociacin = composicin = agregacin
- en el modelo relacional todas las asociaciones son bidireccionales
independientemente como estn en las clases de donde vienen.
La estrategia que se sigue para que se haga una traduccin correcta de las
clases a tablas;
- las relaciones de 1 a 1 y 1 a * se hace con claves ajenas (<<FK>>).
- Las relaciones de muchos a muchos se hacen con tablas asociativas
(intermedias).
Un ejemplo ms concreto de una relacin n a n:

Especializacin
Las estrategias se establecen como sigue:
-

Una nica tabla para todas las clases.

Una tabla para cada clase concreta.

Una tabla para cada clase.

Modelo Data Access Object.


Un Data Access Object (DAO, Objeto de Acceso a Datos) es un componente de
software que suministra una interfaz comn entre la aplicacin y uno o ms
dispositivos de almacenamiento de datos, tales como una Base de datos o un
archivo.
La ventaja de usar objetos de acceso a datos es que cualquier objeto de negocio
(aquel que contiene detalles especficos de operacin o aplicacin) no requiere
conocimiento directo del destino final de la informacin que manipula.
Los Objetos de Acceso a Datos pueden usarse en Java para aislar a una
aplicacin de la tecnologa de persistencia Java subyacente(API de Persistencia
Java), la cual podra ser JDBC, JDO, EJB CMP(Persistencia controlada por el
Contenedor), TopLink, Hibernate, iBATIS, o cualquier otra tecnologa de
persistencia. Usando Objetos de Acceso de Datos significa que la tecnologa
subyacente puede ser actualizada o cambiada sin cambiar otras partes de la
aplicacin.
Conectividad de Datos.
Cmo conectar las clases ya construidas en Java a una base de datos para poder
tratar los datos;

JDBC.
Java Database Connectivity, ms conocida por sus siglas JDBC, es una API que
permite la ejecucin de operaciones sobre bases de datos desde el lenguaje de
programacin Java independientemente del sistema operativo donde se ejecute o
de la base de datos a la cual se accede utilizando el dialecto SQL del modelo de
base de datos que se utilice.
El API JDBC se presenta como una coleccin de interfaces Java y mtodos de
gestin de manejadores de conexin hacia cada modelo especfico de base de
datos. Un manejador de conexiones hacia un modelo de base de datos en
particular es un conjunto de clases que implementan las interfaces Java y que
utilizan los mtodos de registro para declarar los tipos de localizadores a base de
datos (URL) que pueden manejar. Para utilizar una base de datos particular, el
usuario ejecuta su programa junto con la librera de conexin apropiada al modelo
de su base de datos, y accede a ella estableciendo una conexin, para ello provee
en localizador a la base de datos y los parmetros de conexin especficos. A
partir de all puede realizar con cualquier tipo de tareas con la base de datos a las
que tenga permiso: consulta, actualizacin, creacin, modificacin y borrado de
tablas, ejecucin de procedimientos almacenados en la base de datos, etc.
Los desarrolladores de los SGDB: Sistemas de gestin de bases de datos, son los
que proporcionan la implementacin de esa interfaz (los Drivers).
Arquitectura de un JDBC.
Hay 4 tipos que vamos a detallar a continuacin:
- Tipo1: JDBC-ODBC Bridge: puente, delegan el acceso a datos a una API
ODBC.
- Tipo2: Usan cdigo nativo para el acceso a datos y proveen un envoltorio
de clases java para las llamadas al driver, es un tipo especifico de una
plataforma, el tipo2 de conectores asla la JVM y se comunica directamente
con el SO.
o JAVA
o JDBC
o Driver JDBC
o JVM
o SO
-

Tipo3: Estos Driver java al 100% se comunican con el SGBD usando el


protocolo de red del servidor que usamos.

Tipo4: Tambin es un Driver 100% java hace las peticiones al SGBD a


travs de un intermediario que es independiente del protocolo de red que
se use.

Modo de trabajo en JDBC.


Lo que se muestra en la figura a continuacin es el modo de trabajar con un
recurso que en este caso es un Driver, lo que hacemos es cargarlo, obtener la
conexin, lanzar las consultas ejecutando las distintas sentencias SQL, tratamos
el resultado devuelto, y lo mostramos, y liberamos el recurso.

ADO.NET.
El ADO.NET es un conjunto de componentes del software que pueden ser usados
por los programadores para acceder a datos y a servicios de datos. Es una parte
de la biblioteca de clases base que estn incluidas en el Microsoft .NET
Framework. Es comnmente usado por los programadores para acceder y para
modificar los datos almacenados en un Sistema Gestor de Bases de Datos
Relacionales, aunque tambin puede ser usado para acceder a datos en fuentes
no relacionales. ADO.NET es a veces considerado como una evolucin de la

tecnologa ActiveX Data Objects (ADO), pero fue cambiado tan extensivamente
que puede ser concebido como un producto enteramente nuevo.
2.3 Capa de procesamiento de datos.
Toda aplicacin tiene cdigo para implementar reglas de negocios, procesos
relacionados a los datos o clculos y otras actividades relativas a los negocios.
Colectivamente este cdigo es considerado para formar la capa de negocios. Otra
vez, uno de los principios del diseo lgico cliente/servidor, la lgica de negocios
debe mantenerse separada de la capa de presentacin y de los servicios de datos.
Esto no significa necesariamente que la lgica de negocios est en cualquier
parte, por el contrario, esta separacin es en un sentido lgico.
Hay muchas formas de separar la lgica de negocios. En trminos orientados a
objetos, usted debera encapsular la lgica de negocios en un conjunto de objetos
o componentes que no contienen presentacin o cdigo de servicios de datos.
Teniendo separada lgicamente su lgica de negocios de ambas, la capa de
presentacin y servicios de datos, usted ganar en flexibilidad en trmino de
donde usted puede almacenar fsicamente la lgica de negocios. Por ejemplo,
usted puede seleccionar almacenar la lgica de negocios sobre cada estacin de
cliente, u optar por ejecutar la lgica de negocios sobre un servidor de
aplicaciones, permitiendo a todos los clientes acceder a un recurso centralizado.
Los objetos de negocios son diseados para reflejar o representar sus negocios.
Ellos se convierten en un modelo de sus entidades de negocios e interrelaciones.
Esto incluye tanto objetos fsicos como conceptos abstractos. Estos son algunos
ejemplos de objetos del mundo real: un empleado, un cliente, un producto, una
orden de compra.
Todos estos son objetos en el mundo fsico, y la idea en su totalidad detrs de
usar objetos de negocios de software, es crear una representacin de los mismos
objetos dentro de su aplicacin. Sus aplicaciones pueden hacer que estos objetos
interacten unos con otros como ellos lo hacen en el mundo real. Por ejemplo, un
empleado puede crear una orden de compra a un cliente que contiene una
lista de productos. Siguiendo esta lgica usted puede crear objetos de negocios
de una orden conteniendo el cdigo necesario para administrarse a si mismo, as
usted nunca necesitar replicar cdigo para crear ordenes, usted solo usar el
objeto. Similarmente, un objeto cliente contiene y administra sus propios
datos. Un buen diseo de un objeto cliente contiene todos los datos y rutinas
necesitadas para representarlo a travs del negocio completo, y puede ser usado
a travs de toda la aplicacin de ese negocio.
No toda la lgica de negocio es la misma. Alguna lgica de negocio es un proceso
intensivo de datos, requiriendo un eficiente y rpido acceso a la base de datos.
Otras no requieren un frecuente acceso a los datos, pero es de uso frecuente por
una interfase de usuario robusta para la validacin en la entrada de campos u
otras interacciones de usuarios. Si nosotros necesitamos una validacin al nivel de
pantallas y quizs clculos en tiempo real u otra lgica de negocios, pudiramos
considerar este tipo de lgica de negocios para ser parte de la IU, ya que en su
mayor parte es usada por la interfase de usuario.
Una alternativa de solucin es dividir la capa de lgica de negocios en dos:

Objetos de negocios de la IU.


Objetos de negocios de datos.
Un ejemplo del objeto Empleado de la capa objetos de negocios de la IU proveer
propiedades y mtodos para usar por el diseador de la interfase de usuario.
Ejemplo de propiedades y mtodos pudieran ser: IdEmpleado, Nombre, Direccin,
etc., y como mtodos crear una de compra, etc. El objeto Empleado de la capa de
objetos de negocios de datos ser responsable de los mecanismos de
persistencias, interactuar con la base de datos. Los objetos de esta capa son
considerados sin estado, solo poseen mtodos.
Componentes Distribuidos de Java EJBs.
Los Enterprise JavaBeans (tambin conocidos por sus siglas EJB) son una de
las API que forman parte del estndar de construccin de aplicaciones
empresariales J2EE de Sun Microsystems (ahora JEE 5.0). Su especificacin
detalla cmo los servidores de aplicaciones proveen objetos desde el lado del
servidor que son, precisamente, los EJBs:
comunicacin remota utilizando CORBA,
transacciones,
control de la concurrencia,
eventos utilizando JMS (Java messaging service),
servicios de nombres y de directorio,
seguridad,
ubicacin de componentes en un servidor de aplicaciones.
Los EJBs proporcionan un modelo de componentes distribuido estndar del lado
del servidor. El objetivo de los EJBs es dotar al programador de un modelo que le
permita abstraerse de los problemas generales de una aplicacin empresarial
(concurrencia, transacciones, persistencia, seguridad, etc.) para centrarse en el
desarrollo de la lgica de negocio en s. El hecho de estar basado en
componentes permite que stos sean flexibles y sobre todo reutilizables.
No hay que confundir los Enterprise JavaBeans con los JavaBeans. Los
JavaBeans tambin son un modelo de componentes creado por Sun Microsystems
para la construccin de aplicaciones, pero no pueden utilizarse en entornos de
objetos distribuidos al no soportar nativamente la invocacin remota (RMI).
Componentes distribuidos DCOM.
Distributed Component Object Model (DCOM), en espaol Modelo de Objetos
de Componentes Distribuidos, es una tecnologa propietaria de Microsoft para
desarrollar componentes software distribuidos sobre varios ordenadores y que se
comunican entre s. Extiende el modelo COM de Microsoft y proporciona el
sustrato de comunicacin entre la infraestructura del servidor de aplicaciones
COM+ de Microsoft. Ha sido abandonada en favor del framework .NET
La adicin de la "D" a COM fue debido al uso extensivo de DCE/RPC, o ms
especficamente la versin mejorada de Microsoft, conocida como MSRPC.
En trminos de las extensiones que aade a COM, DCOM tena que resolver los
problemas de

Aplanamiento - Serializar y deserializar los argumentos y valores de retorno


de las llamadas a los mtodos "sobre el cable".
Recoleccin de basura distribuida, asegurndose que las referencias
mantenidas por clientes de las interfaces sean liberadas cuando, por
ejemplo, el proceso cliente ha cado o la conexin de red se pierde.
Uno de los factores clave para resolver estos problemas es el uso de DCE/RPC
como el mecanismo RPC subyacente bajo DCOM. DCE/RPC define reglas
estrictas en cuanto al aplanamiento y a quin es responsable de liberar la
memoria.
2.4 Integracin de sistemas heredados.
Un sistema heredado, es un sistema informtico (equipos informticos y/o
aplicaciones) que se ha quedado anticuado y que contina siendo utilizado por el
usuario (tpicamente una organizacin o empresa) y no se quiere o no puede ser
reemplazado o actualizado de forma sencilla.
Las compaas gastan mucho dinero en sistemas informticos y, para obtener un
beneficio de esa inversin el software o el hardware debe utilizarse por varios
aos. El tiempo de vida de los sistemas informticos es muy variable, pero
muchos sistemas grandes se pueden llegar a utilizar hasta por ms de 20 aos.
Muchos de estos sistemas antiguos an son importantes para sus respectivos
negocios, es decir, las empresas cuentan con los servicios suministrados por
estos sistemas y cualquier fallo en estos servicios tendra un efecto serio en el
funcionamiento de la organizacin. Estos sistemas antiguos reciben el nombre de
sistemas heredados.
Lo habitual es que los sistemas heredados, los que ya suponen un problema para
una empresa u organizacin por la dificultad para sustituirlos, no sean los mismos
sistemas que originalmente se empezaron a utilizar en la empresa. Muchos
factores externos e internos, como el estado de las economas nacional e
internacional, los mercados cambiantes, los cambios en las leyes, los cambios de
administracin o la reorganizacin estructural, conducen a que los negocios
experimenten cambios continuos. Estos cambios generan o modifican los
requerimientos del sistema de informacin por lo que stos van sufriendo cambios
conforme cambian los negocios. Por esta razn, los sistemas heredados
incorporan un gran nmero de actualizaciones hechas a lo largo de su vida til.
Muchas personas diferentes pueden haber estado involucradas en la realizacin
de estas modificaciones a lo largo del tiempo, y es inusual para cualquier usuario o
administrador del sistema tener un conocimiento completo del mismo, sobre todo
cuando ste tiene una cierta envergadura.
Muchas de las grandes empresas tienen sistemas heredados escritos en variedad
de lenguajes diferentes, como COBOL y C++. Esas empresas han erogado
enormes sumas de dinero y han reunido grandes cantidades de datos en esos
sistemas heredados. Por lo tanto, es indispensable que busquen un modo rpido y
eficiente de conservar y reutilizar esos servicios heredados para integrarlos y
exponerlos como servicios web. Esta integracin suele ser uno de los grandes
retos al construir un servicio web. Sin embargo, Java proporciona una solucin
relativamente sencilla para la integracin de sistemas heredados.

Java EE Connector Architecture (JCA) es una solucin de tecnologa basada en el


Lenguaje de programacin Java para conectar servidores de aplicaciones y
sistemas de informacin de empresa (SIE) como parte de soluciones de
integracin de aplicacin de empresa (EAI). Mientras JDBC se usa
especficamente para conectar aplicaciones Java a Bases de datos, JCA es una
arquitectura ms genrica para conectarse a sistemas heredados (incluyendo
bases de datos). JCA fue desarrollado bajo el Java Community Process como JSR
16 (JCA 1.0) y JSR 112 (JCA 1.5). En 2006, la versin JCA es la versin 1.5.
La JCA se puede usar para integrar sistemas heredados. Dicha arquitectura es
una especificacin para crear adaptadores de recursos que entienden de qu
manera comunicarse con los sistemas heredados existentes, como los escritos en
COBOL, C++, etc. Estos adaptadores de recursos son reusables en cualquier
contenedor que soporte JCA. En la actualidad existe una gran cantidad de
grandes fabricantes en el mercado que manufacturan adaptadores y soportan
JCA.
.NET tambin presenta integracin de heredados a travs del Host Integration
Serve. Sin embargo, la conectividad se limita a los sistemas heredados a travs de
ese servidor porque no hay mucho soporte fuera de Microsoft.
Conocida como Host Integration Server 2004 HIS 2004, la ltima versin de Host
Integration Server permite integrar los sistemas empresariales heredados de IBM
con las tecnologas emergentes de Microsoft Windows Server System ofreciendo
un entorno adaptable y fcil de administrar y ahorrando enormes costos
econmicos.
No es sencillo para las empresas reemplazar sus plataformas heredadas de IBM
por sistemas basados en Windows, aun cuando valoran el menor tiempo de
desarrollo y ejecucin y los menores costes de administracin que ofrecen los
entornos desarrollados sobre la base de Microsoft .NET Framework, Microsoft
Visual Studio .NET y Microsoft Windows Server System.
Host Integration Server 2004 ofrece un medio eficiente para la integracin de
aplicaciones que se ejecuta en los sistemas Windows y anfitriones IBM sin
necesidad de reescribir las aplicaciones del anfitrin. La capa de interconexin de
redes de HIS 2004 soporta redes que usan DLC solamente, TCP/IP nicamente y
las tecnologas emergentes de SNA sobre Protocolos de Internet.
Transaction Integrator Designer, Transaction Integrator Manager y el Servicio HIP
(Procesamiento Iniciado por el Anfitrin) permiten a los desarrolladores de
aplicaciones heredadas de IBM, desarrolladores de aplicaciones de Windows,
editoras de Web y gerentes de unidades de negocio acceder e integrar
bidireccionalmente sus sistemas empresariales crticos para la misin en las
soluciones de Microsoft Windows Server System.
Como numerosos proveedores ya soportan JCA y ofrecen adaptadores de
recursos, la integracin con sistemas heredados se vuelve mucho ms fcil.
La portabilidad de Java tambin desempea un gran papel en el desarrollo de
servicios web. Los programas creados en Java son portables en una red y pueden
funcionar en variedad de plataformas y sistemas operativos, como Win32, UNIX y
sistemas mainframe. sta es una fuerte ventaja, puesto que la mayora de los
eBusiness tienen clientes cuya gama de plataformas es amplia.

Por otro lado, la portabilidad de .NET es limitada (en el mejor de los casos), pues
slo opera con Windows. Si bien el proyecto Mono trata de crear una
implementacin de fuente abierta para .NET, cul sea el futuro de dicho proyecto,
es todava incierto.
2.5 Distribucin de elementos de una aplicacin.
El diseo de una aplicacin distribuida implica la toma de decisiones sobre su
arquitectura lgica y fsica, as como sobre la tecnologa e infraestructura que se
emplearn para implementar su funcionalidad. Para tomar estas decisiones, debe
tener un conocimiento claro de los procesos empresariales que realizar la
aplicacin (sus requisitos funcionales), as como los niveles de escalabilidad,
disponibilidad, seguridad y mantenimiento necesarios (sus requisitos no
funcionales, funcionales u operativos).
El objetivo consiste en disear una aplicacin que:
Solucione el problema empresarial para el que se disea.
Tenga en consideracin la seguridad desde el principio, teniendo en cuenta
los mecanismos adecuados de autenticacin, la lgica de autorizacin y la
comunicacin segura.
Proporcione un alto rendimiento y est optimizada para operaciones
frecuentes entre patrones de implementacin.
Est disponible y sea resistente, capaz de implementarse en centros de
datos de alta disponibilidad y redundantes.
Permita la escalabilidad para cumplir las expectativas de la demanda y
admita un gran nmero de actividades y usuarios con el mnimo uso de
recursos.
Se pueda administrar, permitiendo a los operadores implementar,
supervisar y resolver los problemas de la aplicacin en funcin del
escenario.
Se pueda mantener. Cada parte de funcionalidad debera tener una
ubicacin y diseo predecibles teniendo en cuenta distintos tamaos de
aplicaciones, equipos con conjuntos de habilidades variadas y requisitos
tcnicos y cambios empresariales.
Funcione en los distintos escenarios de aplicaciones y patrones de
implementacin
Una solucin distribuida puede que necesite abarcar varias organizaciones o
niveles fsicos, en cuyo caso tendr sus propias directivas en relacin a la
seguridad, administracin operativa y comunicaciones de la aplicacin. Estas
unidades de confianza, o zonas, pueden ser un nivel fsico, un centro de datos o
un departamento, seccin o empresa que tenga estas directivas definidas. Unidas,
estas directivas definen reglas para el entorno en el que se implementa la
aplicacin y la forma en que los niveles del servicio o aplicacin se comunican.
Las directivas abarcan toda la aplicacin y la forma en que se implementan afecta
a las decisiones sobre el diseo en cada nivel. Tambin tienen un impacto entre s
(por ejemplo, la directiva de seguridad determina algunas de las reglas en la
directiva de comunicacin y viceversa).

2.6 Integracin de tecnologas heterogneas y homogneas.


La mayora cuenta al da de hoy con un conjunto de aplicaciones las cuales se
requiere que interacten de maneras ms automticas y flexibles. Esto le da a las
empresas la ventaja de compartir la informacin y disparar los procesos asociados
a un evento de una manera ms rpida y eficiente, pero al mismo tiempo plantea
problemas de seguridad, control del proceso, problemas de interoperabilidad entre
plataformas distintas, problemas de eficiencia y otros.
Existen diversas formas de permitir la integracin, dos formas de hacer esto se
basan en las tecnologas tipo framework, que permiten la integracin dentro de
sistemas heterogneos:
- MVJ. Maquina Virtual de Java
- Microsoft Framework.
Una Mquina virtual Java (en ingls Java Virtual Machine, JVM) es un programa
nativo, es decir, ejecutable en una plataforma especfica, capaz de interpretar y
ejecutar instrucciones expresadas en un cdigo binario especial (el Java
bytecode), el cual es generado por el compilador del lenguaje Java.
El cdigo binario de Java no es un lenguaje de alto nivel, sino un verdadero cdigo
mquina de bajo nivel, viable incluso como lenguaje de entrada para un
microprocesador fsico. Como todas las piezas del rompecabezas Java, fue
desarrollado originalmente por Sun Microsystems.
La JVM es una de las piezas fundamentales de la plataforma Java. Bsicamente
se sita en un nivel superior al Hardware del sistema sobre el que se pretende
ejecutar la aplicacin, y este acta como un puente que entiende tanto el
bytecode, como el sistema sobre el que se pretende ejecutar. As, cuando se
escribe una aplicacin Java, se hace pensando que ser ejecutada en una
mquina virtual Java en concreto, siendo sta la que en ltima instancia convierte
de cdigo bytecode a cdigo nativo del dispositivo final.
La gran ventaja de la mquina virtual java es aportar portabilidad al lenguaje de
manera que desde Sun Microsystems se han creado diferentes mquinas virtuales
java para diferentes arquitecturas y as un programa .class escrito en un Windows
puede ser interpretado en un entorno Linux. Tan solo es necesario disponer de
dicha mquina virtual para dichos entornos. De ah el famoso axioma que sigue a
Java, "escrbelo una vez, ejectalo en cualquier parte", o "Write once, run
anywhere".
Para poder ejecutar una aplicacin en una Mquina Virtual de Java, el programa
cdigo debe compilarse de acuerdo a un formato binario portable estandarizado,
normalmente en forma de ficheros con extensin .class. Un programa puede
componerse de mltiples clases, en cuyo caso cada clase tendr asociada su
propio archivo .class. Para facilitar la distribucin de aplicaciones, los archivos de
clase pueden empaquetarse juntos en un archivo con formato jar. Esta idea
apareci en la poca de los primeros applets de Java. Estas aplicaciones pueden
descargar aquellos archivos de clase que necesitan en tiempo de ejecucin, lo que
supona una sobrecarga considerable para la red en una poca donde la velocidad
supona un problema. El empaquetado evita la sobrecarga por la continua apertura
y cierre de conexiones para cada uno de los fragmentos necesarios.

El cdigo resultante de la compilacin es ejecutado por la JVM que lleva a cabo la


emulacin del conjunto de instrucciones, bien por un proceso de interpretacin o
ms habitualmente mediante un compilador JIT (Just In Time), como el HotSpot de
Sun. Esta ltima opcin convierte el bytecode a cdigo nativo de la plataforma
destino, lo que permite una ejecucin mucho ms rpida. El inconveniente es el
tiempo necesario al principio para la compilacin.
En un sentido amplio, la Mquina Virtual de Java acta como un puente entre el
resultado de la compilacin (el bytecode) y el sistema sobre el que se ejecuta la
aplicacin. Para cada dispositivo debe haber una JVM especfica, ya sea un
telfono mvil, un PC con Windows XP, o un microondas. En cualquier caso, cada
mquina virtual conoce el conjunto de instrucciones de la plataforma destino, y
traduce un cdigo escrito en lenguaje Java al cdigo nativo que es capaz de
entender el Hardware de la plataforma.
Otros mtodos de permitir la integracin de las aplicaciones son el uso de
Modelos de cmo:
Web services.
Los Web Servicices son una implementacin de Servicios Orientados a la
Arquitectura (SOA). SOA est compuesto por tres partes: un proveedor, un agente
y un cliente, los cuales estn bajamente acoplados. El proveedor ofrece un
servicio de negocios que representa una implementacin en particular, la cual no
es visible directamente al solicitante o cliente. El Cliente aprende del Agente la
estructura de la informacin que tiene que enviar y recibir desde el proveedor y
que protocolo de comunicacin debe utilizar para accesar al servicio. El cliente no
tiene conocimiento de la forma en que el proveedor implementa el servicio.
JCA
Java Connector Architecture permite la comunicacin entre la lgica del negocio
de sistemas Empresariales de informacin (SEI) de una forma fuertemente
acoplada. El conector proporciona soporte para adaptacin de recursos, los cuales
son vigilados por el J2EE Security, transacciones, as como soporte de
optimizacin para la comunicacin para la correspondiente tecnologa SEI.
JMS
JMS es una interfaz de Mensajes Asncronos. Puede ser utilizado para accesar a
la lgica del negocio de forma distribuida entre sistemas heterogneos.
Eligiendo las Tecnologas de Interfaz
La forma en que ya se tienen implementada la lgica o capa de procesamiento de
datos en los sistemas empresariales afectar a las tecnologas que podremos
utilizar para las tecnologas de interfaz. Como primer paso es necesario analizar la
infraestructura existente.
Los elementos que componen nuestra arquitectura pueden ser muy diversos en
cuanto a:
- Hardware
o Distintas arquitecturas
- Software
o Diversos Sistemas de comunicacin
o Programas en diversos lenguajes
- Redes

o Distintas topologas (Tamaos LAN, MAN, WAN)


o Distintos protocolos
La decisin de que interfaces se utilizaran se basara en los elementos
encontrados dentro de la arquitectura existente. Algunas decisiones pueden
basarse en las siguientes recomendaciones.
Si se tiene Aplicaciones en Java o se planea comenzar desde cero: usar
tecnologas de interfaz JMS o JCA los cuales permitirn una comunicacin sencilla
entre las aplicaciones, abstraccin de arquitecturas y uso de protocolo de red
TCP/IP.
Si es necesario interactuar con otras compaas que tienen distintas
arquitecturas y software: es recomendable hacer uso de tecnologas como
servicios Web para permitir la comunicacin.
Si es necesario interaccin con diferentes lenguajes: hacer uso de JMS o
Web services.
Otro factor de decisin es el alcance de la red: Internet, Intranet o extranet. Este
mbito determina la flexibilidad en la seleccin del protocolo de transporte a
utilizar.
El uso de internet probablemente demande Servicios Web sobre HTTP de bajo
acoplamiento. JMS y JCA tienen ms sentido en protocolos de Intranet o Extranet,
JMS es preferentemente para modos asncronos y JCA es preferente para el
Fuerte acoplamiento.
Tecnologa CORBA.
En computacin, CORBA (Common Object Request Broker Architecture
arquitectura comn de intermediarios en peticiones a objetos), es un estndar que
establece una plataforma de desarrollo de sistemas distribuidos facilitando la
invocacin de mtodos remotos bajo un paradigma orientado a objetos.
CORBA fue definido y est controlado por el Object Management Group (OMG)
que define las APIs, el protocolo de comunicaciones y los mecanismos necesarios
para permitir la interoperabilidad entre diferentes aplicaciones escritas en
diferentes lenguajes y ejecutadas en diferentes plataformas, lo que es fundamental
en computacin distribuida.
En un sentido general CORBA "envuelve" el cdigo escrito en otro lenguaje en un
paquete que contiene informacin adicional sobre las capacidades del cdigo que
contiene, y sobre cmo llamar a sus mtodos. Los objetos que resultan pueden
entonces ser invocados desde otro programa (u objeto CORBA) desde la red. En
este sentido CORBA se puede considerar como un formato de documentacin
legible por la mquina, similar a un archivo de cabeceras pero con ms
informacin.
La Integracin del lado cliente.
Con frecuencia, una aplicacin necesita obtener acceso a los recursos del lado
cliente para que se puedan integrar en la solucin global. En ocasiones, entre los
recursos del lado cliente se incluye hardware (impresora, telfono, lector de cdigo
de barras, etc.) o software (integracin de otras aplicaciones de escritorio o de
unidad de negocio).

Tanto el enfoque de cliente ligero como el de cliente inteligente funcionan dentro


de un recinto. En el caso del cliente ligero, el explorador proporciona el recinto,
mientras que en el caso del cliente inteligente, lo proporciona el tiempo de
ejecucin de .NET Framework. La integracin de recursos del lado cliente en una
aplicacin de cliente ligero normalmente requiere que se utilice una arquitectura de
aplicacin hbrida para alojar un componente dentro de una pgina (por ejemplo,
un control ActiveX) para que se extienda fuera del recinto del explorador. Este
enfoque no resulta muy flexible y en ocasiones depende del usuario tomar las
decisiones de seguridad en cuanto a la descarga de componentes para que se
ejecuten en el cliente desde su cuenta de inicio de sesin.
El tiempo de ejecucin de .NET Framework emplea un enfoque ms flexible y
concede permisos de cdigo administrado basndose en las evidencias que
presenta y en la directiva de seguridad local. De forma predeterminada, el cdigo
descargado desde un servidor Web no puede interactuar con los recursos locales
excepto de formas muy limitadas y especficas. Sin embargo, la lgica de la
aplicacin puede conceder al cdigo permisos adicionales para obtener acceso a
recursos especficos como directorios concretos en el disco, otras aplicaciones,
bases de datos locales, etc.
Este enfoque administrado representa un mecanismo ms granular y flexible para
controlar los aspectos de seguridad de una aplicacin, lo que permite que el
cliente inteligente integre otros recursos del lado cliente sin introducir ningn
riesgo para la seguridad. Lo que es ms importante, el administrador de red
emplea directivas de seguridad para tomar las decisiones de seguridad, en lugar
de usuarios individuales, por lo que el cdigo de la aplicacin no puede realizar
acciones u obtener acceso a recursos para los que no se le haya concedido
permiso.
Las aplicaciones de cliente inteligente a menudo emplean seguridad de acceso al
cdigo para controlar el almacenamiento en la cach del cliente de los datos y la
lgica. Este comportamiento resulta esencial para proporcionar capacidades sin
conexin, por lo que este tipo de aplicaciones normalmente requieren cambios en
la directiva de seguridad para conceder permisos especficos. Generalmente, esto
implica conceder a la aplicacin permiso para almacenar en cach en el disco
local el cdigo y los datos. Si la solucin requiere acceso a los recursos del lado
cliente como el hardware local u otras aplicaciones instaladas localmente, el
enfoque de cliente inteligente constituye una solucin segura y flexible.
2.7 Servicios de la arquitectura (email, web, base de datos, aplicaciones,
transacciones, sistemas operativos, firewall).
Servicio de Correo Electrnico.
Correo electrnico, o en ingls e-mail (electronic mail), es un servicio de red que
permite a los usuarios enviar y recibir mensajes rpidamente (tambin
denominados mensajes electrnicos o cartas electrnicas) mediante sistemas
de comunicacin electrnicos. Principalmente se usa este nombre para denominar
al sistema que provee este servicio en Internet, mediante el protocolo SMTP,
aunque por extensin tambin puede verse aplicado a sistemas anlogos que
usan otras tecnologas. Por medio de mensajes de correo electrnico se puede

enviar, no solamente texto, sino todo tipo de documentos digitales. Su eficiencia,


conveniencia y bajo costo estn logrando que el correo electrnico desplace al
correo ordinario para muchos usos habituales.
Direccin de correo.
Una direccin de correo electrnico es un conjunto de palabras que identifican
a una persona que puede enviar y recibir correo. Cada direccin es nica y
pertenece siempre a la misma persona.
Un ejemplo es persona@servicio.com, que se lee persona arroba servicio punto
com. El signo @ (llamado arroba) siempre est en cada direccin de correo, y la
divide en dos partes: el nombre de usuario (a la izquierda de la arroba; en este
caso, persona), y el dominio en el que est (lo de la derecha de la arroba; en este
caso, servicio.com).
Servidores de correo electrnico.
stos son usados en el ordenador de servidor de correo para proporcionar el
servicio a los clientes, que podrn usarlo mediante un programa de correo.
- Principales programas servidores
o Microsoft Exchange Server: Windows
o MailEnable: Windows
o Exim: Unix
o Sendmail: Unix
o Qmail: Unix
o Postfix: Unix
o Zimbra: Unix, Windows
- Gestin de correo electrnico
o Duroty: alternativa libre a Gmail
Protocolos de correo electrnico.
Simple Mail Transfer Protocol (SMTP) o protocolo simple de transferencia de
correo. Protocolo de red basado en texto utilizado para el intercambio de mensajes
de correo electrnico entre computadoras u otros dispositivos (PDA's, telfonos
mviles, etc.). Es un estndar oficial de Internet.
En informtica se utiliza el Post Office Protocol (POP3) en clientes locales de
correo para obtener los mensajes de correo electrnico almacenados en un
servidor remoto. La mayora de los suscriptores de los proveedores de Internet
acceden a sus correos a travs de POP3.
IMAP (acrnimo ingls de Internet Message Access Protocol) es un protocolo de
red de acceso a mensajes electrnicos almacenados en un servidor. Mediante
IMAP se puede tener acceso al correo electrnico desde cualquier equipo que
tenga una conexin a Internet.
Servicio WEB.
World Wide Web (o la "Web") o Red Global Mundial es un sistema de
documentos de hipertexto y/o hipermedios enlazados y accesibles a travs de

Internet. Con un navegador Web, un usuario visualiza pginas web que pueden
contener texto, imgenes, vdeos u otros contenidos multimedia, y navega a travs
de ellas usando hiperenlaces.
La visualizacin de una pgina web de la World Wide Web normalmente comienza
tecleando la URL de la pgina en el navegador web, o siguiendo un enlace de
hipertexto a esa pgina o recurso. En ese momento el navegador comienza una
serie de comunicaciones, transparentes para el usuario, para obtener los datos de
la pgina y visualizarla.
El primer paso consiste en traducir la parte del nombre del servidor de la URL en
una direccin IP usando la base de datos distribuida de Internet conocida como
DNS. Esta direccin IP es necesaria para contactar con el servidor web y poder
enviarle paquetes de datos.
El siguiente paso es enviar una peticin HTTP al servidor Web solicitando el
recurso. En el caso de una pgina web tpica, primero se solicita el texto HTML y
luego es inmediatamente analizado por el navegador, el cual, despus, hace
peticiones adicionales para los grficos y otros ficheros que formen parte de la
pgina. Las estadsticas de popularidad de un sitio web normalmente estn
basadas en el nmero de 'pginas vistas' o las 'peticiones' de servidor asociadas,
o peticiones de fichero, que tienen lugar.
As que se han recibido los ficheros solicitados desde el servidor web, el
navegador renderiza la pgina tal y como se describe en el cdigo HTML, el CSS
y otros lenguajes web. Al final se incorporan las imgenes y otros recursos para
producir la pgina que ve el usuario en su pantalla.
La mayora de las pginas web contienen hiperenlaces a otras pginas
relacionadas y algunas tambin contienen descargas, documentos fuente,
definiciones y otros recursos web.
Esta coleccin de recursos tiles y relacionados, interconectados a travs de
enlaces de hipertexto, es lo que ha sido denominado como 'red' (web, en ingls)
de informacin. Al trasladar esta idea a Internet, se cre lo que Tim Berners-Lee
llam WorldWideWeb (un trmino escrito en CamelCase, posteriormente
desechado) en 1990.
Protocolos de servicio Web.
El protocolo HTTP define la sintaxis y la semntica que utilizan los elementos
software de la arquitectura web (clientes, servidores, proxies) para comunicarse.
Es un protocolo orientado a transacciones y sigue el esquema peticin-respuesta
entre un cliente y un servidor. Al cliente que efecta la peticin (un navegador o un
spider) se lo conoce como "user agent" (agente del usuario). A la informacin
transmitida se la llama recurso y se la identifica mediante un URL. Los recursos
pueden ser archivos, el resultado de la ejecucin de un programa, una consulta a
una base de datos, la traduccin automtica de un documento, etc.
URL significa Uniform Resource Locator, es decir, localizador uniforme de recurso.
Es una secuencia de caracteres, de acuerdo a un formato estndar, que se usa
para nombrar recursos, como documentos e imgenes en Internet, por su
localizacin.

Sintaxis Genrica URL.


Todos los URL, independientemente del esquema, deben seguir una sintaxis
general. Cada esquema puede determinar sus propios requisitos de sintaxis para
su parte especfica, pero el URL completo debe seguir la sintaxis general.
Usando un conjunto limitado de caracteres, compatible con el subconjunto
imprimible de ASCII, la sintaxis genrica permite a los URL representar la
direccin de un recurso, independientemente de la forma original de los
componentes de la direccin.
Los esquemas que usan protocolos tpicos basados en conexin usan una sintaxis
comn para "URL genricos", definida a continuacin:
esquema://autoridad/ruta?consulta#fragmento
La autoridad consiste usualmente en el nombre o Direccin IP de un servidor,
seguido a veces de dos puntos (":") y un nmero de Puerto TCP. Tambin puede
incluir un nombre de usuario y una clave, para autenticarse ante el servidor.
La ruta es la especificacin de una ubicacin en alguna estructura jerrquica,
usando una barra diagonal ("/") como delimitador entre componentes.
La consulta habitualmente indica parmetros de una consulta dinmica a alguna
base de datos o proceso residente en el servidor.
El fragmento identifica a una porcin de un recurso, habitualmente una ubicacin
en un documento.
Servidores Web:

CERN httpd
Servidor HTTP Apache (Libre, servidor ms usado del mundo)
Servidor HTTP Cherokee
IIS
Resin
Tomcat (Libre, del proyecto Jakarta de Apache)
Geronimo (Libre, orientado a J2EE, del proyecto Jakarta de Apache, en
desarrollo)
JBoss
JOnAS
Lighttpd

Servicio de Base de Datos.


Una base de datos o banco de datos es un conjunto de datos pertenecientes a un
mismo contexto y almacenados sistemticamente para su posterior uso. En este
sentido, una biblioteca puede considerarse una base de datos compuesta en su

mayora por documentos y textos impresos en papel e indexados para su consulta.


En la actualidad, y debido al desarrollo tecnolgico de campos como la informtica
y la electrnica, la mayora de las bases de datos estn en formato digital
(electrnico), que ofrece un amplio rango de soluciones al problema de almacenar
datos.
Existen unos programas denominados sistemas gestores de bases de datos,
abreviado SGBD, que permiten almacenar y posteriormente acceder a los datos
de forma rpida y estructurada. Las propiedades de estos SGBD, as como su
utilizacin y administracin, se estudian dentro del mbito de la informtica.
Productos SGBD disponibles en el mercado
SGBD libres
PostgreSQL - Licencia BSD
MySQL Licencia Dual, depende el uso.
Firebird basada en la versin 6 de InterBase, Initial Developer's PUBLIC
LICENSE Version 1.0.
SQLite (http://www.sqlite.org SQLite) Licencia Dominio Pblico
DB2 Express-C
Apache Derby
SGBD gratuitos
Microsoft SQL Server Compact Edition
Sybase ASE Express Edition para Linux (Edicin gratuita para Linux)
SGBD comerciales
Advantage Database
dBase
FileMaker
Fox Pro
IBM DB2 Universal Database (DB2 UDB)
IBM Informix
Microsoft Access
Microsoft SQL Server
Open Access
Oracle
Paradox
PervasiveSQL
Progress (DBMS)
Sybase ASE
WindowBase
Softland ERP

Servidor de Aplicaciones.
En informtica se denomina servidor de aplicaciones a un servidor en una red
de computadores que ejecuta ciertas aplicaciones.

Usualmente se trata de un dispositivo de software que proporciona servicios de


aplicacin a las computadoras cliente. Un servidor de aplicaciones generalmente
gestiona la mayor parte (o la totalidad) de las funciones de lgica de negocio y de
acceso a los datos de la aplicacin. Los principales beneficios de la aplicacin de
la tecnologa de servidores de aplicacin son la centralizacin y la disminucin de
la complejidad en el desarrollo de aplicaciones. Si bien el trmino es aplicable a
todas las plataformas de software, hoy en da el trmino servidor de aplicaciones
se ha convertido en sinnimo de la plataforma J2EE de Sun Microsystems.
El trmino servidor de aplicaciones tambin ha sido aplicado a otros productos noJ2EE. Por ejemplo, con el aumento de la popularidad de .NET, Microsoft califica a
su producto Internet Information Server como un servidor de aplicaciones.
Adicionalmente, se pueden encontrar servidores de aplicacin de cdigo abierto y
comercial de otros proveedores; algunos ejemplos son Base4 Server y Zope.
Servidor de transacciones
El servidor de transacciones es un programa que corre en un servidor de Internet
o de red y administra las solicitudes de transaccin de aplicaciones y solicitudes
en representacin del usuario de un ordenador cliente. El servidor de
transacciones verifica el ordenador del usuario y cliente para formular solicitudes a
bases de datos no muy conocidas y, si es necesario, enva las solicitudes a los
servidores de bases de datos. Tambin administra la seguridad, la conexin a
otros servidores y la integridad de las transacciones.
Productos:
Servidor de Transacciones Microsoft (Microsoft Transaction Server, MTS)

Sistemas operativos.
Un sistema operativo es un software de sistema, es decir, un conjunto de
programas de computadora destinado a permitir una administracin eficaz de sus
recursos. Comienza a trabajar cuando se enciende el computador, y gestiona el
hardware de la mquina desde los niveles ms bsicos, permitiendo tambin la
interaccin con el usuario.
Un sistema operativo se puede encontrar normalmente en la mayora de los
aparatos electrnicos que utilicen microprocesadores para funcionar, ya que
gracias a stos podemos entender la mquina y que sta cumpla con sus
funciones (telfonos mviles, reproductores de DVD, autoradios, computadoras,
radios, etc.).
Funciones bsica.
Los sistemas operativos, en su condicin de capa software que posibilitan y
simplifica el manejo de la computadora, desempean una serie de funciones
bsicas esenciales para la gestin del equipo. Entre las ms destacables, cada
una ejercida por un componente interno (mdulo en ncleos monolticos y servidor
en microncleos), podemos resear las siguientes:
- Proporcionar ms comodidad en el uso de un computador.

Gestionar de manera eficiente los recursos del equipo, ejecutando servicios


para los procesos (programas)
- Brindar una interfaz al usuario, ejecutando instrucciones (comandos).
- Permitir que los cambios debidos al desarrollo del propio SO se puedan
realizar sin interferir con los servicios que ya se prestaban (evolutividad).
Un sistema operativo desempea 5 funciones bsicas en la operacin de un
sistema informtico: suministro de interfaz al usuario, administracin de recursos,
administracin de archivos, administracin de tareas y servicio de soporte y
utilidades.
-

Uso actual de Sistemas Operativos


Servcio de Firewall.
Un cortafuegos (o firewall en ingls), es un elemento de hardware o software
utilizado en una red de computadoras para controlar las comunicaciones,
permitindolas o prohibindolas segn las polticas de red que haya definido la
organizacin responsable de la red. Su modo de funcionar es indicado por la
recomendacin RFC 2979, que define las caractersticas de comportamiento y
requerimientos de interoperabilidad. La ubicacin habitual de un cortafuegos es el
punto de conexin de la red interna de la organizacin con la red exterior, que
normalmente es Internet; de este modo se protege la red interna de intentos de
acceso no autorizados desde Internet, que puedan aprovechar vulnerabilidades de
los sistemas de la red interna.
Tambin es frecuente conectar al cortafuego una tercera red, llamada zona
desmilitarizada o DMZ, en la que se ubican los servidores de la organizacin que
deben permanecer accesibles desde la red exterior.
Un cortafuego correctamente configurado aade proteccin a una instalacin
informtica, pero en ningn caso debe considerarse como suficiente. La Seguridad
informtica abarca ms mbitos y ms niveles de trabajo y proteccin.

You might also like