SlideShare uma empresa Scribd logo
1 de 78
LE FRAMEWORK JSEDUITE
         SOA, WEB 2.0 &
   DIFFUSION D’INFORMATIONS
               Sébastien Mosser
     Université de Nice - Sophia Antipolis,
          CNRS, I3S, Equipe Modalis

      http://www.jseduite.org

          JM2L, 27 Novembre 2009
2
LE WEB 2.0, UN WEB ... PARTICIPATIF !
UN FRAMEWORK EST NÉCESSAIRE !!
AGENDA
  • Une    approche SOA

  • Mise   en oeuvre :

   • Web   Services & Orchestrations

   • Clients Web   (Affichage / Admin)

  • Conclusions     & Perspectives

   • Résultats   obtenus

   • Communauté,     Recherche
ARCHITECTURES
  ORIENTÉES
   SERVICES


      7
EN (TRÈS TRÈS) BREF ...
• «SOA»     en 3 lignes et 20 mots:

 • Un   «service» est une entité élémentaire

  • Lire   un flux RSS, Interroger Picasa, Stocker des Tweets, ...

 • Une   «processus métier» est un assemblage de services

  • Interroger   Picasa & Flickr puis concatener les résultats

 • Une   «architecture» est ... la somme des précédents !

                                   8
PROPRIÉTÉS DES SERVICES
• Sans    état, Indépendant

• Gros    Grain                       PartnersKey
 • On    ne fait pas de l’objet

• Interface

 • Explicitation   d’un contrat
                                      WeatherBug
• Couplage       lâche

 • Pas   d’interconnections
                                  9
UN SERVICE EXPOSE
    DES OPÉRATIONS

WeatherBug
findCity(search)   -> cities
forecast(key,city) -> weather
live(key,city)     -> weather




                  10
PROCESSUS MÉTIERS ?
                := receive()



:= PartnersKey::get(‘weather’)



:= WeatherBug::forecast(   ,     )



             reply( w )
                 11
UN PROCESSUS EST UNE
 OPÉRATION DE SERVICE
ProxyMétéo
  getMétéo(city) -> weather
                           := receive()
                                                           PartnersKey


      := PartnersKey::get(‘weather’)




                := WeatherBug::forecast(   ,        )




                         reply( w )




 « Partenariat »                                        WeatherBug

                                               12
ARCHITECTURE DE
DIFFUSION D’INFORMATION ?

    Provider
     getMyInfo(id) -> info*




                13
VERSION NAÏVE

                 RSS

Provider

TimeTable




                       WeatherBug

            14
VERSION NAÏVE

            Cache        RSS

Provider

TimeTable
                PartnersKey



                               WeatherBug

                    14
VERSION NAÏVE (IRL)

            Cache        RSS

Provider

TimeTable           PartnersKey




                               WeatherBug

                    15
VERSION NAÏVE (IRL)
Pas vraiment «métier» !!

               Cache

   Provider

                       PartnersKey




                       15
VERSION NAÏVE (IRL)
Pas vraiment «métier» !!

               Cache

   Provider

                       PartnersKey




Hétérogénéité des infos !!

                       15
IDENTIFICATION DES MÉTIERS

                Cache          RSS



        CachedReader

                    PictAlbum
 Provider                        PartnersKey



                        WeatherProxy
   TimeTable



                                     WeatherBug
                    16
IDENTIFICATION DES MÉTIERS



     CachedReader

                PictAlbum
 Provider

                    WeatherProxy



                16
IDENTIFICATION DES MÉTIERS



        CachedReader

                    PictAlbum
 Provider

                       WeatherProxy


Hétérogénéité des infos !!
                    16
SEDUITE 1.0 &
  SOURCES D’INFORMATION
                                Cache

      FeedSource                                    RSS

                      CachedReader



Provider       PictSource
                                        PictAlbum


                                                PartnersKey



            WeatherSource            WeatherProxy
 TTSource
               TimeTable




                                           WeatherBug
                           17
SEDUITE 1.0 &
  SOURCES D’INFORMATION
      FeedSource



Provider       PictSource


            WeatherSource
 TTSource



                    17
SEDUITE 1.0 &
  SOURCES D’INFORMATION
      FeedSource



Provider       PictSource


            WeatherSource
 TTSource



                    17
AVANTAGES DE
                 L’ARCHITECTURE
• Maintenance         facilitée

 • Orientation    métier des processus

• Couche      d’abstraction «Info»

 • Ecriture    d’outils génériques

• Extensibilité      assurée

 • Facilité   d’ajout de nouveaux types d’info

                                     18
MISE EN OEUVRE
(IMPLÉMENTATION)



       19
AVERTISSEMENT:
ZONE « DÉVELOPPEUR »




         20
CHOIX TECHNOLOGIQUES
• Environnement    de production hétérogène

 • Technologie    multi-plate-forme, e.g. Java

• Univers   SOA : Logiciels Propriétaires vs Preuve de concepts

 • Choix    de Glassfish, Implém. de référence

• Langages   support stables, reconnus & outillés

 • (Web)     Services en Java (JAX-WS),

 • Processus    : Orchestrations BPEL

 • Exécution    & Déploiement : Canevas JBI
                                  21
MISE EN OEUVRE :
   WEB SERVICES



       22
WEB SERVICES (JAVA JAX-WS)
• Implémentation         Java du standard Web Services

  • e.g., Requêtes   SOAP, Contrats WSDL, Schémas XSD, ...

• Les   services sont des Classes Java

  • Avec   quelques annotations supplémentaires

• Les   artefacts sont générés automagiquement

  • Contrats WSDL      & Schémas XSD
                                 23
TYPE DE DONNÉES :
  HYPER_EVENT




         24
WEB SERVICE :
HYPER_MACHIN_SERVICE




          25
MISE EN OEUVRE :
  ORCHESTRATIONS



       26
BPEL : «BUSINESS PROCESS
  EXECUTION LANGUAGE»
• Langage     d’orchestration (XML) orienté messages

 • Réception   & Retour de messages, Invocation de service

 • Manipulation   des messages: affectations, boucles, ...

• Standard     Industriel d’assemblage de services

 • Maintien   du couplage lâche, Bus de Services (ESB), ...


                                27
CODE XML D’UNE
ORCHESTRATION...




        28
VISION «GRAPHE»




       29   (IDE Netbeans 6.5)
MISE EN OEUVRE :
DIFFUSEUR & ADMINISTRATION



            30
OBJECTIFS
• Problème      : Il faut «gérer» les informations !!

•   Diffusion d’informations :

    • Récupérer    les informations, « skinner » le diffuseur, ...

• Administration            :

    • Rentrer   les «news», configurer les différents écrans, ...

• Avec     des technologies simples & peu contraignantes

    • =>   On fait du Web !
                                        31
DIFFUSION
D’INFORMATIONS
CLIENT WEB / JAVASCRIPT
               32
AVANTAGES WEB :
     SKIN == STYLE CSS !!




http://.../?display=hall&tpl=polytech
http://.../?display=hall&tpl=n2i
                  33
BOUCLES DE DIFFUSION


             le
            c le
          u a
         o p
       B ci
        rin
       P

                     in ue
                   nt
                 Co
         u cle
       Bo    34
PRINCIPES D’AFFICHAGE
Provider




                35
PRINCIPES D’AFFICHAGE
Provider
            GetInformations




                     35
PRINCIPES D’AFFICHAGE
Provider
            GetInformations




                     35
PRINCIPES D’AFFICHAGE
Provider
            GetInformations

                 Dispatch




                     35
PRINCIPES D’AFFICHAGE
Provider




            display




                      35
PRINCIPES D’AFFICHAGE
Provider
                           Transform




            display




                      35
PRINCIPES D’AFFICHAGE
Provider
                           Transform




            display




                      35
PRINCIPES D’AFFICHAGE
Provider




            display




                      35
PRINCIPES D’AFFICHAGE
Provider




            display        Transform



                                getScreens

                      35
PRINCIPES D’AFFICHAGE
Provider




            display        Transform



                                getScreens

                      35
PRINCIPES D’AFFICHAGE
Provider




            display        Transform




                      35
PRINCIPES D’AFFICHAGE
Provider




            display




                      35
PRINCIPES D’AFFICHAGE
Provider
            GetInformations




            display




                      35
EXEMPLE DE TRANSFORMATION :
         FLUX RSS




             36
AVANTAGES: CRÉATION DE
TEMPLATES «IN A NUTSHELL»


                 Transformations




             Dispatch
            37
ADMINISTRATION DES
  INFORMATIONS



        38
SOLUTION NAÏVE :
      ACCÈS BASE DE DONNÉES
                               ...     ...
                  Provider
                                        ...
                         ...     ...
                               ...




Accès direct aux tables MySQL ...

                                 39
SOLUTION NAÏVE :
     ACCÈS BASE DE DONNÉES
                             ...     ...
                Provider
                                      ...
                       ...     ...
                             ...                t ir
                                              an ?
                                             r ?
                                           ga e
                                         t nc
                                       en re
                                      m hé
                                    m o
                                   o c
Accès direct aux tables MySQL ...
                                  C la
     XML ? SqLite ?
   Postgres ? Fichiers ?39
MÉTHODOLOGIE DE
         DÉVELOPPEMENT
            Provider
                              FeedBusiness
                   ...
                                  Diffuser les
                                 informations

           FeedFinder            FeedCRUD

Retrouver toutes                       Gérer le
les informations                       stockage
    existantes           40
PATTERN
  «BUSINESS ~ CRUD ~ FINDER»
• Business:

 • Diffuse       les informations utiles pour le client d’affichage

• CRUD       :                                FeedBusiness
 • Create, Read, Update, Delete

• Finder     :                            FeedCRUD

       (et explore) toutes les
 • Liste
   informations stockées
                                     41
                                                 FeedFinder
AVANTAGES DE CE PATTERN
• Maintenance       facilitée

 • Développement     cohérent

• Séparation     des préoccupations

 • Chaque    service est «simple»

• Interconnexion       assurée

 • Tout   est Web Services !!

                                42
RÉSULTAT : WEBADMIN




         43
CONCLUSIONS



     44
RÉSULTAT OBTENU:
UTILISATEURS & DÉVELOPPEURS



             45
POUR LES UTILISATEURS
• Un   système de diffusion d’information

  • Adapté    aux milieux scolaires

• Une    liaison avec les outils collaboratifs Web 2.0

  • Photos   Picasa / Flickr, Google Calendar, ...

• Une    installation « définitive » avec un ./install.sh

  • La   gestion des infos et des écrans passe ensuite par le Web

• Et   surtout adaptable à l’établissement

  • C’est   à une CSS près !!         46
POUR LES DÉVELOPPEURS
• Publication   de 23 Web Services pour la communauté

  • Twitter, Picasa, News, iCal, Cache   de données, Cantine, ...

• Diffusion   de 7 orchestrations « métier »

  • (Le Web   manque cruellement d’exemples BPEL & SOA)

• Diffusion   d’un « Provider » complet

  • Orchestrations   sources, manipulation de listes d’informations

• Mise   à disposition de jDisplayer et de WebAdmin

  • Exemple     de templates, de style CSS, ...                       47
PERSPECTIVES :
VERS UNE «COMMUNAUTÉ» ?



           48
NOUS AVONS BESOINS
         D’UTILISATEURS !!!!!!!
• jSeduite   est déployée à Polytech’Nice




• Partenariat   avec l’IES Clément Ader

  • Prise   en compte du handicap en cours ...

• Et   peut-être bientôt chez vous ??
                                   49
ET AUSSI DE
            DÉVELOPPEURS !!!!!!!
• Développement       de nouvelles sources d’informations ...

  • Horaires   des Bus, Vidéos YouTube, ...

• Ou     encore de nouveaux providers ...

  • Gestiondes pauses (informations filtrées),
   profils utilisateurs plus précis, ...

• Voir   de nouveaux interacteurs !!

  • Téléphone    portables, PDA, Desktop, ...
                                     50
PERSPECTIVES :
 « RECHERCHES »



       51
IDENTIFICATION DE
   FRAGMENTS RÉUTILISABLES
• Développement    de processus métiers par composition

 • Définir     initialement des processus métiers simples

 • Et   utiliser des fragments pour les enrichir

   • Capitaliser    les connaissances des architectes


 http://www.adore-design.org

                               52
EXEMPLE
• Processus     initial:

 • Récupérer   toutes les informations disponibles

• Fragments      :

 • «Pas   avant» + TV => pas la télé avant 16h

 • «Pas   après» + RestoU => plus de menu après 14h

 • «Mélanger»   + «Tronquer» + PictAlbum => photos différentes

• Système      final « customisé » sans avoir écrit de code !!

                                  53
GÉNÉRATION AUTOMATIQUE
 DE SYSTÈMES DE DIFFUSION
• Permettre    à l’utilisateur de définir ses informations

  • Menu, Alarmes, Absences, Flickr, Picasa, WeatherBug, ...

• Fournir   un ensemble de politiques

  • Pas   avant, Pas après, Mélanger, Authentifier, ...

• Laisser   l’utilisateur «cocher» ce dont il a besoin

  • Et   générer automagiquement l’application qu’il a spécifié
                                     54
CONSTRUCTION AUTOMATIQUE
D’ARCHITECTURE ORIENTÉES SERVICES
• Métamodélisation   des processus

 • Quel   est mon métier dans la SOA ?

 • Quelle   en est l’évolution ?

• Définition   de méta-outils

 • Composition       de processus

 • Génération      des codes associés
                               55
L’ÉQUIPE JSEDUITE
• Team     Leaders

 • Mireille   Blay - Fornarino, Sébastien Mosser

• Styles   CSS & Visuels

 • Céline Auzias   ( C.line Design )

• Etudiants      ayant participé au projet :

 • Clémentine   Delerce - Mauris,
   Lionel Palacin,
   Stéphane Martarello,
   Steve Colombié
                                  56
MERCI DE VOTRE ATTENTION !




http://www.jseduite.org

Mais conteúdo relacionado

Semelhante a Le Framework jSeduite

Présentation de l'offre IAM de LINAGORA LinID
Présentation de l'offre IAM de LINAGORA LinIDPrésentation de l'offre IAM de LINAGORA LinID
Présentation de l'offre IAM de LINAGORA LinIDMichel-Marie Maudet
 
BreizhCamp 2022
BreizhCamp 2022BreizhCamp 2022
BreizhCamp 2022SpikeeLabs
 
meetup devops aix-marseille - décembre 2023
meetup devops aix-marseille - décembre 2023meetup devops aix-marseille - décembre 2023
meetup devops aix-marseille - décembre 2023Frederic Leger
 
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020SEO CAMP
 
Séminaire LinID LINAGORA - juin 2009
Séminaire LinID LINAGORA - juin 2009Séminaire LinID LINAGORA - juin 2009
Séminaire LinID LINAGORA - juin 2009LINAGORA
 
MongoDB day Paris 2012
MongoDB day Paris 2012MongoDB day Paris 2012
MongoDB day Paris 2012FastConnect
 
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOCore Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOWeLoveSEO
 
Manage Traceability with Apache Atlas flexible metadata repository.
Manage Traceability with Apache Atlas flexible metadata repository.Manage Traceability with Apache Atlas flexible metadata repository.
Manage Traceability with Apache Atlas flexible metadata repository.OW2
 
CDAP, la boîte à outil pour concevoir vos applications Big Data
CDAP,  la boîte à outil pour concevoir vos applications Big DataCDAP,  la boîte à outil pour concevoir vos applications Big Data
CDAP, la boîte à outil pour concevoir vos applications Big DataSynaltic Group
 
Petit-déjeuner "Secteur Public : Retour d'expérience sur la refonte en agile ...
Petit-déjeuner "Secteur Public : Retour d'expérience sur la refonte en agile ...Petit-déjeuner "Secteur Public : Retour d'expérience sur la refonte en agile ...
Petit-déjeuner "Secteur Public : Retour d'expérience sur la refonte en agile ...OCTO Technology
 
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...Publicis Sapient Engineering
 
Digital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautésDigital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautésNeo4j
 
La Duck Conf - Initier un Datalab : rien à voir avec ce que j'imaginais !
La Duck Conf - Initier un Datalab : rien à voir avec ce que j'imaginais !La Duck Conf - Initier un Datalab : rien à voir avec ce que j'imaginais !
La Duck Conf - Initier un Datalab : rien à voir avec ce que j'imaginais !OCTO Technology
 
Filtrage WEB: SQUID ET SQUIDGARD
Filtrage WEB: SQUID ET SQUIDGARDFiltrage WEB: SQUID ET SQUIDGARD
Filtrage WEB: SQUID ET SQUIDGARDMohamet Lamine DIOP
 
Devoxx: Tribulation d'un développeur sur le Cloud
Devoxx: Tribulation d'un développeur sur le CloudDevoxx: Tribulation d'un développeur sur le Cloud
Devoxx: Tribulation d'un développeur sur le CloudTugdual Grall
 
Architecture Réseau des clouds privés avec Hyper-V et System Center Virtual M...
Architecture Réseau des clouds privés avec Hyper-V et System Center Virtual M...Architecture Réseau des clouds privés avec Hyper-V et System Center Virtual M...
Architecture Réseau des clouds privés avec Hyper-V et System Center Virtual M...Microsoft Technet France
 

Semelhante a Le Framework jSeduite (20)

Présentation de l'offre IAM de LINAGORA LinID
Présentation de l'offre IAM de LINAGORA LinIDPrésentation de l'offre IAM de LINAGORA LinID
Présentation de l'offre IAM de LINAGORA LinID
 
BreizhCamp 2022
BreizhCamp 2022BreizhCamp 2022
BreizhCamp 2022
 
meetup devops aix-marseille - décembre 2023
meetup devops aix-marseille - décembre 2023meetup devops aix-marseille - décembre 2023
meetup devops aix-marseille - décembre 2023
 
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
 
Axis2 clients fr
Axis2 clients frAxis2 clients fr
Axis2 clients fr
 
Séminaire LinID LINAGORA - juin 2009
Séminaire LinID LINAGORA - juin 2009Séminaire LinID LINAGORA - juin 2009
Séminaire LinID LINAGORA - juin 2009
 
MongoDB day Paris 2012
MongoDB day Paris 2012MongoDB day Paris 2012
MongoDB day Paris 2012
 
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOCore Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
 
Manage Traceability with Apache Atlas flexible metadata repository.
Manage Traceability with Apache Atlas flexible metadata repository.Manage Traceability with Apache Atlas flexible metadata repository.
Manage Traceability with Apache Atlas flexible metadata repository.
 
CDAP, la boîte à outil pour concevoir vos applications Big Data
CDAP,  la boîte à outil pour concevoir vos applications Big DataCDAP,  la boîte à outil pour concevoir vos applications Big Data
CDAP, la boîte à outil pour concevoir vos applications Big Data
 
Petit-déjeuner "Secteur Public : Retour d'expérience sur la refonte en agile ...
Petit-déjeuner "Secteur Public : Retour d'expérience sur la refonte en agile ...Petit-déjeuner "Secteur Public : Retour d'expérience sur la refonte en agile ...
Petit-déjeuner "Secteur Public : Retour d'expérience sur la refonte en agile ...
 
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
XebiCon'16 : Cloud et Maturité de SI. Par Stéphane Teyssier, Consultant chez ...
 
Digital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautésDigital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautés
 
Tutorial
TutorialTutorial
Tutorial
 
Stratégie Logicielle Sun Aquarium Paris
Stratégie Logicielle Sun Aquarium ParisStratégie Logicielle Sun Aquarium Paris
Stratégie Logicielle Sun Aquarium Paris
 
La Duck Conf - Initier un Datalab : rien à voir avec ce que j'imaginais !
La Duck Conf - Initier un Datalab : rien à voir avec ce que j'imaginais !La Duck Conf - Initier un Datalab : rien à voir avec ce que j'imaginais !
La Duck Conf - Initier un Datalab : rien à voir avec ce que j'imaginais !
 
Filtrage WEB: SQUID ET SQUIDGARD
Filtrage WEB: SQUID ET SQUIDGARDFiltrage WEB: SQUID ET SQUIDGARD
Filtrage WEB: SQUID ET SQUIDGARD
 
Devoxx: Tribulation d'un développeur sur le Cloud
Devoxx: Tribulation d'un développeur sur le CloudDevoxx: Tribulation d'un développeur sur le Cloud
Devoxx: Tribulation d'un développeur sur le Cloud
 
Architecture Réseau des clouds privés avec Hyper-V et System Center Virtual M...
Architecture Réseau des clouds privés avec Hyper-V et System Center Virtual M...Architecture Réseau des clouds privés avec Hyper-V et System Center Virtual M...
Architecture Réseau des clouds privés avec Hyper-V et System Center Virtual M...
 
RFID
RFIDRFID
RFID
 

Mais de Sébastien Mosser

A commutative model composition operator to support software adaptation
A commutative model composition operator to support software adaptationA commutative model composition operator to support software adaptation
A commutative model composition operator to support software adaptationSébastien Mosser
 
Towards CloudML, a Model-Based Approach to Provision Resources in the Clouds
Towards CloudML, a Model-Based Approach  to Provision Resources in the CloudsTowards CloudML, a Model-Based Approach  to Provision Resources in the Clouds
Towards CloudML, a Model-Based Approach to Provision Resources in the CloudsSébastien Mosser
 
Tools For Software Engineering
Tools For Software EngineeringTools For Software Engineering
Tools For Software EngineeringSébastien Mosser
 
Using Domain Feature to handle Feature Interactions
Using Domain Feature to handle Feature InteractionsUsing Domain Feature to handle Feature Interactions
Using Domain Feature to handle Feature InteractionsSébastien Mosser
 
Cloud Computing: From Revolution to Evolution
Cloud Computing: From Revolution to EvolutionCloud Computing: From Revolution to Evolution
Cloud Computing: From Revolution to EvolutionSébastien Mosser
 
Introducing Security Access Control Policies into Legacy Business Processes
Introducing Security Access Control Policies into Legacy Business ProcessesIntroducing Security Access Control Policies into Legacy Business Processes
Introducing Security Access Control Policies into Legacy Business ProcessesSébastien Mosser
 
Undoing Event-driven Adaptation of Business Processes
Undoing Event-driven Adaptation of Business ProcessesUndoing Event-driven Adaptation of Business Processes
Undoing Event-driven Adaptation of Business ProcessesSébastien Mosser
 
Talk Session COSMAL du GDR GPL 2011
Talk Session COSMAL du GDR GPL 2011Talk Session COSMAL du GDR GPL 2011
Talk Session COSMAL du GDR GPL 2011Sébastien Mosser
 
Behavioral Compositions in Service-Oriented Architecture
Behavioral Compositions in Service-Oriented ArchitectureBehavioral Compositions in Service-Oriented Architecture
Behavioral Compositions in Service-Oriented ArchitectureSébastien Mosser
 
jSeduite "Quickies" au Riviera JUG
jSeduite "Quickies" au Riviera JUGjSeduite "Quickies" au Riviera JUG
jSeduite "Quickies" au Riviera JUGSébastien Mosser
 
Taming Orchestration Design Using ADORE
Taming Orchestration Design Using ADORETaming Orchestration Design Using ADORE
Taming Orchestration Design Using ADORESébastien Mosser
 
Adore Demonstration (AOSD'10)
Adore Demonstration (AOSD'10)Adore Demonstration (AOSD'10)
Adore Demonstration (AOSD'10)Sébastien Mosser
 

Mais de Sébastien Mosser (17)

A commutative model composition operator to support software adaptation
A commutative model composition operator to support software adaptationA commutative model composition operator to support software adaptation
A commutative model composition operator to support software adaptation
 
Towards CloudML, a Model-Based Approach to Provision Resources in the Clouds
Towards CloudML, a Model-Based Approach  to Provision Resources in the CloudsTowards CloudML, a Model-Based Approach  to Provision Resources in the Clouds
Towards CloudML, a Model-Based Approach to Provision Resources in the Clouds
 
Tools For Software Engineering
Tools For Software EngineeringTools For Software Engineering
Tools For Software Engineering
 
Using Domain Feature to handle Feature Interactions
Using Domain Feature to handle Feature InteractionsUsing Domain Feature to handle Feature Interactions
Using Domain Feature to handle Feature Interactions
 
Cloud Computing: From Revolution to Evolution
Cloud Computing: From Revolution to EvolutionCloud Computing: From Revolution to Evolution
Cloud Computing: From Revolution to Evolution
 
Introducing Security Access Control Policies into Legacy Business Processes
Introducing Security Access Control Policies into Legacy Business ProcessesIntroducing Security Access Control Policies into Legacy Business Processes
Introducing Security Access Control Policies into Legacy Business Processes
 
Undoing Event-driven Adaptation of Business Processes
Undoing Event-driven Adaptation of Business ProcessesUndoing Event-driven Adaptation of Business Processes
Undoing Event-driven Adaptation of Business Processes
 
Talk Session COSMAL du GDR GPL 2011
Talk Session COSMAL du GDR GPL 2011Talk Session COSMAL du GDR GPL 2011
Talk Session COSMAL du GDR GPL 2011
 
Behavioral Compositions in Service-Oriented Architecture
Behavioral Compositions in Service-Oriented ArchitectureBehavioral Compositions in Service-Oriented Architecture
Behavioral Compositions in Service-Oriented Architecture
 
ADAM Seminary
ADAM SeminaryADAM Seminary
ADAM Seminary
 
Software Composition 2010
Software Composition 2010Software Composition 2010
Software Composition 2010
 
jSeduite "Quickies" au Riviera JUG
jSeduite "Quickies" au Riviera JUGjSeduite "Quickies" au Riviera JUG
jSeduite "Quickies" au Riviera JUG
 
jSeduite @UNICE Foundation
jSeduite @UNICE FoundationjSeduite @UNICE Foundation
jSeduite @UNICE Foundation
 
Taming Orchestration Design Using ADORE
Taming Orchestration Design Using ADORETaming Orchestration Design Using ADORE
Taming Orchestration Design Using ADORE
 
Adore Demonstration (AOSD'10)
Adore Demonstration (AOSD'10)Adore Demonstration (AOSD'10)
Adore Demonstration (AOSD'10)
 
Builsing DSL using MDE
Builsing DSL using MDEBuilsing DSL using MDE
Builsing DSL using MDE
 
Entrepôt'Lytech JM2L
Entrepôt'Lytech JM2LEntrepôt'Lytech JM2L
Entrepôt'Lytech JM2L
 

Último

GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxRayane619450
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfssuserc72852
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...Faga1939
 

Último (13)

GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
 

Le Framework jSeduite

  • 1. LE FRAMEWORK JSEDUITE SOA, WEB 2.0 & DIFFUSION D’INFORMATIONS Sébastien Mosser Université de Nice - Sophia Antipolis, CNRS, I3S, Equipe Modalis http://www.jseduite.org JM2L, 27 Novembre 2009
  • 2. 2
  • 3.
  • 4.
  • 5. LE WEB 2.0, UN WEB ... PARTICIPATIF !
  • 6. UN FRAMEWORK EST NÉCESSAIRE !!
  • 7. AGENDA • Une approche SOA • Mise en oeuvre : • Web Services & Orchestrations • Clients Web (Affichage / Admin) • Conclusions & Perspectives • Résultats obtenus • Communauté, Recherche
  • 9. EN (TRÈS TRÈS) BREF ... • «SOA» en 3 lignes et 20 mots: • Un «service» est une entité élémentaire • Lire un flux RSS, Interroger Picasa, Stocker des Tweets, ... • Une «processus métier» est un assemblage de services • Interroger Picasa & Flickr puis concatener les résultats • Une «architecture» est ... la somme des précédents ! 8
  • 10. PROPRIÉTÉS DES SERVICES • Sans état, Indépendant • Gros Grain PartnersKey • On ne fait pas de l’objet • Interface • Explicitation d’un contrat WeatherBug • Couplage lâche • Pas d’interconnections 9
  • 11. UN SERVICE EXPOSE DES OPÉRATIONS WeatherBug findCity(search) -> cities forecast(key,city) -> weather live(key,city) -> weather 10
  • 12. PROCESSUS MÉTIERS ? := receive() := PartnersKey::get(‘weather’) := WeatherBug::forecast( , ) reply( w ) 11
  • 13. UN PROCESSUS EST UNE OPÉRATION DE SERVICE ProxyMétéo getMétéo(city) -> weather := receive() PartnersKey := PartnersKey::get(‘weather’) := WeatherBug::forecast( , ) reply( w ) « Partenariat » WeatherBug 12
  • 14. ARCHITECTURE DE DIFFUSION D’INFORMATION ? Provider getMyInfo(id) -> info* 13
  • 15. VERSION NAÏVE RSS Provider TimeTable WeatherBug 14
  • 16. VERSION NAÏVE Cache RSS Provider TimeTable PartnersKey WeatherBug 14
  • 17. VERSION NAÏVE (IRL) Cache RSS Provider TimeTable PartnersKey WeatherBug 15
  • 18. VERSION NAÏVE (IRL) Pas vraiment «métier» !! Cache Provider PartnersKey 15
  • 19. VERSION NAÏVE (IRL) Pas vraiment «métier» !! Cache Provider PartnersKey Hétérogénéité des infos !! 15
  • 20. IDENTIFICATION DES MÉTIERS Cache RSS CachedReader PictAlbum Provider PartnersKey WeatherProxy TimeTable WeatherBug 16
  • 21. IDENTIFICATION DES MÉTIERS CachedReader PictAlbum Provider WeatherProxy 16
  • 22. IDENTIFICATION DES MÉTIERS CachedReader PictAlbum Provider WeatherProxy Hétérogénéité des infos !! 16
  • 23. SEDUITE 1.0 & SOURCES D’INFORMATION Cache FeedSource RSS CachedReader Provider PictSource PictAlbum PartnersKey WeatherSource WeatherProxy TTSource TimeTable WeatherBug 17
  • 24. SEDUITE 1.0 & SOURCES D’INFORMATION FeedSource Provider PictSource WeatherSource TTSource 17
  • 25. SEDUITE 1.0 & SOURCES D’INFORMATION FeedSource Provider PictSource WeatherSource TTSource 17
  • 26. AVANTAGES DE L’ARCHITECTURE • Maintenance facilitée • Orientation métier des processus • Couche d’abstraction «Info» • Ecriture d’outils génériques • Extensibilité assurée • Facilité d’ajout de nouveaux types d’info 18
  • 29. CHOIX TECHNOLOGIQUES • Environnement de production hétérogène • Technologie multi-plate-forme, e.g. Java • Univers SOA : Logiciels Propriétaires vs Preuve de concepts • Choix de Glassfish, Implém. de référence • Langages support stables, reconnus & outillés • (Web) Services en Java (JAX-WS), • Processus : Orchestrations BPEL • Exécution & Déploiement : Canevas JBI 21
  • 30. MISE EN OEUVRE : WEB SERVICES 22
  • 31. WEB SERVICES (JAVA JAX-WS) • Implémentation Java du standard Web Services • e.g., Requêtes SOAP, Contrats WSDL, Schémas XSD, ... • Les services sont des Classes Java • Avec quelques annotations supplémentaires • Les artefacts sont générés automagiquement • Contrats WSDL & Schémas XSD 23
  • 32. TYPE DE DONNÉES : HYPER_EVENT 24
  • 34. MISE EN OEUVRE : ORCHESTRATIONS 26
  • 35. BPEL : «BUSINESS PROCESS EXECUTION LANGUAGE» • Langage d’orchestration (XML) orienté messages • Réception & Retour de messages, Invocation de service • Manipulation des messages: affectations, boucles, ... • Standard Industriel d’assemblage de services • Maintien du couplage lâche, Bus de Services (ESB), ... 27
  • 37. VISION «GRAPHE» 29 (IDE Netbeans 6.5)
  • 38. MISE EN OEUVRE : DIFFUSEUR & ADMINISTRATION 30
  • 39. OBJECTIFS • Problème : Il faut «gérer» les informations !! • Diffusion d’informations : • Récupérer les informations, « skinner » le diffuseur, ... • Administration : • Rentrer les «news», configurer les différents écrans, ... • Avec des technologies simples & peu contraignantes • => On fait du Web ! 31
  • 41. AVANTAGES WEB : SKIN == STYLE CSS !! http://.../?display=hall&tpl=polytech http://.../?display=hall&tpl=n2i 33
  • 42. BOUCLES DE DIFFUSION le c le u a o p B ci rin P in ue nt Co u cle Bo 34
  • 44. PRINCIPES D’AFFICHAGE Provider GetInformations 35
  • 45. PRINCIPES D’AFFICHAGE Provider GetInformations 35
  • 46. PRINCIPES D’AFFICHAGE Provider GetInformations Dispatch 35
  • 48. PRINCIPES D’AFFICHAGE Provider Transform display 35
  • 49. PRINCIPES D’AFFICHAGE Provider Transform display 35
  • 51. PRINCIPES D’AFFICHAGE Provider display Transform getScreens 35
  • 52. PRINCIPES D’AFFICHAGE Provider display Transform getScreens 35
  • 53. PRINCIPES D’AFFICHAGE Provider display Transform 35
  • 55. PRINCIPES D’AFFICHAGE Provider GetInformations display 35
  • 56. EXEMPLE DE TRANSFORMATION : FLUX RSS 36
  • 57. AVANTAGES: CRÉATION DE TEMPLATES «IN A NUTSHELL» Transformations Dispatch 37
  • 58. ADMINISTRATION DES INFORMATIONS 38
  • 59. SOLUTION NAÏVE : ACCÈS BASE DE DONNÉES ... ... Provider ... ... ... ... Accès direct aux tables MySQL ... 39
  • 60. SOLUTION NAÏVE : ACCÈS BASE DE DONNÉES ... ... Provider ... ... ... ... t ir an ? r ? ga e t nc en re m hé m o o c Accès direct aux tables MySQL ... C la XML ? SqLite ? Postgres ? Fichiers ?39
  • 61. MÉTHODOLOGIE DE DÉVELOPPEMENT Provider FeedBusiness ... Diffuser les informations FeedFinder FeedCRUD Retrouver toutes Gérer le les informations stockage existantes 40
  • 62. PATTERN «BUSINESS ~ CRUD ~ FINDER» • Business: • Diffuse les informations utiles pour le client d’affichage • CRUD : FeedBusiness • Create, Read, Update, Delete • Finder : FeedCRUD (et explore) toutes les • Liste informations stockées 41 FeedFinder
  • 63. AVANTAGES DE CE PATTERN • Maintenance facilitée • Développement cohérent • Séparation des préoccupations • Chaque service est «simple» • Interconnexion assurée • Tout est Web Services !! 42
  • 67. POUR LES UTILISATEURS • Un système de diffusion d’information • Adapté aux milieux scolaires • Une liaison avec les outils collaboratifs Web 2.0 • Photos Picasa / Flickr, Google Calendar, ... • Une installation « définitive » avec un ./install.sh • La gestion des infos et des écrans passe ensuite par le Web • Et surtout adaptable à l’établissement • C’est à une CSS près !! 46
  • 68. POUR LES DÉVELOPPEURS • Publication de 23 Web Services pour la communauté • Twitter, Picasa, News, iCal, Cache de données, Cantine, ... • Diffusion de 7 orchestrations « métier » • (Le Web manque cruellement d’exemples BPEL & SOA) • Diffusion d’un « Provider » complet • Orchestrations sources, manipulation de listes d’informations • Mise à disposition de jDisplayer et de WebAdmin • Exemple de templates, de style CSS, ... 47
  • 69. PERSPECTIVES : VERS UNE «COMMUNAUTÉ» ? 48
  • 70. NOUS AVONS BESOINS D’UTILISATEURS !!!!!!! • jSeduite est déployée à Polytech’Nice • Partenariat avec l’IES Clément Ader • Prise en compte du handicap en cours ... • Et peut-être bientôt chez vous ?? 49
  • 71. ET AUSSI DE DÉVELOPPEURS !!!!!!! • Développement de nouvelles sources d’informations ... • Horaires des Bus, Vidéos YouTube, ... • Ou encore de nouveaux providers ... • Gestiondes pauses (informations filtrées), profils utilisateurs plus précis, ... • Voir de nouveaux interacteurs !! • Téléphone portables, PDA, Desktop, ... 50
  • 72. PERSPECTIVES : « RECHERCHES » 51
  • 73. IDENTIFICATION DE FRAGMENTS RÉUTILISABLES • Développement de processus métiers par composition • Définir initialement des processus métiers simples • Et utiliser des fragments pour les enrichir • Capitaliser les connaissances des architectes http://www.adore-design.org 52
  • 74. EXEMPLE • Processus initial: • Récupérer toutes les informations disponibles • Fragments : • «Pas avant» + TV => pas la télé avant 16h • «Pas après» + RestoU => plus de menu après 14h • «Mélanger» + «Tronquer» + PictAlbum => photos différentes • Système final « customisé » sans avoir écrit de code !! 53
  • 75. GÉNÉRATION AUTOMATIQUE DE SYSTÈMES DE DIFFUSION • Permettre à l’utilisateur de définir ses informations • Menu, Alarmes, Absences, Flickr, Picasa, WeatherBug, ... • Fournir un ensemble de politiques • Pas avant, Pas après, Mélanger, Authentifier, ... • Laisser l’utilisateur «cocher» ce dont il a besoin • Et générer automagiquement l’application qu’il a spécifié 54
  • 76. CONSTRUCTION AUTOMATIQUE D’ARCHITECTURE ORIENTÉES SERVICES • Métamodélisation des processus • Quel est mon métier dans la SOA ? • Quelle en est l’évolution ? • Définition de méta-outils • Composition de processus • Génération des codes associés 55
  • 77. L’ÉQUIPE JSEDUITE • Team Leaders • Mireille Blay - Fornarino, Sébastien Mosser • Styles CSS & Visuels • Céline Auzias ( C.line Design ) • Etudiants ayant participé au projet : • Clémentine Delerce - Mauris, Lionel Palacin, Stéphane Martarello, Steve Colombié 56
  • 78. MERCI DE VOTRE ATTENTION ! http://www.jseduite.org