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.
   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.

Arquitectura multicapa

  • 2.
    Idea  – Cada capa compone un subsistema en el que se ubican clases con responsabilidades propias
  • 3.
    Objetivo -Fomentar lareutilizació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.
  • 4.
    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.
  • 6.
    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)
  • 7.
    Entre sus característicasprincipales 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.
  • 8.
    Elementos de laconexió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);
  • 9.
    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);
  • 10.
    Clases que permitenrealizar 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.
  • 11.
    java proporciona, entreotras, 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.