Parte 2Parte 2
FERNANDO SOLISFERNANDO SOLIS
Programación Orientada a
Componentes
2
Contenido:
 Programación, Modelos y Plataformas deProgramación, Modelos y Plataformas de
ComponentesComponentes
 RM-ODPRM-ODP
 Corba de OMGCorba de OMG
 Java, Java/RMI y JavaBeans de SunJava, Java/RMI y JavaBeans de Sun
 DCOM de MicrosoftDCOM de Microsoft
3
Programación de
Sistemas Abiertos y Distribuidos
 Deficiencias de la Programación Orientada aDeficiencias de la Programación Orientada a
Objetos (POO):Objetos (POO):
 No permite separar aspectos computacionales deNo permite separar aspectos computacionales de
los composicionaleslos composicionales
 Dificultad a la hora de reutilizar objetosDificultad a la hora de reutilizar objetos
 No incorpora aspectos de mercadotecnia:No incorpora aspectos de mercadotecnia:
DistribuciónDistribución
EmpaquetamientoEmpaquetamiento
Adquisición o composición tardía deAdquisición o composición tardía de
componentescomponentes
4
Programación de
Sistemas Abiertos y Distribuidos
 Programación Orientada a Componentes:Programación Orientada a Componentes:
 ““Extensión” de la POOExtensión” de la POO
 Sistemas Abiertos y DistribuidosSistemas Abiertos y Distribuidos
 Basada en la noción deBasada en la noción de COMPONENTECOMPONENTE
Unidad de composición de aplicaciones software que posee un
conjunto de requisitos, y que ha de poder ser desarrollado,
adquirido, incorporado al sistema y compuesto con otros
componentes, de forma independiente en tiempo y espacio.
Szyperski, 1998
5
Modelos de Componentes
 Definen la forma de las interfaces de susDefinen la forma de las interfaces de sus
componentescomponentes
 Determinan los mecanismos de composición yDeterminan los mecanismos de composición y
comunicación entre elloscomunicación entre ellos
 Especifican la forma en la que se proveen losEspecifican la forma en la que se proveen los
servicios (seguridad, trading, etc.)servicios (seguridad, trading, etc.)
 EjemplosEjemplos:: COM, JavaBeans, CORBACOM, JavaBeans, CORBA
6
Plataformas de Componentes
 Basadas en un modelo concretoBasadas en un modelo concreto
 Ofrecen una implementación de los conceptos yOfrecen una implementación de los conceptos y
mecanismos del modelomecanismos del modelo
 Proporcionan entornos de desarrollo y ejecuciónProporcionan entornos de desarrollo y ejecución
para los componentespara los componentes
 Suelen ofrecer pasarelas a otros modelos ySuelen ofrecer pasarelas a otros modelos y
plataformasplataformas
 EjemplosEjemplos:: ActiveX/OLE, Enterprise Beans, OrbixActiveX/OLE, Enterprise Beans, Orbix
7
Componentes e Interfaces
 Interfaces:Interfaces:
 atributos,atributos,
 métodos ymétodos y
 eventoseventos
 Lenguajes de definición de Interafaces (IDL)Lenguajes de definición de Interafaces (IDL)
 Interacción entre componentesInteracción entre componentes
 RPCs para los métodosRPCs para los métodos
 Publish-and-subscribe para los eventosPublish-and-subscribe para los eventos
 Mensajes asíncronosMensajes asíncronos
8
Plataformas de Componentes
Distribuidas
 Componentes e InterfacesComponentes e Interfaces
 Contenedores de componentesContenedores de componentes
 Meta-informaciónMeta-información
 InspecciónInspección
 Reflexión e introspecciónReflexión e introspección
 Entornos de Desarrollo Integrados (IDE)Entornos de Desarrollo Integrados (IDE)
 Servicios y facilidadesServicios y facilidades
9
Entornos de Desarrollo
Integrados (IDE)
 paletaspaletas
 lienzo o contenedorlienzo o contenedor
 editores para configurar y especializar componenteseditores para configurar y especializar componentes
 browsersbrowsers
 repositorio de componentesrepositorio de componentes
 acceso a intérpretes, compiladores y depuradoresacceso a intérpretes, compiladores y depuradores
 herramientas de control y gestión de proyectosherramientas de control y gestión de proyectos
10
Servicios y Facilidades
 Comunicaciones remotasComunicaciones remotas
 Servicios de DirectoriosServicios de Directorios
 SeguridadSeguridad
 TransaccionesTransacciones
 Gestión y AdministraciónGestión y Administración
11
Ejemplos de Modelos y
Plataformas de Componentes
 RM-ODPRM-ODP
 CORBACORBA
 Java/RMI, JavaBeans y Enterprise BeansJava/RMI, JavaBeans y Enterprise Beans
 COM, DCOM, OLE, ActiveXCOM, DCOM, OLE, ActiveX
12
Open Distributed Processing
 RM-ODPRM-ODP: Modelo de referencia para el diseño de: Modelo de referencia para el diseño de
sistemas abiertos y distribuidossistemas abiertos y distribuidos
 ObjetivoObjetivo: hacer transparente al usuario la: hacer transparente al usuario la
heterogeneidad del:heterogeneidad del:
 hardwarehardware
 sistemas operativossistemas operativos
 redesredes
 lenguajes de programaciónlenguajes de programación
 bases de datosbases de datos
 tipos de gestióntipos de gestión
13
Open Distributed Processing
 RM-ODPRM-ODP se divide en:se divide en:
 Descripción general y recomendaciones de usoDescripción general y recomendaciones de uso
 Modelo descriptivoModelo descriptivo
 Modelo prescriptivoModelo prescriptivo
 Semántica arquitectónicaSemántica arquitectónica
 Conceptos fundamentalesConceptos fundamentales::
 TransparenciaTransparencia
 Perspectivas: empresa, información, computacional,Perspectivas: empresa, información, computacional,
ingeniería, tecnológicoingeniería, tecnológico
 Funciones y servicios comunesFunciones y servicios comunes
 Corredor de serviciosCorredor de servicios

Poc 2

  • 1.
    Parte 2Parte 2 FERNANDOSOLISFERNANDO SOLIS Programación Orientada a Componentes
  • 2.
    2 Contenido:  Programación, Modelosy Plataformas deProgramación, Modelos y Plataformas de ComponentesComponentes  RM-ODPRM-ODP  Corba de OMGCorba de OMG  Java, Java/RMI y JavaBeans de SunJava, Java/RMI y JavaBeans de Sun  DCOM de MicrosoftDCOM de Microsoft
  • 3.
    3 Programación de Sistemas Abiertosy Distribuidos  Deficiencias de la Programación Orientada aDeficiencias de la Programación Orientada a Objetos (POO):Objetos (POO):  No permite separar aspectos computacionales deNo permite separar aspectos computacionales de los composicionaleslos composicionales  Dificultad a la hora de reutilizar objetosDificultad a la hora de reutilizar objetos  No incorpora aspectos de mercadotecnia:No incorpora aspectos de mercadotecnia: DistribuciónDistribución EmpaquetamientoEmpaquetamiento Adquisición o composición tardía deAdquisición o composición tardía de componentescomponentes
  • 4.
    4 Programación de Sistemas Abiertosy Distribuidos  Programación Orientada a Componentes:Programación Orientada a Componentes:  ““Extensión” de la POOExtensión” de la POO  Sistemas Abiertos y DistribuidosSistemas Abiertos y Distribuidos  Basada en la noción deBasada en la noción de COMPONENTECOMPONENTE Unidad de composición de aplicaciones software que posee un conjunto de requisitos, y que ha de poder ser desarrollado, adquirido, incorporado al sistema y compuesto con otros componentes, de forma independiente en tiempo y espacio. Szyperski, 1998
  • 5.
    5 Modelos de Componentes Definen la forma de las interfaces de susDefinen la forma de las interfaces de sus componentescomponentes  Determinan los mecanismos de composición yDeterminan los mecanismos de composición y comunicación entre elloscomunicación entre ellos  Especifican la forma en la que se proveen losEspecifican la forma en la que se proveen los servicios (seguridad, trading, etc.)servicios (seguridad, trading, etc.)  EjemplosEjemplos:: COM, JavaBeans, CORBACOM, JavaBeans, CORBA
  • 6.
    6 Plataformas de Componentes Basadas en un modelo concretoBasadas en un modelo concreto  Ofrecen una implementación de los conceptos yOfrecen una implementación de los conceptos y mecanismos del modelomecanismos del modelo  Proporcionan entornos de desarrollo y ejecuciónProporcionan entornos de desarrollo y ejecución para los componentespara los componentes  Suelen ofrecer pasarelas a otros modelos ySuelen ofrecer pasarelas a otros modelos y plataformasplataformas  EjemplosEjemplos:: ActiveX/OLE, Enterprise Beans, OrbixActiveX/OLE, Enterprise Beans, Orbix
  • 7.
    7 Componentes e Interfaces Interfaces:Interfaces:  atributos,atributos,  métodos ymétodos y  eventoseventos  Lenguajes de definición de Interafaces (IDL)Lenguajes de definición de Interafaces (IDL)  Interacción entre componentesInteracción entre componentes  RPCs para los métodosRPCs para los métodos  Publish-and-subscribe para los eventosPublish-and-subscribe para los eventos  Mensajes asíncronosMensajes asíncronos
  • 8.
    8 Plataformas de Componentes Distribuidas Componentes e InterfacesComponentes e Interfaces  Contenedores de componentesContenedores de componentes  Meta-informaciónMeta-información  InspecciónInspección  Reflexión e introspecciónReflexión e introspección  Entornos de Desarrollo Integrados (IDE)Entornos de Desarrollo Integrados (IDE)  Servicios y facilidadesServicios y facilidades
  • 9.
    9 Entornos de Desarrollo Integrados(IDE)  paletaspaletas  lienzo o contenedorlienzo o contenedor  editores para configurar y especializar componenteseditores para configurar y especializar componentes  browsersbrowsers  repositorio de componentesrepositorio de componentes  acceso a intérpretes, compiladores y depuradoresacceso a intérpretes, compiladores y depuradores  herramientas de control y gestión de proyectosherramientas de control y gestión de proyectos
  • 10.
    10 Servicios y Facilidades Comunicaciones remotasComunicaciones remotas  Servicios de DirectoriosServicios de Directorios  SeguridadSeguridad  TransaccionesTransacciones  Gestión y AdministraciónGestión y Administración
  • 11.
    11 Ejemplos de Modelosy Plataformas de Componentes  RM-ODPRM-ODP  CORBACORBA  Java/RMI, JavaBeans y Enterprise BeansJava/RMI, JavaBeans y Enterprise Beans  COM, DCOM, OLE, ActiveXCOM, DCOM, OLE, ActiveX
  • 12.
    12 Open Distributed Processing RM-ODPRM-ODP: Modelo de referencia para el diseño de: Modelo de referencia para el diseño de sistemas abiertos y distribuidossistemas abiertos y distribuidos  ObjetivoObjetivo: hacer transparente al usuario la: hacer transparente al usuario la heterogeneidad del:heterogeneidad del:  hardwarehardware  sistemas operativossistemas operativos  redesredes  lenguajes de programaciónlenguajes de programación  bases de datosbases de datos  tipos de gestióntipos de gestión
  • 13.
    13 Open Distributed Processing RM-ODPRM-ODP se divide en:se divide en:  Descripción general y recomendaciones de usoDescripción general y recomendaciones de uso  Modelo descriptivoModelo descriptivo  Modelo prescriptivoModelo prescriptivo  Semántica arquitectónicaSemántica arquitectónica  Conceptos fundamentalesConceptos fundamentales::  TransparenciaTransparencia  Perspectivas: empresa, información, computacional,Perspectivas: empresa, información, computacional, ingeniería, tecnológicoingeniería, tecnológico  Funciones y servicios comunesFunciones y servicios comunes  Corredor de serviciosCorredor de servicios