• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
#4 Applications Convergentes JavaEE/OSGi
 

#4 Applications Convergentes JavaEE/OSGi

on

  • 1,390 views

Attribution: Francois Fornaciari

Attribution: Francois Fornaciari

Statistics

Views

Total Views
1,390
Views on SlideShare
1,386
Embed Views
4

Actions

Likes
1
Downloads
0
Comments
0

1 Embed 4

http://www.slideshare.net 4

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    #4 Applications Convergentes JavaEE/OSGi #4 Applications Convergentes JavaEE/OSGi Presentation Transcript

    • Applications convergentes Java EE / OSGi JOnAS Day 5.1
    • Agenda
      • Introduction
      • Convergence Java EE ™ / OSGi ™
      • Démo
    • Nouveaux usages des serveurs d'applications
      • Applications mission-critique
      • Informatique ambiante
        • Mini PC, box, équipement électronique réduit
      • Exemple :
        • Soin à domicile, téléphonie, domotique
        • M2M, applications RFID et réseau de capteurs
        • Applications combinant télécommunications et internet
          • Convergence des technologies web et multimédia
      Introduction
    • Nouveaux domaines d'application Introduction Probes, sensors G G G G M2M gateways Enterprise Information System Internet Mobile Devices Application Servers Monitoring, self-management tools
    • Agenda
      • Introduction
      • Convergence Java EE ™ / OSGi ™
      • Démos
    • Bénéfices
      • Contrôle strict des dépendances de package
      • Gestion des versions
      • Mécanismes de déploiement offerts par la passerelle :
        • Installation depuis une URL
        • Déploiement depuis un dépôt de bundles OSGi ™ (OBR)
          • Déploiement des dépendances transitives
      • Homogénéisation de l’administration de la plate-forme : tout est bundle
      Une application EJB ™ 3 devient un bundle OSGi ™
      • Le code EJB ™ 3 reste inchangé
      • Ajout d'un MANIFEST OSGi ™
      Couche modulaire d’OSGi ™ et applications EJB ™ 3
    • Permettre aux applications Java EE ™ d’interagir avec le monde OSGi ™
      • Accéder de façon transparente aux services OSGi ™ présents sur la plate-forme
        • Services OSGi ™ standards
        • Services métier
      • Réagir aux évènements de la plate-forme OSGi ™ (framework, bundle, service)
      • Enregistrer des services OSGi ™ qui pourront être utilisés par d’autres applications
      Services OSGi ™ depuis Java EE ™ (1/2)
    • Mise en œuvre
      • Les applications EJB ™ 3 et les servlets ont accès :
        • Au BundleContext : point d’entrée OSGi ™
        • Aux services OSGi ™ démarrés sur la plate-forme
      • Les instances sont injectées par le conteneur
        • Attribut de la classe ou méthode (setter)
        • Les services injectés sont optionnels (peuvent être null)
      • Possibilité de définir des contraintes (filtres) sur les services
      @OSGiResource BundleContext bundleContext = null ; @OSGiResource (filter= "(color=true)" ) PrintService printService = null ; Services OSGi ™ depuis Java EE ™ (2/2)
    • Services techniques Java EE ™ depuis OSGi ™ (1/2) Objectif
      • Offrir aux applications OSGi ™ un point d’entrée vers le monde Java EE ™
        • Bénéficier des services techniques Java EE ™ mâtures
          • Persistance
          • Transaction
        • Accéder aux objets Remote
        • Accéder au monde Java EE ™ de façon transparente pour les applications OSGi ™
      • Cas d’utilisation
        • Remplacer un logger OSGi ™ simple par un logger persistant basé sur un EJB Entity
    • Services techniques Java EE ™ depuis OSGi ™ (2/2) Mise en œuvre
      • Les Session Beans de type Stateless sont enregistrés en tant que services OSGi ™ au travers de leur interface locale (@Local)
      • Une application OSGi ™ peut ensuite requérir le service comme n’importe quel autre service de la plate-forme
      BundleContext bundleContext = … ServiceReference serviceRef = bundleContext .getServiceReference(StatelessLocal. class .getName()); StatelessLocal stateless = bundleContext . getService(serviceRef ); Application EJB EJB 3.0 POJO manifest Bundle OSGi manifest
    • Le service HttpService d'OSGi ™ Service permettant d'enregistrer des servlets ou des ressources et de les publier via HTTP
      • Accessible depuis les applications OSGi ™ (bundles)
      • Implémentation basée sur Tomcat
      • Bénéfices :
        • Même implémentation pour le conteneur Web Java EE ™ et les applications OSGi ™
        • Service HttpService et servlets dans des JOnAS distants
          • Mécanisme de distribution offerts par OSGi
        • Gestion des mises à jour versionnées du service HttpService
          • Possibilité de substituer une version du service par une autre
          • Possibilité de déployer plusieurs versions du service en parallèle
      • Première brique des services OSGi ™ Enterprise
        • A venir : transaction, JPA, JNDI, ...
    • Agenda
      • Introduction
      • Convergence Java EE ™ / OSGi ™
      • Démo
    • Démo - Services OSGi ™ depuis Java EE ™
      • Enregistrement d’un service OSGi ™ donnant accès à la température (thermomètre USB)
      • Récupération du service OSGi ™ dans un EJB ™ 3 et affichage de la température dans un page web
      • Émission d’un mail si une température critique est atteinte
      EJB 3 WEB … Java EE technical services Applications USB Thermometer M A I L MY APP DRIVER
    •