S03 - s3 - Material
S03 - s3 - Material
Cierre Utilidad
Práctica Transformación
En Clase virtual:
Inicio
Cierre Utilidad
Práctica Transformación
1.- Los estudiantes explican el tema anterior:
¿Preguntas?
Logro Tema Anterior
Al finalizar la sesión, el estudiante • Definición de Sistemas Distribuidos
• Presentaciones
comprende los conceptos de sistemas
distribuidos y diferencia las arquitecturas a
través de los ejemplos guiados realizados
por el docente.
Tema Actual
• Ejercios
1.- Cuando Ud. Asiste a un restaurante a cenar, ¿Qué función cumple el mozo?
2.- Explique con sus propias palabras: ¿Qué es escalabilidad?
3.-¿Cómo se clasifican las arquitecturas de los Sistemas Distribuidos?
4.- Explique con sus propias palabras: ¿Qué es MiddleWare?
5.- Mencione un ejemplo de MiddleWare
Inicio
Cierre Utilidad
Práctica Transformación
• Aplicaciones y servicios
Son las prestaciones o servicios que ofrece el sistema distribuido a los
Datos/Observaciones usuarios
MiddleWare
Concepto
Datos/Observaciones
MiddleWare
Video
https://www.youtube.com/watch?v=cShRmczFcXQ&feature=emb_logo
Datos/Observaciones
¿ Cómo conectamos el tema anterior con el actual?
Respondan en el chat
MiddleWare
Concepto
Los Middleware han aparecido de manera relativamente reciente en el mundo de la informática, hoy en
día tecnologías móviles(celulares) están aplicando esta tecnología para el soporte de llamadas VOIP.
En el pasado ganaron popularidad en la década de los 80, ya que eran la solución de cómo integrar las
nuevas aplicaciones con los sistemas heredados, en todo caso, el termino ha sido usado desde 1968.
También facilitaba la computación distribuida, mediante conexión de múltiples aplicaciones para crear una
mucho mayor, sobre una red
Aplicaciones comerciales hoy en día
Oracle Fusion Middleware
Oracle Fusion Middleware constituye una
cartera de software probado por clientes
previamente integrada que abarca desde
los portales y administradores de procesos
hasta la infraestructura de aplicaciones, las
herramientas de desarrolladores, y la
inteligencia de negocios.
IBM Datos/Observaciones
MiddleWare
Video
https://www.youtube.com/watch?v=knlVvMjVnF0
Datos/Observaciones
MiddleWare
Concepto
Es software que sirve para “conectar” programas independientes a menudo muy complejos. Algunos
componentes de software que se conectan con frecuencia con middleware incluyen aplicaciones empresariales
y servicios web. En un nivel básico, el middleware proporciona servicios necesarios para conectar aplicaciones
juntas, como:
• Concurrencia
• Gestión de transacciones
• Mensajería
• Servicios web
• Bases de datos
El Middleware a menudo se encuentra entre el sistema operativo y las aplicaciones en diferentes servidores y
simplifica el desarrollo de aplicaciones que los servicios de conexión de otras aplicaciones necesitan.
Datos/Observaciones
MiddleWare
Concepto
Es un software.
Su finalidad es la de facilitar la interacción entre cliente y servidor.
El cliente suele ser una aplicación que reside en el front end, con la que el usuario interactúa.
La tecnología Middleware se encarga de conectar el front end con el back end, que podría estar formado de
bases y servidores de datos.
Esta herramienta se encarga de conectar software con software para que funcionen y tengan sentido.
Básicamente, cualquier software que se encuentre entre el Kernel (software fundamental del Sistema Operativo)
y las aplicaciones podría considerarse como Middleware.
Si este servicio se integra con la nube, se genera el llamado Middleware as a Service.
Datos/Observaciones
MiddleWare
Características
Datos/Observaciones
MiddleWare
Aplicaciones
Datos/Observaciones
MiddleWare
Aplicaciones de empresa
Datos/Observaciones
MiddleWare
Aplicaciones de plataforma
En los tres campos el middleware transfiere los datos entre una aplicación y otra,
así como entre bases de datos y archivos.
Datos/Observaciones
MiddleWare
Uso
• Dadas dos aplicaciones que se quieren conectar, hay que resolver la comunicación entre los procesos.
• El software de Middleware permite realizar esta conexión a través de interfases de alto nivel, por ejemplo
que permiten ver un procedimiento remoto como si fuera local.
Datos/Observaciones
MiddleWare
Esquema
Esquema de conexión sin Middleware Esquema de conexión con Middleware
• Los programas deben resolver la conexión usando medios de bajo • La capa de Middleware permite programar la comunicación
nivel, cercanos al Sistema de Red. mediante herramientas de alto nivel.
• Por ejemplo: procedimientos, mensajes, acceso a objetos.
Datos/Observaciones
MiddleWare
Modelo Osi
Datos/Observaciones
MiddleWare
Finalidad
Datos/Observaciones
MiddleWare
Tipos
Remote Procedure Call (RPCs) Llamada a Procedimiento Remoto. Es la interacción entre cliente y servidor que permite a
una app ser distribuida a través de distintas plataformas. El cliente realiza una llamada a
procedimientos que están corriendo en máquinas remotas.
Publish/subscribe Este tipo de monitores middleware activan y entregan información relevante para los
subscriptores.
Message Oriented Middleware (MOM) Los mensajes enviados al cliente se recogen y se almacenan hasta que son solicitados,
mientras el cliente continúa con otros procesos.
Object Request Broker (ORB) Este tipo de middleware permite que los clientes envíen objetos y soliciten servicios en un
sistema orientado a objetos.
SQL-oriented Data Access Middleware entre las aplicaciones y los servidores de base de datos.
Monitores de Transacciones Distribuidas Provee herramientas y un ambiente de desarrollo y despliegue de aplicaciones distribuidas.
Servidor de aplicaciones Software instalado en una computadora para facilitar el servicio(ejecución)de otras aplicaciones.
Enterprise Service Bus Una capa abstracta en el tope de un sistema de mensajería de empresa.
API Interfaz de Programación de Aplicaciones. Permiten construir software de aplicaciones mediante herramientas y
protocolos específicos para este fin.
Data Integration. Basado en la combinación de datos de fuentes distintas en un solo conjunto que los
Datos/Observaciones usuarios pueden manipular y visualizar.
MiddleWare
Tipos
Datos/Observaciones
MiddleWare
Ejemplos
Datos/Observaciones
MiddleWare
Tipo Base de Datos
Este tipo de Middleware permite el manejo de la conectividad, la capacidad de leer y escribir en una Bases de
Datos.
Datos/Observaciones
MiddleWare
Ejemplos
Datos/Observaciones
Cronología de la Clase
Inicio
Cierre Utilidad
Práctica Transformación
Espacio práctico Autónomo
Actividad 2 – Ejercicio Guiado
Elaborar un programa que permita visualizar un ejemplo con Middleware tipo WEB
Instalar Netbeans
-Incluir apache Tomcat
Datos/Observaciones
Espacio práctico Autónomo
Actividad 2 – Ejercicio Guiado
Apache Tomcat:
Es un contenedor de servlets.
GlassFish:
Es un servidor de aplicaciones que implementa todo el perfil EE de Java y por lo tanto, podrá ejecutar aplicaciones que contengan partes
hechas con Java EE, como JAX-WS (WebServices).
Datos/Observaciones
Espacio práctico Autónomo
Actividad 2 – Ejercicio Guiado
Datos/Observaciones
<%
int var Num1=0 , va
r Num2=0,varResult a
do=0
;
var Num 1=10 ;
var
var N
Rum
esul2=20 ;=varNum1+
t ado varNum2;
out . pr intln( var Resultado
);
%>
Espacio práctico Autónomo
Actividad 2 – Ejercicio Guiado
<%
int var Num1=0 , va r Num2 =0; d oub le varResu lt ado=0;
{if ( r equest. g etParameter( b " tnCalcu lar ") !=nu l)
var
var N Num
um 1=I 2=In nte
tege
ge rr .p
.par
arsseIe
In
tn
t (r(r e
q
que
e sst.t. g
ue e
etP
g tPar
ara
ammet
ete er((r "t"t xtx
tN
Num
m1
u "2
" )) ;;
var Num 2=20 ;
var
} ; Result ado =varNum1+ varNum2;
out .. pr pr in
intln
tln(( "I"<nFor smeel cpr
atioim
n=ier nnum
dex.jserpm etin
hpu
odt=typos t> "t );e
out g re o:< pe= xt n
ame=txtNum1va lue="+va
r Num1+" ><BR>" );
out . pr intln( "I n gr e seelseg und onume r o:<input typ e=t e xt n
ame=txtNum2value="+va r Nu
m2+" ><BR>") ;
out . pr intln( "<inputt ype= sub m it n ame=b tnCalcularvalue =calcu lar ><
BR>" );
out . pr n
i n
l
t ( r
" es u t
l d
a o:
< n
i u
p t y
t e
p =t e xt n am =
e t t
x R s
e ul a
t dovalue= " +var Re
sultado
+" >
<BR>") ;
out . pr intln( "</ form>" );
%>
Datos/Observaciones
Espacio práctico Autónomo
Actividad 2 – Ejercicio Guiado
<% !
int var Num1=0 , va
r Num2
=0; doub
le varResu
lt ad
o=0;
voi
{ d m iPr ocedim ineto
Suma()
var>Result ado
=varNum1+ varNum2;} ;
%
<%
var Num 1=Intege r .parse
Int (r e
que
st. g
etParameter( "t xtNu
m1 ");
var Num 2=Intege r .parse
Int (r e
que
st. g
etParameter( "t xtNu
m2 ");
m iPr ocedim inetoS uma() ;
out . pr intln( "Resu
lt ado1:<inputt ype= text n
ame=txtResult a dova
lue="+varResult a
do+"><BR>
" );
% > t ado 2:<inp
Resul ut type=textnam= et xt Re
sultadov alue=" <%=var Re
sultado
%>" >
Datos/Observaciones
Espacio práctico Autónomo
Actividad 2 – Ejercicio Guiado
Datos/Observaciones
Espacio práctico Autónomo
Actividad 2 – Ejercicio Guiado
Servlet
Es una clase en el lenguaje de programación Java, utilizada para ampliar las capacidades de un servidor.
El uso más común de los servlets es generar páginas web de forma dinámica a partir de los parámetros de la petición que envíe el navegador web
Proporciona
Métodos
Petición
Bd
Respuesta
➢Conexiones
➢Transacciones
➢Procedimientos Almacenados
➢Validaciones
Datos/Observaciones
Espacio práctico Autónomo
Actividad 2 – Ejercicio Guiado
Datos/Observaciones
Espacio práctico Autónomo
Actividad 2 – Ejercicio Guiado
Datos/Observaciones
Espacio práctico Autónomo
Actividad 2 – Ejercicio Guiado
<f or m a ction="m iURLClas eSer vlet1m " eth od= " po
st" >
I ngr eseel p r imer nu
mer o : <inp
ut typ e="t e
xt" name =" txtNum1"><br>
I<ingr
nputeset el
ese="gu
sndo
mn u
it" mer
mo:e
=<i
"n
upu
mtar"ty><b
e="tr e
p x>t" name =" txtNum2
" ><b
r>
yp ub na S
</ f or m >
Datos/Observaciones
int var Nu m 1= In
te
ger. p arseInt( req uest.get Pa
rame ter (" txtNum1") );
intvarNum2=Integ er .par seInt( request.getParameter( "txtNum2") );
intvarResult a do=varNum1+var Nu m2;
ut.t. p
o r in
rp intln
tln(( "R
"Res
esu
ultlt a
do2
ao1:: <I
"+ vPU
arRT esult ad
oT+"EXT
<br>N
" AM
); E=txtResult a
u
o d N TYPE= dova
lue="+varResult a
do+">") ;
Espacio práctico Autónomo
Actividad 3
Desarrolle un programa
1. Utilice un software existente (Ud. Elija el lenguaje de programación) para diseñar e implementar un
sistema basado en BitTorrent que distribuya archivos a muchos clientes a partir de un único y poderoso
servidor.
Las cosas se simplifican cuando se utiliza un servidor web estándar que puede operar.
Datos/Observaciones
1er Trabajo de Investigación grupal:
1.- Elaborar un ejemplo en algún LP(Lenguaje de Programación) sobre:
- Sockets “cuando el servidor envía mensaje a los clientes” y “cuando un cliente envía mensaje al servidor”
- Pilas
- Colas
- RPC “Llamadas a procedimientos remotos”
- RMI “Invocación a métodos remotos”
2.- Rellenar el siguiente cuadro:
Nº Tema Concepto ¿Que realiza el ejemplo que ha En la vida real; en que tipo de negocio o
desarrollado en la pregunta Nº1? empresa se utiliza
1 Sockets
2 Pilas
3 Colas
4 RPC
5 RMI
Inicio
Cierre Utilidad
Práctica Transformación
Verificación del logro
¿Middleware es un tipo de software que sirve para interactuar con otros elementos del ordenador?
Verdad
Falso
METACOGNICIÓN