2. Paradigmas de Programación para Sistemas
Abiertos
• Al principio la programación
secuencial,
sólo existía
pues cada programa sólo se
ejecutaba en una maquina monoprocesador y
aislada.
máquinas
Posteriormente aparecieron las
multiprocesador y los sistemas
operativos multitarea, por lo que nacieron
nuevos paradigmas y mecanismos de
programación. (Programación concurrente y
programación distribuida)
3. Programación Orientada a Componentes (POC)
• La POC nace con el objetivo de construir un
mercado global de componentes software,
cuyos usuarios son los propios desarrolladores
de aplicaciones que necesitan reutilizar
construir sus aplicaciones de forma
componentes ya hechos y probados para
más
rápida y robusta.
4. Tendencias actuales de la POC
• La adecuación de los lenguajes de
programación
• Diseño de nuevos lenguajes y modelos de
componentes
• La construcción de herramientas de desarrollo
y marcos de trabajo para componentes
• La aplicación de técnicas formales para
razonar sobre las aplicaciones desarrolladas a
base de componentes.
5. • En cuanto a los lenguajes de programación,
sólo hay unos pocos que realmente
incorporen conceptos suficientes para realizar
una programación orientada a componentes:
Oberón, Java, Ada95, Modula-3 y Component
Pascal.
6. Tecnologías de componentes estandarizadas
• CORBA (Common Object Request Broker
Architecture — arquitectura común de intermediarios
peticiones a objetos): Es un estándar que establece
plataforma de desarrollo de sistemas distribuidos facilita
la invocación de métodos remotos bajo un paradi
orientado a objetos.
7. • DCOM (Distributed Component Object Model-
Modelo de Objetos de Componentes Distribuidos):
Es una tecnología propietaria de Microsoft para
desarrollar componentes software distribuidos
sobre varios ordenadores y que se comunican
entre sí.
• .NET es un framework de Microsoft que hace un
énfasis en la transparencia de redes, con
independencia de plataforma de hardware y que
permita un rápido desarrollo de aplicaciones.
8. • Enterprise JavaBeans: Modelo de
componentes basado en arquitectura cliente
servidor. Esta plataforma ofrece una solución
multiplataforma, de fácil reutilización,
integración universal con otros componentes
además de la maquina virtual de java.
La tecnología java a estado a la vanguardia del
DSBC y constituye una referencia clave en este
tema.
9. • La programación de aplicaciones distribuidas se
basa en un conjunto de servicios que
proporcionan a los componentes el acceso a los
recursos compartidos de una forma segura y
eficiente. Estos servicios suelen englobarse en las
siguientes categorías básicas:
• Comunicaciones Remotas
• Servicios de Directorio
• Seguridad
• Transacciones
• Gestión
10. Problemas típicos de la POC
• Clarividencia: dificultad con la que se
encuentra el diseñador de un componente al
realizar su diseño, pues no conoce ni quien lo
utilizará, ni cómo, ni en qué entorno, ni para
qué aplicación
• Evolución de los componentes. La gestión de la
evolución es un problema serio, pues en los
sistemas grandes han de poder coexistir varias
versiones de un mismo componente
11. • Particularización. Cómo
servicios que ofrece un
particularizar los
componente para
adaptarlo a las necesidades y requisitos concretos
de nuestra aplicación, sin poder manipular su
implementación.
• Falta de soporte formal. Por otro lado, la POC
también se encuentra con otro reto añadido,
como es la dificultad que encuentran los métodos
formales para trabajar con sus peculiaridades
12. Puntos a considerar sobre un Mercado global de
software
• Componentes COTS (commercial off-the-shelf).
• Búsqueda y reconocimiento de los
componentes que se necesitan, su posible
adaptación, o la resolución de solapamientos
entre las funciones y servicios que ofrecen.
• Estándares que garanticen la interoperabilidad
de los componentes a la hora de construir
aplicaciones