1. Conexiones (Sockets)
Un socket es un tipo de conducto que se utiliza para conectarse a una computadora, a su vez, conectada a una red basada en TCP/IP. El socket se configura de tal manera que los datos pueden ser bajados desde el cliente y devueltos al mismo. Los lenguajes de programación modernos, como Java, proporcionan servicios de alta calidad, por medio de los cuales un socket se puede conectar mediante “programación” a una computadora cuya dirección de Internet sea conocida, y donde los datos se pueden enviar por este conducto. La programación necesaria para esto, normalmente no es más complicada que la programación que se requiere para escribir y leer datos de un archivo. Los sockets son una implementación a bajo nivel de la conectividad.
Dentro de las aplicaciones típicas de un socket, están las aplicaciones de conferencia, donde una entrada a una conferencia se enviaría al servidor de conferencia que utiliza una configuración de sockets en el servidor.
Los sockets son mecanismos de bajo nivel, pero una forma muy eficiente de comunicar datos en un sistema distribuido que ejecuta el protocolo TCP/IP.
2. Objetos Distribuidos
Un objeto distribuido es aquel que reside en una computadora, normalmente un servidor, en un sistema distribuido. Otras computadoras del sistema pueden enviar mensajes a este objeto, como si residiera en su propia computadora. El software del sistema se hará cargo de varias funciones: localizar el objeto, recoger los datos que se requieren para el mensaje y enviarlos a través del medio de comunicación que se utiliza para el sistema. Los objetos distribuidos representan un nivel más alto de abstracción que las conexiones (sockets), a partir de algún código de inicialización, el programador no es consciente del hecho de que el objeto reside en otra computadora.
Las tecnologías de objetos distribuidos usualmente empleadas son:
· RMI. Esta es una tecnología asociada al lenguaje de programación Java. Es un enfoque Java puro en el que sólo los programas escritos en ese lenguaje se pueden comunicar con un objeto RMI distribuido. Es la tecnología ideal para sistemas cerrados de Java; estos sistemas generalmente tendrán pocas conexiones o ninguna con otros sistemas.
· DCOM. Esta es una tecnología desarrollada por la compañía Microsoft y permite que, programas escritos en lenguajes tales como Visual Basic y Visual J++ (variedad de Java desarrollada por Microsoft), se comuniquen con los objetos que están en computadoras remotas.
· CORBA. Es la tecnología de objetos distribuidos más sofisticada. La característica más importante del enfoque CORBA es que es multilenguaje, donde los programadores pueden utilizar diferentes lenguajes de programación para enviar mensajes a objetos CORBA.
La principal ventaja de los objetos distribuidos sobre los sockets es, el hecho de que como abarca enteramente el paradigma de orientación a objetos, se pueden emplear los mismos métodos de análisis y diseño que se utilizan para la tecnología de objetos convencional.
3. Espacios
Esta es una tecnología que se encuentra en un nivel de abstracción, incluso más alto que los objetos distribuidos.
La tecnología de espacios concibe un sistema distribuido sobre la base a un gran almacén de datos persistentes, donde las computadoras de un sistema distribuido pueden leer o escribir. No concibe el sistema distribuido como una serie de programas que pasan mensajes a los demás, utilizando un mecanismo como los sockets, o como una serie de objetos distribuidos que se comunican utilizando métodos. Por el contrario, la tecnología de espacios conlleva procesos como escribir, leer o copias datos a partir de un almacén persistente. Un programador que utiliza esta tecnología, no se preocupa por detalles como dónde están almacenados los datos, qué proceso va a recoger los datos y cuándo los va a recoger.
4. CGI
El término CGI (Common Gateway Interface) significa, interfaz común de pasarela. Es la interfaz con el servidor Web al cual se puede acceder, mediante los programas que se ejecutan en el servidor. Gran parte de la interactividad asociada a las páginas Web, se implementa programando el acceso a la CGI. Por ejemplo, cuando el usuario de un navegador accede a una página que contiene un formulario, éste lo rellena y lo envía al servidor Web, programa el acceso a la CGI, procesa el formulario, y lleva a cabo la funcionalidad asociada al formulario.
5. Contenido Ejecutable
Es el término que se aplica a la inclusión en una página Web de un programa que se ejecuta, cuando la página es recuperada por un navegador. Este programa puede llevar a cabo un número diverso de funciones, entre las que se incluyen, la animación y la presentación de un formulario al usuario para insertar datos. Existen varias tecnologías que proporcionan servicios para insertar contenido ejecutable en una página Web, entre ellas se incluyen: applets, ActiveX y Javascript.
6. Paquetes Cliente / Servidor
Este término describe las colecciones de software que normalmente llevan a cabo algún tipo de procesamiento de sistemas. A continuación, se muestran ejemplos típicos de paquetes de software:
· Paquetes de reproducción de datos (Replicación). Este tipo de software realiza una transacción en la base de datos y la aplica a un número de bases de datos reproducidas, evitando así acceder a estas bases de datos hasta que todas estén sincronizadas.
· Paquetes de seguridad. Estos son paquetes que monitorizan el tráfico dentro de un sistema distribuido y avisan al administrador de sistemas de la aparición de cualquier violación posible en la seguridad.
· Monitores de transacciones. Estos son paquetes de software que administran las transacciones que tienen lugar dentro de un sistema distribuido y aseguran que se devuelvan los datos correctos como resultado de una transacción y en el orden correcto. Muchas de las funciones de estos monitores tienen que ver con asegurar que los resultados correctos se devuelvan, incluso, en el entorno en donde podrían surgir errores de hardware o de transmisión.
Dirección-E:[email protected]