Anda di halaman 1dari 21

SECRETARIA DE EDUCACIÓN PÚBLICA

INSTITUTO TECNOLOGICO DE COMITANCILLO

MATERIA:
CONTABILIDAD ORIENTADA A LOS NEGOCIOS

DOCENTE:
GREGORIO ORTIZ SÁNCHEZ

ALUMNOS:
KAREN ISBETH ENRIQUES VÁSQUEZ

ESPECIALIDAD:
ING. GESTIÓN EMPRESARIAL.

2° SEMESTRE GRUPO: “u”

San Pedro Comitancillo, Oax


1.1.- La arquitectura del modelo cliente/servidor

La arquitectura cliente/servidor persigue el objetivo de procesar la información de


un modo distribuido. De esta forma, los usuarios finales pueden estar dispersos en
un área geográfica más o menos extensa (un edificio, una localidad, un país) y
acceder a un conjunto común de recursos compartidos. Además, el acceso debe
ser transparente (el cliente puede desconocer la ubicación física del recurso que
pretende utilizar) y, preferiblemente, multiplataforma, es decir, independiente del
sistema operativo, del software de aplicación e incluso del hardware. En definitiva,
cuando hablamos de la implantación de una arquitectura cliente/servidor, nos
referimos a un sistema de información distribuido.

una implantación cliente/servidor debe tener las siguientes características:

 Debe utilizar protocolos asimétricos, donde el servidor se limita a escuchar,


en espera de que un cliente inicie una solicitud.
 El servidor ofrecerá recursos, tanto lógicos como físicos a una cantidad
variable y diversa de clientes (por ejemplo, espacio de almacenamiento,
bases de datos, impresoras, etc.)
 El servidor ofrecerá también una serie de servicios, que serán usados por
los clientes. Estos servicios estarán encapsulados, para ocultar a los
clientes los detalles de su implementación (por ejemplo, aceptar el
requerimiento de un cliente sobre una base de datos o formatear los datos
obtenidos antes de transmitirlos al cliente).
 Se facilitará la integridad y el mantenimiento tanto de los datos como de los
programas debido a que se encuentran centralizados en el servidor o
servidores.
 Los sistemas estarán débilmente acoplados, ya que interactúan mediante el
envío de mensajes.
 Se facilitará la escalabilidad, de manera que sea fácil añadir nuevos clientes
a la infraestructura (escalabilidad horizontal) o aumentar la potencia del
servidor o servidores, aumentando su número o su capacidad de cálculo
(escalabilidad vertical).

1.2.- Modelo de 2 y 3 capas

Aplicación de dos capas.


Las capas que esta arquitectura presenta son las siguientes:
• nivel de aplicación
este nivel es en el que se encuentra toda la interfaz del sistema y es la que el
usuario puede disponer para realizar su actividad con el sistema.
• nivel de la base de datos.
este nivel de la base de datos también llamado el repositorio de datos, es la capa
en donde se almacena toda la información ingresada en el sistema y que se
deposita en forma permanente.
Existen herramientas para el desarrollo en dos capas por ejemplo visual basic,
access y sql.
se creó la arquitectura de tres capas las cuales son:
• Nivel de aplicación
la diferencia de este nivel aplicado ahora en una arquitectura de tres capas es que
solo tiene que trabajar con la semántica propia de aplicación, sin tener que
preocuparse de cómo esta implementado este ni de su estructura física.
• Nivel de dominio de la aplicación.
En cambio este nivel se encarga de toda la estructura física y el dominio de
aplicación.
algo muy importante y que es la mayor ventaja de esta arquitectura es que ahora
únicamente se cambia la regla en el servidor de aplicación y esta actuará en todos
los clientes, cosa que ni sucedía con la arquitectura en dos capas que si alguna
regla se la cambia, se tenía que ir a cada cliente a realizar el cambio.
• Nivel de repositorio.
Sigue siendo la capa en donde se almacenan los datos y toda la información.
Las herramientas para el desarrollo de tres capas son:
• visual basic en lo que se refiere a la capa de aplicación
• sql server en lo que se refiere al repositorio de datos.
• mts en lo que se refiere al nivel del dominio de aplicación

1.3.- Usos y aplicaciones cliente/servidor

Una aplicación cliente/servidor, es un programa que cuenta con un frontend que


establece una conexión directa a través de una red, con un servidor que aloja el
programa, servicio o desarrollo informático al cual deseamos acceder.

Una vez establecida la conexión, el mismo cliente (software que se ejecuta del
lado del usuario), despliega una interfaz de trabajo que permite al usuario realizar
la tarea de manera cómoda y eficiente. Directamente desde el terminal y en
tiempo real, envía toda la información suministrada por el usuario al servidor en
donde se ejecuta la acción y el mismo servidor regresa el resultado a la máquina
cliente, desde donde se ha ingresado los datos, mostrando por pantalla toda la
información que ha sido procesada.

Utilidades de una aplicación cliente/servidor

Entre las principales utilidades que le podemos asignar a las aplicaciones


cliente/servidor destacan las siguientes:

 Ligereza impresionante, ya que toda la carga y consumo de recursos se


hace directamente en el servidor.
 Facilidad de mantenimiento, ya que se hace mantenimiento general en el
código principal en el servidor.
 Posibilidad de realizar trabajos dinámicos y en grupo.
 Servicio de trabajo incluso en zonas remotas, gracias a Internet.
 Posibilidad de ser desarrolladas en diversos lenguajes de programación.
 Capacidad de trabajar, por lo general, en diferentes plataformas de manera
simultánea.
1.4 COMUNICACIÓN ENTRE PROGRAMAS
MODELO OSI:
El modelo de referencia OSI (Open System Interconnection) es la forma en que la
ISO (International Standards Organization) ve las etapas en que se desarrolla un
proceso de comunicaciones en redes de datos.
Este modelo lo que hace es definir el proceso de comunicaciones completamente,
dividirlo en funciones claramente demarcadas y ponerles nombre a esas
funciones.
El modelo tiene siete niveles o capas:
1. Física
2. Enlace de datos
3. Red
4. Transporte
5. Sesión
6. Presentación
7. Aplicación

Las dos únicas capas del modelo con las que interactúa el usuario son la primera
capa, la capa Física, y la última capa, la capa de Aplicación.
1. Física: La capa física abarca los aspectos físicos de la red (es decir, los cables,
hubs y el resto de dispositivos que conforman el entorno físico de la red).
Seguramente ya habrá interactuado más de una vez con la capa Física, por
ejemplo, al ajustar un cable mal conectado. Tecnologías y protocolos de red:
Cable coaxial, fibra óptica, par trenzado, microondas, radio, RS-232
2. Enlace de datos: Cuando los paquetes de datos llegan a la capa de enlace de
datos, estas pasan a ubicarse en tramas (unidades de datos). La capa de enlace
de datos se encarga de desplazar los datos por el enlace físico de comunicación
hasta el nodo receptor, e identifica cada computadora incluida en la red de
acuerdo con su dirección de hardware.
La información de encabezamiento se añade a cada trama que contenga las
direcciones de envío y recepción. La capa de enlace de datos también se asegura
de que las tramas enviadas por el enlace físico se reciben sin error alguno.
Tecnologías y protocolos de red: ATM, Ethernet, Frame Relay, HDLC, PPP, Token
Ring, Wi-Fi, STP

3. Red: La capa de red encamina los paquetes además de ocuparse de


entregarlos. La determinación de la ruta que deben seguir los datos se produce en
esta capa, lo mismo que el intercambio efectivo de los mismos dentro de dicha
ruta, La Capa 3 es donde las direcciones lógicas (como las direcciones IP de una
computadora de red) pasan a convertirse en direcciones físicas (las direcciones de
hardware de la NIC, la Tarjeta de Interfaz para Red, para esa computadora
especifica). Tecnologías y protocolos de red: AppleTalk, IP, IPX, NetBEUI, X.25
4. Transporte: La capa de transporte es la encargada de controlar el flujo de
datos entre los nodos que establecen una comunicación; los datos no solo deben
entregarse sin errores, sino además en la secuencia que proceda. La capa de
transporte se ocupa también de evaluar el tamaño de los paquetes con el fin de
que estos Tengan el tamaño requerido por las capas inferiores del conjunto de
protocolos. Tecnologías y protocolos de red: SCTP, SPX, TCP, UDP

5. Sesión: La capa de sesión es la encargada de establecer el enlace de


comunicación o sesión y también de finalizarla entre las computadoras emisora y
receptora. Esta capa también gestiona la sesión que se establece entre ambos
nodos.
La capa de sesión pasa a encargarse de ubicar puntas de control en la secuencia
de datos además proporciona cierta tolerancia a fallos dentro de la sesión de
comunicación. Tecnologías y protocolos de red: NetBIOS

6. Presentación: La capa de presentación puede considerarse el traductor del


modelo OSI. Esta capa toma los paquetes de la capa de aplicación y los convierte
a un formato genérico que pueden leer todas las computadoras.
También se encarga de cifrar los datos, así como de comprimirlos para reducir su
tamaño. Tecnologías y protocolos de red: ASN.1, MIME, SSL/TLS, XML
7. Aplicación: Proporciona la interfaz y servicios q soportan las aplicaciones de
usuario. También se encarga de ofrecer acceso general a la red. También ofrece
los servicios de red relacionados con estas aplicaciones, como la gestión de
mensajes, la transferencia de archivos y las consultas a base de datos.
Tecnologías y protocolos de red: DNS, FTP, HTTP, IMAP, IRC, NFS, NNTP,
NTP, POP3, SMB/CIFS, SMTP, SNMP, SSH, Telnet, SIP.

MODELO TCP/IP:
TCP/IP es un conjunto de protocolos que permiten la comunicación entre los
ordenadores pertenecientes a una red. La sigla TCP/IP significa Protocolo de
control de transmisión/Protocolo de Internet y se pronuncia "T-C-P-I-P". Proviene
de los nombres de dos protocolos importantes incluidos en el conjunto TCP/IP, es
decir, del protocolo TCP y del protocolo IP.
Debido a que el conjunto de protocolos TCP/IP originalmente se creó con fines
militares, está diseñado para cumplir con una cierta cantidad de criterios, entre
ellos, dividir mensajes en paquetes, usar un sistema de direcciones, enrutar datos
por la red y detectar errores en las transmisiones de datos.
El modelo TCP/IP, influenciado por el modelo OSI, también utiliza el enfoque
modular (utiliza módulos o capas), pero sólo contiene cuatro: acceso a la red,
Internet, transporte y aplicación.
ACCESO A LA RED: La capa de acceso a la red es la primera capa de la pila
TCP/IP. Ofrece la capacidad de acceder a cualquier red física, es decir, brinda los
recursos que se deben implementar para transmitir datos a través de la red. Por lo
tanto, la capa de acceso a la red contiene especificaciones relacionadas con la
transmisión de datos por una red física, cuando es una red de área local (Red en
anillo, Ethernet, FDDI), conectada mediante línea telefónica u otro tipo de
conexión a una red.
INTERNET: La capa de Internet es la capa "más importante", ya que es la que
define los datagramas y administra las nociones de direcciones IP. Permite el
enrutamiento de datagramas (paquetes de datos) a equipos remotos junto con la
administración de su división y ensamblaje cuando se reciben.

TRANSPORTE: La capa de transporte contiene dos protocolos que permiten que


dos aplicaciones puedan intercambiar datos independientemente del tipo de red
(es decir, independientemente de las capas inferiores).

APLICACIÓN: Se encuentra en la parte superior de las capas del protocolo


TCP/IP. Contiene las aplicaciones de red que permiten la comunicación mediante
las capas inferiores. Por lo tanto, el software en esta capa se comunica mediante
uno o dos protocolos de la capa inferior (la capa de transporte), es decir, TCP o
UDP.

Existen diferentes tipos de aplicaciones para esta capa, pero la mayoría son
servicios de red o aplicaciones brindadas al usuario para proporcionar la interfaz
con el sistema operativo.

TECNICAS DE TRANSMISION
BANDA BASE (BASEBAND)
La transmisión en banda base, consiste en entregar al medio de transmisión la
señal de datos directamente sin que intervenga ningún proceso entre la
generación de la señal y su entrega a la línea, como pudiera ser cualquier tipo de
modulación.
Sin embargo, si pretendiendo optimizar la utilización del ancho de banda
disponible del medio de transmisión en cuestión, se divide dicho ancho de banda
en canales de anchura adecuada y usando técnicas de modulación, se inserta en
cada uno de ellos una señal distinta, diremos que se está utilizando transmisión de
banda ancha.
BANDA ANCHA (BROABAND)
La diferencia fundamental entre la transmisión de banda base y transmisión en
banda ancha estriba en la forma en la cual se genera la señal a transmitir mientras
que en el transmisor en banda base la señal se genera por el dispositivo terminal
se transmite de manera directa, mediante pulsos eléctricos o en general.
Electromagnéticos, en el transmisor de banda ancha se precisa de un dispositivo
denominado MODEM (modulador-de modulador) para general la señal a
transmitir.
Ejemplo de transmisión en banda base son la conexión entre un ordenador y una
impresora, mientras que un ejemplo de característico de la transmisión en banda
ancha lo constipen las señales de televisión.

MODOS DE TRANSMISIÓN
Una transmisión de datos tiene que ser controlada por medio del tiempo, para que
el equipo receptor conozca en qué momento se puede esperar que una
transferencia tenga lugar. Hay dos principios de transmisión para hacer esto
posible:
SÍNCRONA
La transmisión síncrona se hace con un ritmo que se genera centralizadamente en
la red y es el mismo para el emisor como para el receptor. La información útil es
transmitida entre dos grupos, denominados genéricamente delimitadores.

Algunas de las características de la transmisión síncrona son:

 Los bloques a ser transmitidos tienen un tamaño que oscila entre 128 y
1,024 bytes.
 La señal de sincronismo en el extremo fuente, puede ser generada por el
equipo terminal de datos o por el módem.
 El rendimiento de la transmisión síncrona, cuando se transmiten bloques de
1,024 bytes y se usan no más de 10 bytes de cabecera y terminación,
supera el 99 por 100.
Ventajas y desventajas de la transmisión síncrona:

 Posee un alto rendimiento en la transmisión.


 Los equipamientos necesarios son de tecnología más completa y de costos
más altos.
 Son especialmente aptos para ser usados en transmisiones de altas
velocidades (iguales o mayores a 1,200 baudios de velocidad de
modulación).
 El flujo de datos es más regular.

ASÍNCRONA

En la transmisión asíncrona es el emisor el que decide cuando se envía el


mensaje de datos a través de la red. En una red asíncrona el receptor por lo
consiguiente no sabe exactamente cuándo recibirá un mensaje. Por lo tanto, cada
mensaje debe contener, aparte del mensaje en sí, una información sobre cuando
empieza el mensaje y cuando termina, de manera que el receptor conocerá lo que
tiene que decodificar.
En el procedimiento asíncrono, cada carácter a ser transmitido es delimitado por
un bit denominado de cabecera o de arranque, y uno o dos bits denominados de
terminación o de parada.

El bit de arranque tiene dos funciones de sincronización de los relojes del


transmisor y del receptor.

El bit o bits de parada, se usan para separar un carácter del siguiente.

Algunas de las características de la transmisión asíncrona son:

 Los equipos terminales que funcionan en modo asíncrono, se denominan


también “terminales en modo carácter”.
 La transmisión asíncrona también se le denomina arrítmica o de “start-
stop”.
 La transmisión asíncrona es usada en velocidades de modulación de hasta
1,200 baudios.
 El rendimiento de usar un bit de arranque y dos de parada, en una señal
que use código de 7 bits más uno de paridad (8 bits sobre 11 transmitidos)
es del 72 por 100.

Ventajas y desventajas del modo asíncrono:

 En caso de errores se pierde siempre una cantidad pequeña de caracteres,


pues éstos se sincronizan y se transmiten de uno en uno.
 Bajo rendimiento de transmisión, dada la proporción de bits útiles y de bits
de sincronismo, que hay que transmitir por cada carácter.
 Es un procedimiento que permite el uso de equipamiento más económico y
de tecnología menos sofisticada.
 Se adecua más fácilmente en aplicaciones, donde el flujo transmitido es
más irregular.
 Son especialmente aptos, cuando no se necesitan lograr altas velocidades.

MEDIOS DE TRANSMISION
Se entiende por medio de transmisión todo aquel material físico cuyas
propiedades de tipo eléctrico, mecánico, óptico, o de cualquier otro tipo se emplea
para facilitar el transporte de información entre distintas geográficamente.
ALÁMBRICA
Los medios de transmisión alámbricos son alambres o fibras que conducen luz o
electricidad.
LÍNEAS DE PAR TRENZADO. - Consiste en dos cables de cobre aislados y
trenzados para reducir la interferencia eléctrica externa y de pares adyacentes.
(Blindados y no Blindados).

CABLE COAXIAL. - Cable formado por un conductor central rodeado por un


material aislante y forrado por un conductor externo concéntrico.

FIBRA ÓPTICA. - Está formada por un núcleo central de vidrio rodeado por varias
capas de protección.

INALÁMBRICA
Los medios inalámbricos transmiten y reciben señales electromagnéticas sin un
conductor óptico o eléctrico, técnicamente, la atmósfera de la tierra provee el
camino físico de datos para la mayoría de las transmisiones inalámbricas, sin
embargo, varias formas de ondas electromagnéticas se usan para transportar
señales, las ondas electromagnéticas son comúnmente referidas como medio.
Radio – Frecuencias: La opción de aspectos electromagnéticos los cuales son
usualmente considerados como radio frecuencia (RF) reside entre los 10 Khz
hasta 1 Ghz.
Las ondas de radio-frecuencia, pueden ser transmitidas direccionalmente, como lo
hacen las antenas típicas o emisiones direccionales.
Micro-Ondas: Típicamente usan antenas parabólicas direccionales que requieren
de un camino no obstruido o una línea directa a otras unidades.
Wifi: que permite conectar a Internet equipos electrónicos, como computadoras,
tablets, smartphones o celulares, etc., mediante el uso de radiofrecuencias o
infrarrojos para la trasmisión de la información.

Un método de caracterizar líneas, dispositivos terminales, computadoras y


módems es por su modo de transmisión o de comunicación. Las tres clases de
modos de transmisión son simplex, half-duplex y full-dúplex.
La transmisión simplex (sx) o unidireccional es aquella que ocurre en una
dirección solamente, deshabilitando al receptor de responder al transmisor.
Normalmente la transmisión simplex no se utiliza donde se requiere interacción
humano-máquina. Ejemplos de transmisión simplex son: La radiodifusión
(broadcast) de TV y radio, el paging unidireccional, etc.
La transmisión half-duplex (hdx) permite transmitir en ambas direcciones; sin
embargo, la transmisión puede ocurrir solamente en una dirección a la vez. Tanto
transmisor y receptor comparten una sola frecuencia. Un ejemplo típico de half-
duplex es el radio de banda civil (CB) donde el operador puede transmitir o recibir,
pero puede realizar ambas funciones simultáneamente por el mismo canal.
Cuando el operador ha completado la transmisión, la otra parte debe ser avisada
que puede empezar a transmitir (e.g. diciendo "cambio").
La transmisión full-duplex (fdx) permite transmitir en ambas direcciones, pero
simultáneamente por el mismo canal. Existen dos frecuencias una para transmitir y
otra para recibir. Ejemplos de este tipo abundan en el terreno de las
telecomunicaciones, el caso más típico es la telefonía, donde el transmisor y el
receptor se comunican simultáneamente utilizando el mismo canal, pero usando
dos frecuencias.
PROTOCOLOS DE TRANSMISIÓN

Dentro de las redes informáticas se conoce bajo el nombre de protocolo al


lenguaje, que es un conjunto de reglas formales, que permiten la comunicación de
distintas computadoras entre sí.

Dentro de las distintas redes, como Internet, existen numerosos tipos de


protocolos, entre ellos:

TPC/IP: este es definido como el conjunto de protocolos básicos para la


comunicación de redes y es por medio de él que se logra la transmisión de
información entre computadoras pertenecientes a una red. Gracias al protocolo
TCP/IP los distintos ordenadores de una red se logran comunicar con otros
diferentes y así enlazar a las redes físicamente independientes en la red virtual
conocida bajo el nombre de Internet. Este protocolo es el que provee la base para
los servicios más utilizados como por ejemplo transferencia de ficheros, correo
electrónico y login remoto.

TCP (Transmisión Control Protocol): este es un protocolo orientado a las


comunicaciones y ofrece una transmisión de datos confiable. El TCP es el
encargado del ensamble de datos provenientes de las capas superiores hacia
paquetes estándares, asegurándose que la transferencia de datos se realice
correctamente.

HTTP (Hypertext Transfer Protocol): este protocolo permite la recuperación de


información y realizar búsquedas indexadas que permiten saltos intertextuales de
manera eficiente. Por otro lado, permiten la transferencia de textos de los más
variados formatos, no sólo HTML. El protocolo HTTP fue desarrollado para
resolver los problemas surgidos del sistema hipermedial distribuidos en diversos
puntos de la red.

FTP (File Transfer Protocol): este es utilizado a la hora de realizar transferencias


remotas de archivos. Lo que permite es enviar archivos digitales de un lugar local
a otro que sea remoto o al revés. Generalmente, el lugar local es la PC mientras
que el remoto el servidor.
SSH (Secure Shell): este fue desarrollado con el fin de mejorar la seguridad en
las comunicaciones de internet. Para lograr esto el SSH elimina el envío de
aquellas contraseñas que no son cifradas y codificando toda la información
transferida.

UDP (User Datagram Protocol): el protocolo de datagrama de usuario está


destinado a aquellas comunicaciones que se realizan sin conexión y que no
cuentan con mecanismos para transmitir datagramas. Esto se contrapone con el
TCP que está destinado a comunicaciones con conexión. Este protocolo puede
resultar poco confiable excepto si las aplicaciones utilizadas cuentan con
verificación de confiabilidad.

SNMP (Simple Network Management Protocol): este usa el Protocolo de


Datagrama del Usuario (PDU) como mecanismo para el transporte. Por otro lado,
utiliza distintos términos de TCP/IP como agentes y administradores en lugar de
servidores y clientes. El administrador se comunica por medio de la red, mientras
que el agente aporta la información sobre un determinado dispositivo.

TFTP (Trivial File Transfer Protocol): este protocolo de transferencia se


caracteriza por sencillez y falta de complicaciones. No cuenta con seguridad
alguna y también utiliza el Protocolo de Datagrama del Usuario como mecanismo
de transporte.

SMTP (Simple Mail Transfer Protocol): este protocolo está compuesto por una
serie de reglas que rige la transferencia y el formato de datos en los envíos de
correos electrónicos. SMTP suele ser muy utilizado por clientes locales de correo
que necesiten recibir mensajes de e-mail almacenados en un servidor cuya
ubicación sea remota.

ARP (Address Resolution Protocol): por medio de este protocolo se logran


aquellas tareas que buscan asociar a un dispositivo IP, el cual está identificado
con una dirección IP, con un dispositivo de red, que cuenta con una dirección de
red física. ARP es muy usado para los dispositivos de redes locales Ethernet. Por
otro lado, existe el protocolo RARP y este cumple la función opuesta a la recién
mencionada.

RPC
El RPC (del inglés Remote Procedure Call, Llamada a Procedimiento Remoto) es
un protocolo que permite a un programa de ordenador ejecutar código en otra
máquina remota sin tener que preocuparse por las comunicaciones entre ambos.
El protocolo es un gran avance sobre los sockets usados hasta el momento. De
esta manera el programador no tenía que estar pendiente de las comunicaciones,
estando éstas encapsuladas dentro de las RPC.
RPC es la transferencia sincrónica de datos y control entre dos partes de un
programa distribuido a través de espacios de direcciones disjuntas. “La manera en
que RPC logra hacer esto, es por medio de lo que se conoce como STUB. En el
caso del STUBservidor, se conoce como SKELETON. Estos Stubs y Skeletons
permiten que al momento de ser invocada la función remota esta pueda ser quot;
simulada localmente quot .
Objetivos de RPC
 Proporcionar un middleware 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
 Se busca ofrecer un entorno de programación lo más similar posible a un
entorno no distribuido.
El sistema RPC oculta los detalles de implementación de esas llamadas remotas
Implementa la llamada remota mediante un dialogo petición respuesta.
Mensaje de petición: identifica procedimiento llamado, contiene parámetros de la
llamada.
Mensaje de respuesta: contiene valor/es devuelto/s se encarga de enviar/recibir
mensajes para comunicar ambas partes se encarga de gestionar los contenidos
de esos mensajes (empaquetado y formateado de datos)

1.5 Modelo de computación distribuida.


La computación distribuida, es un nuevo modelo para resolver problemas de
computación masiva utilizando un gran número de computadoras conectadas
entre sí mediante una red.
Dividir el trabajo entre varios computadoras, logrando de esta forma mejorar los
tiempos de respuesta de procesamiento.
La computación distribuida o informática en malla (grid) es un modelo para
resolver problemas de computación masiva utilizando un gran número de
ordenadores organizados en clústeres incrustados en una infraestructura de
telecomunicaciones distribuida
1.5.1 RMI [Método de Invocación Remota].
RMI (Java Remote Method Invocation) es un mecanismo ofrecido por Java para
invocar un método de manera remota. Forma parte del entorno estándar de
ejecución de Java y proporciona un mecanismo simple para la comunicación de
servidores en aplicaciones distribuidas basadas exclusivamente en Java. Si se
requiere comunicación entre otras tecnologías debe utilizarse CORBA o SOAP en
lugar de RMI.
RMI se caracteriza por la facilidad de su uso en la programación por estar
específicamente diseñado para Java; proporciona paso de objetos por referencia
(no permitido por SOAP), recolección de basura distribuida (Garbage Collector
distribuido) y paso de tipos arbitrarios (funcionalidad no provista por CORBA).
A través de RMI, un programa Java puede exportar un objeto, con lo que dicho
objeto estará accesible a través de la red y el programa permanece a la espera de
peticiones en un puerto TCP. A partir de ese momento, un cliente puede
conectarse e invocar los métodos proporcionados por el objeto.
La invocación se compone de los siguientes pasos:

 Encapsulado (marshalling) de los parámetros (utilizando la funcionalidad


de serialización de Java).
 Invocación del método (del cliente sobre el servidor). El invocador se queda
esperando una respuesta.
 Al terminar la ejecución, el servidor serializa el valor de retorno (si lo hay) y lo
envía al cliente.
 El código cliente recibe la respuesta y continúa como si la invocación hubiera
sido local.

Arquitectura

La arquitectura RMI puede verse como un modelo de cuatro capas.


Primera capa
La primera capa es la de aplicación y se corresponde con la implementación real
de las aplicaciones cliente y servidor. Aquí tienen lugar las llamadas a alto nivel
para acceder y exportar objetos remotos. Cualquier aplicación que quiera que sus
métodos estén disponibles para su acceso por clientes remotos debe declarar
dichos métodos en una interfaz que extienda java.rmi.Remote. Dicha interfaz se
usa básicamente para "marcar" un objeto como remotamente accesible. Una vez
que los métodos han sido implementados, el objeto debe ser exportado. Esto
puede hacerse de forma implícita si el objeto extiende la clase
UnicastRemoteObject (paquete java.rmi.server), o puede hacerse de forma
explícita con una llamada al método exportObject() del mismo paquete.
Segunda capa
La capa 2 es la capa proxy, o capa stub-skeleton. Esta capa es la que interactúa
directamente con la capa de aplicación. Todas las llamadas a objetos remotos y
acciones junto con sus parámetros y retorno de objetos tienen lugar en esta capa.
Tercera capa
La capa 3 es la de referencia remota, y es responsable del manejo de la parte
semántica de las invocaciones remotas. También es responsable de la gestión de
la replicación de objetos y realización de tareas específicas de la implementación
con los objetos remotos, como el establecimiento de las persistencias semánticas
y estrategias adecuadas para la recuperación de conexiones perdidas. En esta
capa se espera una conexión de tipo stream (stream-oriented connection) desde la
capa de transporte.
Cuarta Capa
La capa 4 es la de transporte. Es la responsable de realizar las conexiones
necesarias y manejo del transporte de los datos de una máquina a otra. El
protocolo de transporte subyacente para RMI es JRMP (Java Remote Method
Protocol), que solamente es "comprendido" por programas Java.
Elementos

Toda aplicación RMI normalmente se descompone en 2 partes:

 Un servidor, que crea algunos objetos remotos, crea referencias para hacerlos
accesibles, y espera a que el cliente los invoque.
 Un cliente, que obtiene una referencia a objetos remotos en el servidor, y los
invoca.

Ventajas.
Las principales ventajas de Java RMI son:
 Proporciona el paso de objetos por referencia Recolección de basura
distribuida (Distributed Garbage Collector)
 Proporciona el paso de tipos arbitrarios Incluye mecanismos de seguridad a
través del “security manager”
 Pueden ejecutarse sobre cualquier máquina virtual Java
Desvetajas.
Las principales desventajas de RMI son:
 Java RMI depende totalmente del núcleo de Serialización de Objetos de
Java, por lo cual no es compatible la comunicación con otras tecnologías
 Las aplicaciones dependen de la máquina virtual Java para ser ejecutadas.

https://www.itescam.edu.mx/portal/asignatura.php?clave_asig=IFF-
1019&carrera=IINF-2010-220&id_d=16
1.5.2. - COM/DCOM (Component Object Model/ Distributed COM)

El Component Object Model es una arquitectura de componentes de software que


permite que las aplicaciones y sistemas se construyan a partir de componentes
producidos por distintos proveedores de software.
Servidores COM
Los objetos “servidores” son aquellas instancias de las clases que contienen los
métodos que resuelven el problema del que se ocupa el sistema.
Cliente COM
Los objetos “clientes” son aquellas instancias de las clases que contengan la
interfaz del sistema con el usuario, que implementan los textos de ayuda del
sistema, los cuadros de dialogo para introducir información al sistema o bien para
mostrar resultados.

COM está diseñado para permitir que los clientes se comuniquen con otros
objetos en forma transparente independientemente del lugar donde se están
ejecutando, ya sea en el mismo proceso, la misma computadora o una
computadora diferente.
COM provee acceso transparente a los servidores locales y remotos a través de
objetos proxy y stub.
Tipos de componentes COM
• In-Proces, se cargan en el mismo espacio de procesos que la aplicación cliente.
• Locales, se ejecutan en un proceso separado en el mismo computador.
• Remotos, se ejecutan en otro computador.

DCOM (Distributed COM)


DCOM es la extensión del Component Object Model a los ambientes distribuidos,
que define los mecanismos de conexión y el protocolo de red necesario para hacer
llamadas a procedimientos remotos orientadas a objetos, a nivel de aplicación,
que lo vuelven útil para sistemas distribuidos de todo tipo basados en
componentes.
En DCOM, la interacción entre objetos cliente y objetos servidor se realiza
mediante un mecanismo de comunicación RPC
COM/DCOM
Los servidores COM/DCOM se crean como ATL Object, que producen
archivos.DLL o .EXE, según el tipo de servidor que se requiera, mientras que los
clientes se crean como proyectos normales de aplicaciones Windows, y que hacen
referencia a las clases contenidas en la parte servidor mediante los punteros de
interfaz a objetos COM/DCOM.

Distributed Component Object Model (DCOM), en español Modelo de Objetos de


Componentes Distribuidos, es una tecnología 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 comunicación entre la infraestructura del servidor de aplicaciones
COM+ de Microsoft.

1.5.3 Servicios WEB


Un servicio web (en inglés, Web Service o Web services) es una tecnología que
utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos
entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes
de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden
utilizar los servicios web para intercambiar datos en redes de ordenadores como
Internet. La interoperabilidad se consigue mediante la adopción de estándares
abiertos. Las organizaciones OASIS y W3C son los comités responsables de la
arquitectura y reglamentación de los servicios Web. Para mejorar la
interoperabilidad entre distintas implementaciones de servicios Web se ha creado
el organismo WS-I, encargado de desarrollar diversos perfiles para definir de
manera más exhaustiva estos estándares. Es una máquina que atiende las
peticiones de los clientes web y les envía los recursos solicitados.
El término "servicios web" designa una tecnología que permite que las
aplicaciones se comuniquen en una forma que no depende de la plataforma ni del
lenguaje de programación. Un servicio web es una interfaz de software que
describe un conjunto de operaciones a las cuales se puede acceder por la red a
través de mensajería XML estandarizada. Usa protocolos basados en el lenguaje
XML con el objetivo de describir una operación para ejecutar o datos para
intercambiar con otro servicio web. Un grupo de servicios web que interactúa de
esa forma define la aplicación de un servicio web específico en una arquitectura
orientada a servicios (SOA).

Beneficios de los servicios Web

1. Promueven la interoperabilidad: La interacción entre un proveedor y un


solicitante de servicio está diseñada para que sea completamente independiente
de la plataforma y el lenguaje. Esta interacción requiere un documento WSDL para
definir la interfaz y describir el servicio, junto con un protocolo de red
(generalmente HTTP).

2. Permiten la integración “justo-a-tiempo”: El proceso de descubrimiento se


ejecuta dinámicamente, a medida que los solicitantes de servicio utilizan a los
agentes para encontrar proveedores de servicio. Una vez el solicitante y el
proveedor de servicio se han ubicado, se utiliza el documento WSDL del
proveedor para enlazar al solicitante con el servicio. Esto significa que los
solicitantes, los proveedores y los agentes actúan en conjunto para crear sistemas
que son auto-configurables, adaptativos y robustos.

3. Reducen la complejidad por medio del encapsulamiento: Los solicitantes y los


proveedores del servicio se preocupan por las interfaces necesarias para
interactuar. Como resultado, un solicitante de servicio no sabe cómo fue
implementado el servicio por parte del proveedor, y éste a su vez, no sabe cómo
utiliza el cliente el servicio. Estos detalles se encapsulan en los solicitantes y
proveedores. El encapsulamiento es crucial para reducir la complejidad.

4. Dan una “nueva vida” a las aplicaciones de legado: Es relativamente correcto


tomar una aplicación, generar un wrapper SOAP, luego generar un documento
WSDL para moldear la aplicación como un servicio web.

5. Abren la puerta a nuevas oportunidades de negocio: Los servicios web facilitan


la interacción con socios de negocios, al poder compartir servicios internos con un
alto grado de integración.

6. Disminuyen el tiempo de desarrollo de las aplicaciones: Pues gracias a la


filosofía de orientación a objetos utilizada, el desarrollo se convierte más bien en
una labor de composición.

1.5.4.- CORBA

CORBA es una tecnología que oculta la programación a bajo nivel de aplicaciones


distribuidas, de tal forma que el programador no se tiene que ocupar de tratar con
sockets, flujos de datos, paquetes, sesiones etc. CORBA oculta todos estos
detalles de bajo nivel. No obstante CORBA también brinda al programador una
tecnología orientada objetos, las funciones y los datos se agrupan en objetos,
estos objetos pueden estar en diferentes máquinas, pero el programador accederá
a ellos a través de funciones normales dentro de su programa.

Ventajas (con respecto a otras tecnologías similares)


 Software COTS (Commercial Off The Shelf)
 Estandarizado, múltiples implementaciones (no se depende de un
fabricante)
 Las especificaciones se adoptan por consenso
 Buena infraestructura para construir aplicaciones distribuidas
 Permite integrar aplicaciones heterogéneas

Desventajas
 No es la tecnología más sencilla de utilizar ...
 Las especificaciones tardan en desarrollarse, y en consecuencia las
implementaciones tardan en salir al mercado

CORBA: Common Object Request Broker Architecture (CORBA) es un estándar


definido por Object Management Group (OMG) que permite invocar métodos de
objetos remotos sin importar el lenguaje en el cual estén construidos y que corren
en diferentes computadoras, puedan trabajar juntos; es decir, facilita el desarrollo
de aplicaciones distribuidas en entornos heterogéneos.
Características:
 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.
 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.
 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 dónde ejecuta el
servicio y el servicio no necesita saber dónde 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.

Ventajas
 Es un sistema heterogéneo, los elementos interconectados HW y SW de
diferentes fabricantes pueden integrarse.
 El cliente puede extender la funcionalidad del servidor
 Es de fácil instalación para el usuario.
 No se requiere instalación de servidor.

Desventajas
 Puede presentar problemas de saturación, embotellamiento interrupción o
perdidas de mensajes en la red.
 Bajo seguridad, es posible acceso a todo el sistema por parte de los
usuarios.
 Las especificaciones tardan en desarrollarse, y en consecuencia las
implementaciones tardan en salir al mercado

Anda mungkin juga menyukai