0% encontró este documento útil (0 votos)
29 vistas49 páginas

S03 - s3 - Material

Este documento trata sobre sistemas distribuidos y define middleware. Explica que middleware es un software que conecta aplicaciones independientes y complejas, enmascarando la heterogeneidad subyacente. También describe características, ejemplos y aplicaciones de middleware.

Cargado por

Rick
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
29 vistas49 páginas

S03 - s3 - Material

Este documento trata sobre sistemas distribuidos y define middleware. Explica que middleware es un software que conecta aplicaciones independientes y complejas, enmascarando la heterogeneidad subyacente. También describe características, ejemplos y aplicaciones de middleware.

Cargado por

Rick
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 49

CURSO: SISTEMAS DISTRIBUIDOS

TEMA: Definición de Sistemas Distribuidos


Cronología de la Clase

Actividad que permite llamar la atención:Caso


Inicio Aplicar una dinámica(Romper el hielo)

Cierre Utilidad

Práctica Transformación
En Clase virtual:

Levante la mano para Por favor El tono de voz es clave en el


participar Gracias éxito de la comunicación
De nada
En Clase:
¿Cómo te sientes hoy?
Cronología de la Clase

Inicio

Cierre Utilidad

Recolectar saberes previos: Caso/Lluvia de ideas de la clase anterior


Logro de la sesión

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

tiempo, sujeto, verbo, contenido y condición (conoce/identifica/comprende).


1 verbo
Actividad de lluvia de ideas (de lo divergente a lo convergente)

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

Responde en el Excel compartido


Cronología de la Clase

Inicio

Cierre Utilidad

Práctica Transformación

Desarrollar los contenidos(Secuencia y explicación)


Realizar ejemplos para que comprendan la información de manera activa.
Fomentar la participación(Salir a la pizarra a resolver ejercicios)
MiddleWare
Concepto
Un sistema distribuido está constituido principalmente por los siguientes estratos:
• Plataforma.

La plataforma para sistemas y aplicaciones distribuidas se


compone de las
capas de hardware y software de nivel más bajo.
Intel x86/Windows.
• Intel x86/Mac OS X.
• Intel x86/Linux.
• Intel x86/Solaris.
• Middleware.
Es un software que tiene como función principal enmascarar el sistema
distribuido para proporcionar un modelo de programación a las aplicaciones.
*CORBA (Common Object Request Broker). es una herramienta middleware
que facilita el desarrollo de aplicaciones distribuidas en entornos heterogéneos
tanto en hardware como en software
Distintos sistemas operativos (Unix, Windows, MacOS, OS/2).
* Distintos protocolos de comunicación (TCP/IP, IPX).
* Distintos lenguajes de programación (Java, C, C++).
* Distinto hardware
*Java RMI (Java Remote Method Invocation).

• Aplicaciones y servicios
Son las prestaciones o servicios que ofrece el sistema distribuido a los
Datos/Observaciones usuarios
MiddleWare
Concepto

• El middleware es un tipo de software que sirve para interactuar con


otros elementos del ordenador, enmascara la heterogeneidad de la red
subyacente, el hardware, el sistema operativo y los lenguajes de
programación
• Básicamente, funciona como una capa de traducción oculta para permitir la
comunicación y la administración de datos en aplicaciones distribuidas.
• El middleware contribuye al desarrollo de aplicaciones proporcionando
ambientes abstractos de programación, enmascarando la heterogeneidad
de aplicaciones y la distribución de hardware y sistemas operativos
subyacentes, y ocultando la información de programación de bajo nivel.

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.

Es la parte del desarrollo que se Es la parte del desarrollo que se


encarga de programar el aspecto visual encarga de que toda la lógica de una
del sitio, permitiendo que sea atractivo, aplicación funcione.
eficiente y con un alto rendimiento.

Datos/Observaciones
MiddleWare
Características

– Independiza el servicio de su implantación, del sistema operativo y de los protocolos de


comunicaciones.

– Permite la convivencia de distintos servicios en un mismo sistema.

– Permite la transparencia en el sistema.

– Independiza el servicio de su implantación, del sistema operativo y de los protocolos de


comunicaciones.

Datos/Observaciones
MiddleWare
Aplicaciones

Datos/Observaciones
MiddleWare
Aplicaciones de empresa

• El middleware de empresa conecta los componentes de software o


aplicaciones de empresa.
• Se trata de la capa de software entre el sistema operativo y las
aplicaciones a ambos lados de una red informática.
• Esta capa soporta aplicaciones de software comerciales complejas y
distribuidas.

Datos/Observaciones
MiddleWare
Aplicaciones de plataforma

• El middleware de plataforma conecta las distintas arquitecturas de aplicaciones.


• Esto sucede cuando las empresas se fusionan o se adquieren aplicaciones de
terceros, de manera que llegan a tener múltiples estructuras de aplicaciones.
• En este caso el middleware permite compatibilizar esas estructuras y ofrece
métodos en tres ámbitos de conexión: los entornos de desarrollo, la producción y
las pruebas.

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.

Si las aplicaciones se conectan directamente a software de red, entonces no se necesita


Middleware

Esta situación complica el desarrollo de las aplicaciones:


Se debe programar módulos de bajo nivel.
Este desarrollo se repite para cada aplicación a conectar.

• 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

La finalidad del middleware es fomentar la interacción entre distintos aspectos de una


aplicación o incluso entre las aplicaciones mismas. Con ayuda de middleware las
empresas lograrán:

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

Ejemplos de middleware para dominios específicos incluyen:

• Conexiones con ODBC/JDBC, para bases de datos,


• Lotus para groupware,
• HTTP y SSL para la Web,
• CORBA,
• JAVA para objetos distribuidos.

No todos los Middleware son iguales:

• CORBA: Ofrecen control y homogeneización de arquitecturas.


• Sockets TCP/IP: No ofrecen control de tipos ni homogeneización de arquitecturas.

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

<For m action= " arch ivoOpe r aciones.js"pmethod =" p


ost">
Ingreseel prim er nume r o:<input type=" text" name="txtNum1"><BR>
<inputI n
gre se
ee
l="se
sg un
mdoit" nu
m ro
e :S<inp
u
art" ><
tyB
eR
p=">text"name=" txtNum2"><BR>
t yp ub va
lue=" um
</ f or m >

<% !
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

Paquete al que pertenece

Extiende una clase httpServlet

Datos/Observaciones Procesa la petición


Espacio práctico Autónomo
Actividad 2 – Ejercicio Guiado

Datos/Observaciones
Espacio práctico Autónomo
Actividad 2 – Ejercicio Guiado

<ser vlet >


servlet- n
< ame>miNombreClase Servlet1</se r vlet-name>
</s<serer
vvlelet>t- class>miPaqueteSer vlet .miClaseSe r vlet 1
</ servlet- clas>
<se sr vl
erevtle-mt- a
papi
mn g
> iNombreClase
< n e>m Servlet1</se r vlet-name>
ur l-patter n
< >/m iURLClaseSe
r vlet1< /ur l- p
at e
r n>
</servlet- map ping>

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

3.- Grabar su explicación del punto 1, 2 y subir a YouTube en forma independiente:


- Al iniciar el video se deberá Presentar a los integrantes
- Cada integrante desarrollará y explicará un ejemplo
- El código fuente debe ser legible en el video
- La nota solo se considerará a los estudiantes que desarrollan el ejercicio en el video.
- Se tomará en cuenta la presentación del video.
Cronología de la Clase

Inicio

Cierre Utilidad

Verificar el logro de la sesión


A través de un caso; verificar si entendieron el tema.
Reforzar los puntos débiles.

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

¿De qué forma aprendí el tema tratado en clase?


Gracias
Facultad de Ingeniería
Departamento Académico de Sistemas y Electrónica

También podría gustarte