arquitectura multicapa

Post on 20-Jun-2015

529 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ARQUITECTURA MULTICAPA

Idea

– Cada capa compone un subsistema en el que se ubican clases con responsabilidades propias

Objetivo -Fomentar la reutilización del Software gracias a la

encapsulación y la herencia

 

– Para ello resulta imprescindible no acoplar clases, creando una arquitectura del sistema apropiada

 

– Es interesante hacer abstracciones de las distintas funcionalidades o responsabilidades del sistema agrupándolas en capas.

 

Se obtendrán clases que serán independientes del resto, con lo que se podrán reutilizar fácilmente.

Características – Aislamiento de la lógica de la aplicación en

componentes separados reutilizables en otras aplicaciones.

– Distribución de capas en diferentes máquinas o procesos, lo que puede mejorar el rendimiento, aumentar la coordinación y la compartición de información entre cliente y servidor.

– Dedicación de recursos a cada una de las capas y posibilidad de desarrollarlas en paralelo.

Socket

Un socket es una representación abstracta del extremo (endpoint) en un proceso de comunicación. Es un punto de acceso (SAP) que una aplicación puede crear para acceder a los servicios de comunicación que ofrecen las pilas de protocolos.

Para crear un socket , se utiliza la función socket , que devuelve un identificador de socket. Se deben especificar tres parámetros:

  socket = socket(protocol_familiy, socket_type, protocol)

Entre sus características principales del Interfaz de Sockets destacamos:

Interfaz estándar. Portabilidad de aplicaciones, debido a que se trabaja con las mismas

primitivas con los mismos parámetros y los tipos y estructuras de datos son idénticos. (con algunas excepciones).

Diferentes pilas de protocolos. Define una librería de primitivas.

Elementos de la conexión a través de sockets

Utiliza la función connect para configurar un socket, y requiere como parámetros, el identificador de socket, que es el valor del descriptor del socket que devolvió la función socket.

Como segundo parámetro, utiliza la dirección del socket remoto, es decir la dirección IP del host remoto y el puerto de protocolo.

El tercer parámetro se refiere a la longitud de la dirección, el tamaño en bytes de la dirección del socket remoto.

result = connect(socket_handle, remote_socket_address, address_length);

La función de asignación de nombres, bind, en la API de sockets permite a un programa asociar una dirección local con un socket :

Result = bind(socket_handle, local_socket_address, address_lenght);

Clases que permiten realizar comunicación entre equipos.

Cuando se escriben programas Java que se comunican a través de la red, se está programando en la capa de aplicación.

Típicamente, no se necesita trabajar con las capas TCP y UDP , en su lugar se puede utilizar las clases del paquete java.net. Estas clases proporcionan comunicación de red independiente del sistema.

A través de las clases del paquete java.net, los programas Java pueden utilizar TCP o UDP para comunicarse a través de Internet.

Las clases URL, URLConnection, Socket, y SocketServer utilizan TCP para comunicarse a través de la Red. Las clases DatagramPacket y DatagramServer utilizan UDP.

java proporciona, entre otras, las siguientes clases , que son las que veremos con detalle:

 Socket : Implementa un extremo de la conexión TCP.

  ServerSocket : Se encarga de implementar el extremo Servidor de la

conexión en la que se esperarán las conexiones de los clientes.

  DatagramSocket : Implementa tanto el servidor como el cliente cuando se

utiliza UDP.

DatagramPacket : Implementa un datagram packet, que se utiliza para la creación de servicios de reparto de paquetes sin conexión.

  InetAddress : Se encarga de implementar la dirección IP.

top related