Está en la página 1de 13

Desarrollo de Servicios Web II

Unidad 1: El Modelo de la Computación Distribuida


Tema 4: Archivos, Flujos y Serialización de Objetos
Tema 4: Archivos, flujos y serialización de objetos

2
Índice
1.4. Tema 4: Archivos, flujos y serialización de objetos
1.4.1. Introducción
1.4.2. Archivos y flujos
1.4.3. Uso de clases e interfaces NIO
1.4.4. Serialización de objetos
1.4.5. Manejo de archivos complejos en Java: JAXB (Java XML Binding) y JSON (Javascript Object Notation

3
Capacidades
• Identifica los principios de aplicaciones distribuidas.
• Diseña e implementa aplicaciones remotas usando sockets.
• Diseña e implementa aplicaciones que permitan la gestión de un sistema de archivos en cualquier plataforma.
• Implementa aplicaciones que soporten el manejo de middleware de mensajería para optimizar la arquitectura y
desempeño.

4
1.4.1. Introducción

En el tema de redes, se utilizaron conceptos de Input/Output y también de Streams (flujos).

5
1.4.2. Archivos y Flujos
Un programa de Java que procesa un flujo de bytes simplemente recibe una indicación del sistema operativo cuando el
programa llega al fin del flujo; el programa no necesita saber cómo representa la plataforma subyacente a los archivos o flujos.

6
1.4.3. Uso de clases e interfaces NIO

Las interfaces Path y DirectoryStream, junto con las clases Paths y Files (todas del paquete java.nio.file) son útiles para
recuperar información sobre los archivos y directorios en el disco.

7
1.4.4. Serialización de objetos

Un objeto serializado es un objeto que se representa como una secuencia de bytes, la cual incluye los datos del objeto, así
como información acerca del tipo del objeto y los tipos de los datos almacenados en el mismo.

8
1.4.5.Manejo de archivos complejos en Java: JAXB (Java
XML Binding) y JSON (Javascript Object Notation)
En el desarrollo de aplicaciones distribuidas y servicios Web, es más frecuente encontrarse con formatos más complejos; si
bien todo puede realizarse a través de flujos base, existen herramientas que facilitan la manipulación como: XML y JSON.

9
Ejercicios

• Realizar el ejercicio de manejo de archivos y flujos.

JAXB y GSON
Java NIO

10
Conclusiones
• El paquete java.io proporciona un conjunto de clases para manejar inputs y outputs dentro de nuestras aplicaciones.
• Las clases FileInputStream y FileOutputStream definen flujos de entrada y salida de bytes que están conectados a archivos.
• Los archivos de texto plano pueden definirse a libertad para guardar información de una aplicación (logs o valores de una
entidad).
• Los archivos serializados permiten guardar la información de un objeto así como su estado.
• Para ello es necesario que el objeto implemente la interfaz “Serializable”.
• Los archivos complejos como XML o JSON requieren un tratamiento especial, si bien pueden manipularse mediante los
mecanismos básicos de Java, la programación resulta más eficiente utilizando tecnologías propias del lenguaje como JAXB
o librerías externas como GSON.

11
Referencias bibliográficas

• Christudas, Binildas (2019) Practical Microservices Architectural Patterns. New York: Apress.

• Deitel, P. & Deitel, H. (2020) Cómo programar en Java. 10a ed. México D.F.: Pearson.

• Erl, Thomas (2016) Service-Oriented Architecture: Analysis and Design for Services and Microservices. 2a ed. México D.F.:
Pearson.
• García, Moisés Macero (2020) Learn Microservices with Spring Boot. New York: Apress.

12
GRACIAS

SEDE MIRAFLORES SEDE INDEPENDENCIA SEDE BREÑA SEDE TRUJILLO


Calle Diez Canseco Cdra. 2 / Pasaje Tello Av. Carlos Izaguirre 233 Av. Brasil 714 – 792 Calle Borgoño 361
Miraflores – Lima Independencia – Lima (CC La Rambla – Piso 3) Trujillo
Teléfono: 633-5555 Teléfono: 633-5555 Breña – Lima Teléfono: (044) 60-2000
Teléfono: 633-5555

SEDE SAN JUAN DE LURIGANCHO SEDE LIMA CENTRO SEDE BELLAVISTA SEDE AREQUIPA
Av. Próceres de la Independencia 3023-3043 Av. Uruguay 514 Av. Mariscal Oscar R. Benavides 3866 – 4070 Av. Porongoche 500
San Juan de Lurigancho – Lima Cercado – Lima (CC Mall Aventura Plaza) (CC Mall Aventura Plaza)
Teléfono: 633-5555 Teléfono: 419-2900 Bellavista – Callao Paucarpata - Arequipa
Teléfono: 633-5555 Teléfono: (054) 60-3535

www.cibertec.edu.pe

También podría gustarte