Movimientos Precursores de La Independencia en Venezuela
Arquitectura en capas
1. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
01/20
Tecnologías existentes para apoyar una estrategia SOA
En capas
Colección de componentes que trabajan juntos hacia un propósito común.
Las capas ayudan a identificar jerarquías en un sistema. Los diseñadores de software
restringen la forma en que las capas interactúan entre sí; los componentes de una capa
solo interactúan con los componentes de su propia capa o capas adyacentes, y esto solo
puede hacerse a través de las interfaces proporcionadas por cada componente.
Generalmente, las capas inferiores brindan servicios a las capas superiores.
2. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
Tecnologías existentes para apoyar una
estrategia SOA
Las capas a menudo se organizan
conceptualmente en niveles de
PRESENTACIÓN, APLICACIÓN Y DATOS. En un
sistema basado en la web, el nivel de
presentación se divide en dos capas: UNA
PARA EL NAVEGADOR Y OTRA PARA LA WEB.
02/20
Cada capa mostrada en la presente imagen
de un sistema basado en web, tiene una
función:
Capa del navegador web. Capa superior del
sistema. Muestra información al usuario. La
capa del servidor web está directamente
debajo de la capa del navegador web. Recibe
la solicitud del navegador web, obtiene el
contenido solicitado y lo devuelve al
navegador.
3. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
La capa de aplicación está debajo de la capa
del servidor web. Es responsable de
garantizar que se realice la función o el
servicio proporcionado por el sistema.
La capa inferior es la capa de datos. Esta capa
es responsable de almacenar, mantener y
administrar los datos. El acceso a los datos
puede ser de solo lectura o puede permitir
tanto la lectura como la escritura.
Dependiendo del sistema, este acceso puede
ser en forma de sistema de archivos o base de
datos.
03/20
4. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
04/20
No todos los sistemas requieren cuatro capas y no todos los
sistemas usan estas capas de la misma manera.
CAPAS PARA CONTENIDO WEB ESTÁTICO
Una página web estática tiene una arquitectura en capas:
Capa de navegador web: Muestra información proporcionada
por el servidor web.
Capa del servidor web: Recibe la solicitud del navegador web
y recupera el documento HTML apropiado almacenado en la
capa de datos. Una vez que se asegura el acceso al
documento HTML correcto, esta capa devuelve el contenido
solicitado al navegador.
Capa de datos: Consta de documentos HTML que el servidor
web devuelve al navegador web sin cambios. Como los
documentos HTML no cambian, el sistema de archivos puede
ser de solo lectura.
No hay capa de aplicación en un sistema de contenido web
estático, ya que los documentos HTML servidos por el
servidor web son exactamente los mismos que están
almacenados en el sistema de archivos.
5. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
En un sistema de contenido web dinámico, una arquitectura en
capas requiere:
Una capa de navegador web, una capa de servidor web, una capa
de aplicación y una capa de datos.
Al igual que con el contenido web estático, la capa del navegador
web generalmente consta de un navegador web, que muestra la
información proporcionada por el servidor web.
De manera similar, la capa del servidor web recibe la solicitud del
navegador web y devuelve el contenido solicitado al navegador. Sin
embargo, a diferencia de una página web estática, en una página
web dinámica, los documentos HTML se generan cuando los
solicita un navegador web.
El servidor web pasa la solicitud a un servidor de aplicaciones en la
capa de aplicación para su procesamiento. La capa de aplicación
para páginas web dinámicas puede constar de uno o más
programas o aplicaciones que procesan la solicitud para generar el
contenido resultante. La capa de aplicación también puede recurrir
a otros servicios web, y leer y escribir datos en una base de datos a
través de la capa de datos.
Este mismo esquema de capas también se aplica a arquitecturas
para aplicaciones web complejas. 05/20
6. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
Arquitectura de sistemas web
Las aplicaciones web se basan en un arquitectura CLIENTE/SERVIDOR; por un lado está el cliente (el
navegador, explorador o visualizador) y por otro lado el servidor (el servidor web). Existen diversas
variantes de la arquitectura básica según como se implementen las diferentes funcionalidades de la parte
del servidor. (Revisar documento 2.1. Arquitectura de sistemas web)
06/20
7. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
Los sistemas web usan muchos tipos diferentes de formatos para almacenar y expresar contenido.
HTML y XML son lenguajes de marcado, mientras que JSON es un formato de intercambio de datos
liviano. Instalar Sublime Text: https://www.sublimetext.com/
HTML
El lenguaje de marcado de hipertexto (HTML) es
el lenguaje de marcado utilizado para estructurar
el texto en las páginas web. HTML proporciona
estructura a las páginas web, pero no estilo. Por
ejemplo, HTML marca qué partes del texto de la
página son el título, los encabezados, los
párrafos, etc., para que un navegador web pueda
representarlos adecuadamente.
HTML no es un lenguaje de programación, se
escribe en su totalidad con elementos;
constituidos por etiquetas, contenido y atributos.
HTML tiene un conjunto predefinido de
ETIQUETAS que sirven para diferentes
propósitos.
En el siguiente ejemplo se muestran las
características más básicas de un documento
HTML.
<!DOCTYPEhtml>
<html>
<head> (encabezado)
<title>Título de la página</title>
</head> (encabezado)
<body> (cuerpo)
</body> (cuerpo)
<h1>títulos y subtítulos </h1> <h1>… <h6>
<p>Esto es un párrafo</p>
<br> salto de línea
07/20
8. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
HTML
La etiqueta DOCTYPE es la primera línea de cualquier archivo HTML e indica al navegador que el
contenido es HTML. El resto del documento está contenido con las etiquetas <html>. En general, los
documentos HTML tienen dos secciones: el encabezado y el cuerpo. Estos están contenidos dentro
de <head> y <body> (cuerpo) etiquetados respectivamente.
El encabezado generalmente contiene metadatos que utiliza la página. El cuerpo contiene el
contenido y la información de la página web. El cuerpo contiene el texto, enlaces, imágenes, listas y
otros datos para presentar, todos etiquetados apropiadamente.
08/20
9. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
09/20
10. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
10/20
11. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
11/20
Instalación de package control (sublime text)
✓ Acceder: https://packagecontrol.io/installation
✓ Descargar el package control
✓ Clic en Preferences
✓ Clic en Browse Packages…
✓ Clic en la carpeta Installed Packages
✓ (Pegar en la carpeta anterior el archivo descargado)
✓ Cerrar y abrir Sublime Text
✓ Clic en Preferences, ahora se muestra Package Control
✓ Luego seleccionar Install Package
✓ Terminada la instalación, agregar HTML5, PRETTY JSON, HMTLBeautify, Emmet
* Guardar un archivo como .html digitar html, presionar ctrl + espacio y escoger html5 (esquema simple)
12. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
XML
El lenguaje de marcado extensible (XML) es un lenguaje de marcado destinado a almacenar y
transportar datos. XML es legible tanto por máquina como por humanos. XML generalmente se usa
para enviar datos estructurados dentro de un sistema basado en la web.
Los esquemas XML se pueden definir para las etiquetas válidas y su estructura adecuada para un
documento XML.
<?versión xml=“1.0” codificación=“UTF-8”?>
<mensaje>
<a> Emisor </a>
<de> Receptor </de>
<heading> Examen online </heading>
<body> Día lunes 18 de abril examen online, repasar la hoja de actividad número 03 </body>
</mensaje>
12/20
13. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
13/20
Ejercicios XML (publicados como .html)
14. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
Ejercicio XML
14/20
15. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
JSON
La notación de objetos de JavaScript (JSON) es un
formato utilizado para almacenar y transportar
datos. Esta diseñado para ser legible tanto por
máquinas como por humanos. JSON ofrece
muchos beneficios, puede convertir fácilmente
en objetos de JavaScript y viceversa. JavaScript es
un lenguaje de programación interpretado
comúnmente compatible con los navegadores
web modernos.
Esta capacidad de convertir fácilmente a objetos
de JavaScript y viceversa hace que JSON sea un
formato popular cuando se transfieren datos
entre navegadores web y servidores, así como
para pasar datos en aplicaciones web.
Ejemplo:
{
“nombre”:”Juan”,
“apellido”:”Cevallos”,
“Edad 20”,
“color favorito”: “Rojo”
}
Los datos JSON se escriben como pares de
nombre/valor con objetos JSON escritos entre
llaves.
15/20
16. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
16/20
Los datos JSON también pueden tener matrices de objetos JSON. Las matrices en JSON se escriben
entre corchetes. El siguiente ejemplo enumera tres objetos JSON de “estudiantes”, con tres
personas diferentes y sus propiedades.
17. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
• RPC
Llamada a procedimiento remoto (Remote Procedure Call) es una técnica que utiliza el
modelo cliente-servidor para ejecutar tareas en un proceso diferente como podría ser en una
computadora remota.
Funcionamiento de una llamada a procedimiento remoto
✓ El cliente hace la llamada al procedimiento remoto mediante un mensaje a través de la red. Este se detiene
ya que es un proceso síncrono, es decir, necesita una respuesta del servidor para poder continuar su
ejecución. En esta llamada se incluye un stub (o resguardo en español – el stub es la pieza de código que le
permite al servidor ejecutar la tarea que se le asignó) el cual se encarga de ajustar parámetros y
direcciones de memoria de un ambiente (el cliente) a otro (el servidor).
✓ El servidor recibe la petición y desempaqueta el mensaje para extraer la información necesaria para realizar
la tarea. El stub ayuda a que el servidor sea capaz de convertir parámetros de una representación a otra (de
ser necesario), para traducir direcciones de memoria de cliente a servidor, etc.
✓ El servidor ejecuta la tarea.
✓ El servidor crea un mensaje de respuesta para el cliente en el que incluye el resultado de la tarea que este
le pidió realizar.
✓ El cliente recibe y desempaqueta el mensaje de respuesta del servidor. 17/20
18. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
• RPC
18/20
19. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
Metodología para realizar proyectos SOA (revisar documento 2.4)
Dentro de las metodologías a considerar se sugiere considerar las siguientes etapas:
✓ Diagnóstico del proceso - Objetivo: Lograr comprender los procesos de la organización mediante su mapa
de procesos. Luego, diseñar el proceso de negocio mediante la identificación de todos sus elementos y fases
que lo componen.
✓ Modelación del proceso – Modelar cada uno de los detalles, definir reglas de negocio donde se
especificaran las restricciones y condiciones que rigen dicho proceso de negocio.
✓ Diseño de la arquitectura – Identificar funcionalidades en un ámbito bien definido, hacerlo accesible pero
independiente de donde se use.
✓ Simulación – Detectar fallas de la modelación para realizar correcciones antes de la implementación.
✓ Implementación – En esta etapa se integran los procesos de negocio como un todo.
✓ Ejecución – Si alguna tarea se ejecuta incorrectamente, el sistema informa al responsable.
✓ Monitorización – Realiza el seguimiento del sistema para obtener los resultados deseados y orientar
mejoras de ser necesario.
✓ Optimización – Identificación de las oportunidades de ahorro, mejoras y aumento de eficacia del sistema.
19/20
20. Ing. Henrry Céspedes Cruz
Arquitectura
orientada a servicios
Actividad 02 – Semana 04:
Arquitectura de aplicaciones y proceso de negocio
en SOA
• Referencias bibliográficas
• Service-Oriented Architecture – Coursera
• https://www.researchgate.net/figure/Figura-1-Arquitectura-de-aplicacion-Web-centrada-en-el-
usuario-por-capas_fig1_265509127
• http://rua.ua.es/dspace/handle/10045/16995
• https://devcode.la/blog/que-es-html/
• https://www.youtube.com/watch?v=IUVU3CgYcFA
• https://diego.com.es/xml-principios-basicos
• https://mx.godaddy.com/blog/10-codigos-html-para-paginas-web-y-para-que-sirven/
• https://www.youtube.com/watch?v=lLsYjzpSDyA
• https://www.youtube.com/watch?v=0Bgb5E5FwgU
• https://www.youtube.com/watch?v=NzSlmb2umU4
• https://medium.com/@maniakhitoccori/qu%C3%A9-es-rpc-llamada-a-procedimiento-remoto-
7cbcbe45d8e
• http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992016000100004
20/20