Está en la página 1de 27

EL PATRÓN DE LA

ARQUITECTURA ACTIVE
RECORD
TEMAS

● Descripción del patrón Active


record
● Marshalling Serializing
● HTTP request
● HTTP Method
● REST
● Resful APIs

Spre
Aprendizaje esperado
• Distinguir representaciones de objetos más complejos y su serialización
en los servicios.

• Distinguir los distintos métodos y modos de representar servicios


orientados a objetos.
¡Vamos a comenzar!
El patrón de arquitectura
Active Record
El patrón de arquitectura Active Record

En ingeniería de software, active record es un patrón de arquitectura


encontrado en aplicaciones que almacenan sus datos en Bases de datos
relacionales. Fue llamado así por Martin Fowler en su libro Patterns of
Enterprise Application Architecture.
La interfaz de un cierto objeto debe incluir funciones como por ejemplo
insertar (INSERT), actualizar (UPDATE), eliminar (DELETE) y propiedades
que correspondan de cierta manera directamente a las columnas de la base
de datos asociada.
Descripción del patrón Active Record
Este patrón de persistencia es quizás
uno de los más habituales. La idea
detrás del patrón es bastante sencilla.
Se trata de una clase que se encarga
de implementar todas las
operaciones de consulta y
modificación de una tabla concreta de
la base de datos.
Marshalling – Serializing
Marshalling puede usarse como sinónimo de serialización, sin embargo, se
debe tener cuidado porque en lenguajes de programación como Java,
marshalling se refiere a la acción de almacenar el estado de un objeto junto
con su código, mientras que serializar es solamente crear copias de objetos
como flujos de bytes. El procedimiento inverso de la serialización es la
deserialización o unmarshalling.
Serialización

En ciencias de la computación, la
serialización consiste en un proceso de
codificación de un objeto en un medio de
almacenamiento (como puede ser un
archivo, o un buffer de memoria) con el fin
de transmitirlo a través de una conexión
en red como una serie de bytes o en un
formato humanamente más legible como
XML o JSON, entre otros.
XML ¿Qué es?

❑ XML es un subconjunto de
SGML(Estándar Generalised Mark-up
Language),simplificado y adaptado a
Internet.
❑ XML no es, como su nombre puede
sugerir, un lenguaje de marcado.
❑ XML es un meta-lenguaje que nos permite
definir lenguajes de marcado adecuados a
usos determinados.
XML ¿Qué no es?

❑ No es una versión mejorada de


HTML.
❑ No es un lenguaje para hacer
paginas WEB.
❑ Y, sobre todo, no es difícil.
JSON

JSON ( JavaScript Object Notation ) es un


formato de intercambio de datos muy
popular. Fue descubierto por Sir Douglas
Crockford. Según Douglas, JSON siempre
existió en términos de notación de objetos,
por lo que no lo inventó. Fue la primera
persona en proporcionar las
especificaciones y diseñar JSON para que se
pueda utilizar como formato estandarizado.
JSON
JSON se puede utilizar en aplicaciones web para la transferencia de datos. Considere el
siguiente diagrama de bloques de la arquitectura simple cliente- servidor. Suponga que el
cliente es un navegador que envía una solicitud HTTP al servidor y que el servidor atiende
la solicitud y las respuestas como se esperaba. Esto se visualiza como en la siguiente
captura de pantalla:
¿Qué es YAML?

YAML es un formato para guardar objetos de datos con estructura de árbol.


Sus siglas significan YAML Ain’t Markup Language (YAML no es otro
lenguaje de marcado).
Este lenguaje es muy legible para las personas, más legible que un JSON y
sobre todo que XML.
Se utiliza normalmente para:
❑ Archivos de configuración.
❑ Traducciones.
❑ Representar información.
¿Por qué utilizar un YAML en vez de un JSON/XML?

❑ Un formato mucho más amigable.


❑ Fácil de entender rápidamente.
❑ Facilita el mapeo de estructuras de datos complejas.

Un dato importante es que no se usa para Web Services o APIs Rest, ya


que como se menciona antes, normalmente es utilizado como archivo de
configuración.
Deserialización

La deserialización hace lo contrario de la


serialización, lo que significa que
convierte una cadena JSON en un objeto
.Net personalizado, como ejemplo.
En el siguiente código, crea la instancia
de JavaScriptSerializer y llama a
Deserialize () pasando datos JSON.
Devuelve un objeto personalizado (Blog)
a partir de datos JSON.
CRUD

CRUD hace referencia a un acrónimo en el que se reúnen las primeras


letras de las cuatro operaciones fundamentales de aplicaciones persistentes
en sistemas de bases de datos:

❑ Create (Crear registros).


❑ Read bzw. Retrieve (Leer registros).
❑ Update (Actualizar registros).
❑ Delete bzw. Destroy (Borrar registros).
HTTP Request

HTTP significa Protocolo de transferencia de hipertexto y se utiliza para estructurar


solicitudes y respuestas a través de Internet. HTTP requiere que los datos se
transfieran de un punto a otro a través de la red.

La transferencia de recursos se realiza mediante TCP (Protocolo de control de


transmisión). Al ver esta página web, TCP gestiona los canales entre su navegador y
el servidor (en este caso, codecademy.com). TCP se utiliza para administrar muchos
tipos de conexiones a Internet en las que una computadora o dispositivo desea enviar
algo a otra. HTTP es el lenguaje de comandos que deben seguir los dispositivos en
ambos lados de la conexión para comunicarse.
HTTP Method

HTTP define un conjunto de métodos de petición para indicar la acción que


se desea realizar para un recurso determinado.

❑ GET
❑ POST
❑ PUT
❑ DELETE
HTTP Method

❑ GET ❑ PUT

Solicita una representación de Se utiliza para enviar una


un recurso específico. entidad a un recurso en
Las peticiones que usan el específico, causando a menudo
método GET sólo deben un cambio en el estado o efectos
recuperar datos. secundarios en el servidor.
HTTP Method

❑ POST ❑ DELETE

El método POST se utiliza para El método DELETE borra un


enviar una entidad a un recurso recurso en específico.
en específico, causando a
menudo un cambio en el estado
o efectos secundarios en el
servidor.
REST
Los conceptos REST fueron presentados como tesis doctoral por Roy Fielding. El
principio fundamental de REST es utilizar el protocolo HTTP para la comunicación de
datos (entre sistemas hipermedia distribuidos), y gira en torno al concepto de recursos
donde todos y cada uno de los componentes son considerados como un recurso, y esos
recursos son accedidos por el común. Interfaces que utilizan métodos HTTP:
Restricciones de estilo de la arquitectura REST
Hay reglas de diseño que son aplicado para establecer las diferentes
características del estilo arquitectónico REST, que se denominan
restricciones REST.
RestFul APIs

¿Cuál es la importancia de las API en el mundo digital actual? El auge de


Internet de Un RESTful API, como describimos hace un momento, es un
servicio. Y si seguimos la analogía del conector eléctrico, entonces fácilmente
identificamos que funciona como un estándar para compartir información, en
un sistema de doble vía: Consulta y Respuesta (Request -> Response).

RESTful API es el sucesor de métodos anteriores como SOAP y WSDL cuya


implementación y uso son un poco más complejos y requieren mayores
recursos y especificaciones al ser usados.
La API REST

Un servicio REST no es una arquitectura


software, sino un conjunto de restricciones con
las que podemos crear un estilo de
arquitectura software, la cual podremos usar
para crear aplicaciones web respetando HTTP.
Hoy en día la mayoría de las empresas utilizan
API REST para crear servicios. Esto se debe a
que es un estándar lógico y eficiente para la
creación de servicios web.
¿PREGUNTAS?
GRACIAS POR
LA ATENCIÓN
Nos vemos en la
próxima clase

También podría gustarte