SlideShare a Scribd company logo
QualiPSo Factory




mardi 5 octobre 2010
Context


        Forge is an on-line service that allows to
         instantiate, compose and manage
         collaborative services.
        Collaborative services are traditionally
         Version Control Systems, Bug Trackers,
         Forums, Mailing list, Wikis etc.




                                             2

mardi 5 octobre 2010
Motivations


        Many forges are available today
              Gforge, Trac, Launchpad, Codendi,
               FusionForge, Sourceforge, GoogleCode,
               CodePlex, etc.
        Very hard to bootstrap an eco-system




                                                 3

mardi 5 octobre 2010
Factory User Story


        The targeted user of the QualiPSo
         Factory is the developer of a new forge
         service
        A forge service developer must be able
         to create a new collaborative service
         very easily




                                             4

mardi 5 octobre 2010
Qualipso Factory Architecture


        The QualiPSo Factory is based on a
         component model
        Core services are provided by the forge
              Authentication, access control, binding,
               events, indexation, semantic
        Forge service developers reuse core/
         existing services to develop new
         collaborative services

                                                     5

mardi 5 octobre 2010
Qualipso Factory Architecture


        Technologies used:
              Java
              EJB3
              Web-fragment (Servlet 3.0 specification)
              GWT (Google Web Toolkit)
        Tools used
              Maven
              Eclipse
              JBoss
                                                     6

mardi 5 octobre 2010
Factory Assembly

                   Authentication
                      provider


                               Forge API

                             Browsing
                                               Binding
                              Service                        WS-binding
                                                                              Service 1
                               Core           Notificatio
  Client                      Service             n          WS-binding
              WS-binding
                                                                              Service 2
                              Security
                              Service         Indexation     WS-binding

                           Abstract Service                                   Service 3
                                  1
                           Abstract Service
                                  2
                           Abstract Service
                                  3


                                                                          7

mardi 5 octobre 2010
Factory Benefits


        The factory core is a kernel to bootstrap an eco-
         system
           The kernel is maintainable, dependable and usable.


        The QualiPSo Factory allows composition of services
           i.e. the workflow service orchestrate project

            creation.
        The QualiPSo Factory allows composition of
         resources i.e. create complex resource by composing
         simple resource.
           i.e. a “File” resource can be child of a “Forum”

            resource or a “Issue” resource.

                                                      8

mardi 5 octobre 2010
Sample Factory Instance

           /

               /p1 : project

                  /p1/b1 : bugtracker

                  /p1/svn1 : svn repo
                                                        FactoryResourceIdentifier
                 /p1/q1 : index queue        subversion:repository:http://svn.qualipso.org/svn/repo1
                                            Service Name        Resource Name           External ID
                  /p1/buc1 : s3 bucket

            /users : folder
                                                       Triple expression for rules :
                  /users/u1 : profile                    Security : (/users/u1,read,/p1/svn1)
                                                         Notification : (*,commit,/p1/svn1)
                       /users/u1/a1 : activity feed      Semantic: (/users/u1, a, /factory#user)


                                                                                    9

mardi 5 octobre 2010
Developing
                       Factory Services


mardi 5 octobre 2010
Creating a new Abstract Service

                       Steps for adding factory services

                       1. Instantiate an empty project with maven
                          archetype
                       2. Define Service Interface
      Service          3. Implements Service
     Developer         4. Test service locally
                       5. Publish your Service

                       6. Assemble your new service with existing ones
                       7. Deploy your assembly
      Factory          8. Run external service tests
    Administrator


                                                                11

mardi 5 octobre 2010
New Factory Assembly

                   Authentication
                      provider


                               Forge API

                             Browsing
                                               Binding
                              Service                      WS-binding
                                                                         Service 1
                               Core           Notificatio
  Client                      Service             n        WS-binding
              WS-binding
                                                                         Service 2
                              Security
                              Service         Indexation   WS-binding

                           Abstract Service                              Service 3
                                  1
                           Abstract Service
                                  2
                                               Storage                       Amazon
                           Abstract Service    Service                         S3
                                  3                        WS-binding



                                                                        12

mardi 5 octobre 2010
Results


      The developer of a new forge service is the
       targeted user of the QualiPSo Factory

      A forge service developer is able to create a new
       collaborative service very easily by following the
       provided methodology

      This QualiPSo Factory component model allows
       to fulfill these objectives


                                                  13

mardi 5 octobre 2010
Developing
                 Factory Services UI


mardi 5 octobre 2010
Objectives




      Extrapolate the same component model, but on
       the UI side

      Use the same tools, the same language, the same
       methodology, the same model




                                               15

mardi 5 octobre 2010
Building UI Component

                       Steps to develop a new UI Component

                       1.   Create new service UI using maven archetype
                       2.   Define components Views
                       3.   Define components Events
        Service
                       4.   Implements component Views
       Developer       5.   Implements server communication
                       6.   Test server communication and UI locally
                       7.   Assemble your new service with existing services
                       8. Deploy your assembly
                       9. Run external tests (selenium)
        Factory
      Administrator


                                                                  16

mardi 5 octobre 2010
Assemble Factory UI Components

                                                 Authentication
                                                    provider

               Web browser
                                     Web Container
                                      Web Container
                                                                   Forge API
                       Browsing       Browsing                    Browsing
                        UI part      component                     Service
        E
        v
        e         Core service       Core service
                    UI part                                         Core
        n                            component
                                                                   Service
        t
                       Security        Security                   Security
        B
                        UI part      component                    Service
        u
        s
                          S3            S3                           S3
                        UI part      component                     Service

              OPContainer                                          17

mardi 5 octobre 2010
Results


     Created a component model based on GWT allowing
     separated component development and cold assembly

             UI Components are maven-based as abstract
              services
             Same language for abstract services and UI
              components
             Complete development process can be done in the
              same IDE
             Integration in a Single Page Composite Interface

                                                       18

mardi 5 octobre 2010
Conclusion


        The kernel component model gives
         developers the ability to contribute
         easily writing server side and also client
         side (UI) extensions in a uniform way

        QualiPSo Factory aims to promote the
         emergence of a forge eco-system


                                             19

mardi 5 octobre 2010
Open Source

        LPGL
        Sources :
         https://gforge.inria.fr/projects/qualipso/
        Contribution of 2 open-sources libraries
         for GWT:
          OpenParts (loadable components)

          QGWT (Qualipso Graphical Widget

           Toolkit)


                       http://qualipso.org      20

mardi 5 octobre 2010
Demo
                       (screencast)


mardi 5 octobre 2010

More Related Content

What's hot

Quality on Submit
Quality on SubmitQuality on Submit
Quality on Submit
AgileSparks
 
OSGi-enabled Java EE applications in GlassFish
OSGi-enabled Java EE applications in GlassFishOSGi-enabled Java EE applications in GlassFish
OSGi-enabled Java EE applications in GlassFish
Arun Gupta
 
03.eGovFrame Runtime Environment Training Book Supplement
03.eGovFrame Runtime Environment Training Book Supplement03.eGovFrame Runtime Environment Training Book Supplement
03.eGovFrame Runtime Environment Training Book Supplement
Chuong Nguyen
 
Aws sdk-php-guide
Aws sdk-php-guideAws sdk-php-guide
Aws sdk-php-guide
Samphan Khamthon
 
Spring Performance Gains
Spring Performance GainsSpring Performance Gains
Spring Performance Gains
VMware Tanzu
 
Android IPC Mechanism
Android IPC MechanismAndroid IPC Mechanism
Android IPC Mechanism
National Cheng Kung University
 
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
Arun Gupta
 
From Ant to Maven to Gradle a tale of CI tools for JVM
From Ant to Maven to Gradle a tale of CI tools for JVMFrom Ant to Maven to Gradle a tale of CI tools for JVM
From Ant to Maven to Gradle a tale of CI tools for JVM
Bucharest Java User Group
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration Backend
Arun Gupta
 
GlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUGGlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUG
Arun Gupta
 
OVF 1.0 Whitepaper
OVF 1.0 WhitepaperOVF 1.0 Whitepaper
OVF 1.0 Whitepaperguest2f52730
 
Modules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module SystemModules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module System
Tim Ellison
 
02.egovFrame Development Environment workshop I
02.egovFrame  Development Environment workshop I02.egovFrame  Development Environment workshop I
02.egovFrame Development Environment workshop I
Chuong Nguyen
 
02. egovFrame Development Environment workshop II en(nexus&ci)
02. egovFrame Development Environment workshop II en(nexus&ci)02. egovFrame Development Environment workshop II en(nexus&ci)
02. egovFrame Development Environment workshop II en(nexus&ci)
Chuong Nguyen
 
Dalvik Vm & Jit
Dalvik Vm & JitDalvik Vm & Jit
Dalvik Vm & JitAnkit Somani
 
Android ipm 20110409
Android ipm 20110409Android ipm 20110409
Android ipm 20110409
Tetsuyuki Kobayashi
 
Introducing JSR-283
Introducing JSR-283Introducing JSR-283
Introducing JSR-283
David Nuescheler
 
Introduction to OSGi
Introduction to OSGiIntroduction to OSGi
Introduction to OSGi
Alexandre de Castro Alves
 
Equinox -The adoption of the OSGi standard in enterprise solutions
Equinox -The adoption of the OSGi standard in enterprise solutions Equinox -The adoption of the OSGi standard in enterprise solutions
Equinox -The adoption of the OSGi standard in enterprise solutions
SpagoWorld
 

What's hot (20)

Quality on Submit
Quality on SubmitQuality on Submit
Quality on Submit
 
OSGi-enabled Java EE applications in GlassFish
OSGi-enabled Java EE applications in GlassFishOSGi-enabled Java EE applications in GlassFish
OSGi-enabled Java EE applications in GlassFish
 
03.eGovFrame Runtime Environment Training Book Supplement
03.eGovFrame Runtime Environment Training Book Supplement03.eGovFrame Runtime Environment Training Book Supplement
03.eGovFrame Runtime Environment Training Book Supplement
 
Aws sdk-php-guide
Aws sdk-php-guideAws sdk-php-guide
Aws sdk-php-guide
 
Spring Performance Gains
Spring Performance GainsSpring Performance Gains
Spring Performance Gains
 
Android IPC Mechanism
Android IPC MechanismAndroid IPC Mechanism
Android IPC Mechanism
 
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
 
From Ant to Maven to Gradle a tale of CI tools for JVM
From Ant to Maven to Gradle a tale of CI tools for JVMFrom Ant to Maven to Gradle a tale of CI tools for JVM
From Ant to Maven to Gradle a tale of CI tools for JVM
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration Backend
 
GlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUGGlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUG
 
OVF 1.0 Whitepaper
OVF 1.0 WhitepaperOVF 1.0 Whitepaper
OVF 1.0 Whitepaper
 
Modules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module SystemModules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module System
 
02.egovFrame Development Environment workshop I
02.egovFrame  Development Environment workshop I02.egovFrame  Development Environment workshop I
02.egovFrame Development Environment workshop I
 
02. egovFrame Development Environment workshop II en(nexus&ci)
02. egovFrame Development Environment workshop II en(nexus&ci)02. egovFrame Development Environment workshop II en(nexus&ci)
02. egovFrame Development Environment workshop II en(nexus&ci)
 
Maven nutshell
Maven nutshellMaven nutshell
Maven nutshell
 
Dalvik Vm & Jit
Dalvik Vm & JitDalvik Vm & Jit
Dalvik Vm & Jit
 
Android ipm 20110409
Android ipm 20110409Android ipm 20110409
Android ipm 20110409
 
Introducing JSR-283
Introducing JSR-283Introducing JSR-283
Introducing JSR-283
 
Introduction to OSGi
Introduction to OSGiIntroduction to OSGi
Introduction to OSGi
 
Equinox -The adoption of the OSGi standard in enterprise solutions
Equinox -The adoption of the OSGi standard in enterprise solutions Equinox -The adoption of the OSGi standard in enterprise solutions
Equinox -The adoption of the OSGi standard in enterprise solutions
 

Viewers also liked

Digipak Research
Digipak ResearchDigipak Research
Digipak ResearchJodieann46
 
Social media in business
Social media in businessSocial media in business
Social media in businessbrittanyag
 
Media Evaluation
Media EvaluationMedia Evaluation
Media EvaluationJodieann46
 
Main Image Ideas
Main Image IdeasMain Image Ideas
Main Image IdeasJodieann46
 
Operations Department Budget
Operations Department BudgetOperations Department Budget
Operations Department Budget
stanes
 
Media Evaluation Part 2
Media Evaluation Part 2Media Evaluation Part 2
Media Evaluation Part 2Jodieann46
 
Microsoft powerpoint
Microsoft powerpointMicrosoft powerpoint
Microsoft powerpointxbbr
 
Media Evaluation
Media EvaluationMedia Evaluation
Media EvaluationJodieann46
 
Media Evaluation
Media EvaluationMedia Evaluation
Media EvaluationJodieann46
 
/Home/rccuser/nuclease syuva
/Home/rccuser/nuclease syuva/Home/rccuser/nuclease syuva
/Home/rccuser/nuclease syuva
yuva13
 
Presentation props etc
Presentation props etcPresentation props etc
Presentation props etcJodieann46
 
2010 mk catalog_lowres
2010 mk catalog_lowres2010 mk catalog_lowres
2010 mk catalog_lowresrobertguruz
 
INTERNAL AUDIT IN PHARMACEUTICAL- AN ESSENTIAL TOOL
INTERNAL AUDIT IN PHARMACEUTICAL- AN ESSENTIAL TOOLINTERNAL AUDIT IN PHARMACEUTICAL- AN ESSENTIAL TOOL
INTERNAL AUDIT IN PHARMACEUTICAL- AN ESSENTIAL TOOL
Mayur Parmar
 
playence: Media Annotation and Search
playence: Media Annotation and Searchplayence: Media Annotation and Search
playence: Media Annotation and Search
Katharina Siorpaes
 
INTERNAL AUDIT IN PHARMACEUTICAL- AN ESSENTIAL TOOL
INTERNAL AUDIT IN PHARMACEUTICAL- AN ESSENTIAL TOOLINTERNAL AUDIT IN PHARMACEUTICAL- AN ESSENTIAL TOOL
INTERNAL AUDIT IN PHARMACEUTICAL- AN ESSENTIAL TOOL
Mayur Parmar
 
2010 bcr catalog_lowres
2010 bcr catalog_lowres2010 bcr catalog_lowres
2010 bcr catalog_lowresrobertguruz
 
Editing Photos
Editing PhotosEditing Photos
Editing PhotosJodieann46
 

Viewers also liked (18)

Digipak Research
Digipak ResearchDigipak Research
Digipak Research
 
Social media in business
Social media in businessSocial media in business
Social media in business
 
Media Evaluation
Media EvaluationMedia Evaluation
Media Evaluation
 
Main Image Ideas
Main Image IdeasMain Image Ideas
Main Image Ideas
 
Operations Department Budget
Operations Department BudgetOperations Department Budget
Operations Department Budget
 
Media Evaluation Part 2
Media Evaluation Part 2Media Evaluation Part 2
Media Evaluation Part 2
 
Microsoft powerpoint
Microsoft powerpointMicrosoft powerpoint
Microsoft powerpoint
 
Media Evaluation
Media EvaluationMedia Evaluation
Media Evaluation
 
Media Evaluation
Media EvaluationMedia Evaluation
Media Evaluation
 
/Home/rccuser/nuclease syuva
/Home/rccuser/nuclease syuva/Home/rccuser/nuclease syuva
/Home/rccuser/nuclease syuva
 
Presentation props etc
Presentation props etcPresentation props etc
Presentation props etc
 
2010 mk catalog_lowres
2010 mk catalog_lowres2010 mk catalog_lowres
2010 mk catalog_lowres
 
INTERNAL AUDIT IN PHARMACEUTICAL- AN ESSENTIAL TOOL
INTERNAL AUDIT IN PHARMACEUTICAL- AN ESSENTIAL TOOLINTERNAL AUDIT IN PHARMACEUTICAL- AN ESSENTIAL TOOL
INTERNAL AUDIT IN PHARMACEUTICAL- AN ESSENTIAL TOOL
 
playence: Media Annotation and Search
playence: Media Annotation and Searchplayence: Media Annotation and Search
playence: Media Annotation and Search
 
INTERNAL AUDIT IN PHARMACEUTICAL- AN ESSENTIAL TOOL
INTERNAL AUDIT IN PHARMACEUTICAL- AN ESSENTIAL TOOLINTERNAL AUDIT IN PHARMACEUTICAL- AN ESSENTIAL TOOL
INTERNAL AUDIT IN PHARMACEUTICAL- AN ESSENTIAL TOOL
 
Props.
Props.Props.
Props.
 
2010 bcr catalog_lowres
2010 bcr catalog_lowres2010 bcr catalog_lowres
2010 bcr catalog_lowres
 
Editing Photos
Editing PhotosEditing Photos
Editing Photos
 

Similar to Qualipso factory

Connected Applications using WF and WCF
Connected Applications using WF and WCFConnected Applications using WF and WCF
Connected Applications using WF and WCF
maddinapudi
 
Cluedin JavaOne 2009
Cluedin JavaOne 2009Cluedin JavaOne 2009
Cluedin JavaOne 2009
aegloff
 
Beyond OSGi Software Architecture
Beyond OSGi Software ArchitectureBeyond OSGi Software Architecture
Beyond OSGi Software Architecture
Jeroen van Grondelle
 
DevOps for Mobile - DevOpsDays, NY, 2013
DevOps for Mobile - DevOpsDays, NY, 2013DevOps for Mobile - DevOpsDays, NY, 2013
DevOps for Mobile - DevOpsDays, NY, 2013
Sanjeev Sharma
 
OSGi Remote Services With Sca
OSGi Remote Services With ScaOSGi Remote Services With Sca
OSGi Remote Services With Sca
mfrancis
 
Dynamic and modular Web Applications with Equinox and Vaadin
Dynamic and modular Web Applications with Equinox and VaadinDynamic and modular Web Applications with Equinox and Vaadin
Dynamic and modular Web Applications with Equinox and Vaadin
Kai Tödter
 
Chef in the cloud [dbccg]
Chef in the cloud [dbccg]Chef in the cloud [dbccg]
Chef in the cloud [dbccg]
jtimberman
 
Lync 2010 Conferencing Deep Dive
Lync 2010 Conferencing Deep DiveLync 2010 Conferencing Deep Dive
Lync 2010 Conferencing Deep Dive
Harold Wong
 
SQL Server 2008 para Implementar Biztalk
SQL Server 2008 para Implementar BiztalkSQL Server 2008 para Implementar Biztalk
SQL Server 2008 para Implementar Biztalk
Eduardo Castro
 
Distributed OSGi Demo Eclipsecon 2009
Distributed OSGi Demo Eclipsecon 2009Distributed OSGi Demo Eclipsecon 2009
Distributed OSGi Demo Eclipsecon 2009
David Bosschaert
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
Volker Linz
 
Advanced Data Widgets and Server Integration
Advanced Data Widgets and Server IntegrationAdvanced Data Widgets and Server Integration
Advanced Data Widgets and Server Integration
Sencha
 
Windows Azure For Architects
Windows Azure For ArchitectsWindows Azure For Architects
Windows Azure For Architects
Anko Duizer
 
Introduction to the SQL and Windows Azure Platform
Introduction to the SQL and Windows Azure PlatformIntroduction to the SQL and Windows Azure Platform
Introduction to the SQL and Windows Azure Platform
Eduardo Castro
 
Taming Beastly Web Applications with Server-Side OSGi
Taming Beastly Web Applications with Server-Side OSGiTaming Beastly Web Applications with Server-Side OSGi
Taming Beastly Web Applications with Server-Side OSGi
mrdon
 
Scaling Twilio - Evan Cooke - Twilio Conference 2011
Scaling Twilio - Evan Cooke - Twilio Conference 2011Scaling Twilio - Evan Cooke - Twilio Conference 2011
Scaling Twilio - Evan Cooke - Twilio Conference 2011
Twilio Inc
 
Exchange 2013 ABC's: Architecture, Best Practices and Client Access
Exchange 2013 ABC's: Architecture, Best Practices and Client AccessExchange 2013 ABC's: Architecture, Best Practices and Client Access
Exchange 2013 ABC's: Architecture, Best Practices and Client Access
Microsoft TechNet - Belgium and Luxembourg
 
DataStax | DSE Production-Certified Cassandra on Pivotal Cloud Foundry (Ben L...
DataStax | DSE Production-Certified Cassandra on Pivotal Cloud Foundry (Ben L...DataStax | DSE Production-Certified Cassandra on Pivotal Cloud Foundry (Ben L...
DataStax | DSE Production-Certified Cassandra on Pivotal Cloud Foundry (Ben L...
DataStax
 

Similar to Qualipso factory (20)

Connected Applications using WF and WCF
Connected Applications using WF and WCFConnected Applications using WF and WCF
Connected Applications using WF and WCF
 
Cluedin JavaOne 2009
Cluedin JavaOne 2009Cluedin JavaOne 2009
Cluedin JavaOne 2009
 
Beyond OSGi Software Architecture
Beyond OSGi Software ArchitectureBeyond OSGi Software Architecture
Beyond OSGi Software Architecture
 
DevOps for Mobile - DevOpsDays, NY, 2013
DevOps for Mobile - DevOpsDays, NY, 2013DevOps for Mobile - DevOpsDays, NY, 2013
DevOps for Mobile - DevOpsDays, NY, 2013
 
OSGi Remote Services With Sca
OSGi Remote Services With ScaOSGi Remote Services With Sca
OSGi Remote Services With Sca
 
Dynamic and modular Web Applications with Equinox and Vaadin
Dynamic and modular Web Applications with Equinox and VaadinDynamic and modular Web Applications with Equinox and Vaadin
Dynamic and modular Web Applications with Equinox and Vaadin
 
Chef in the cloud [dbccg]
Chef in the cloud [dbccg]Chef in the cloud [dbccg]
Chef in the cloud [dbccg]
 
Lync 2010 Conferencing Deep Dive
Lync 2010 Conferencing Deep DiveLync 2010 Conferencing Deep Dive
Lync 2010 Conferencing Deep Dive
 
Session10part2 Servers Detailed
Session10part2  Servers DetailedSession10part2  Servers Detailed
Session10part2 Servers Detailed
 
Session9part2 Servers Detailed
Session9part2  Servers DetailedSession9part2  Servers Detailed
Session9part2 Servers Detailed
 
SQL Server 2008 para Implementar Biztalk
SQL Server 2008 para Implementar BiztalkSQL Server 2008 para Implementar Biztalk
SQL Server 2008 para Implementar Biztalk
 
Distributed OSGi Demo Eclipsecon 2009
Distributed OSGi Demo Eclipsecon 2009Distributed OSGi Demo Eclipsecon 2009
Distributed OSGi Demo Eclipsecon 2009
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
 
Advanced Data Widgets and Server Integration
Advanced Data Widgets and Server IntegrationAdvanced Data Widgets and Server Integration
Advanced Data Widgets and Server Integration
 
Windows Azure For Architects
Windows Azure For ArchitectsWindows Azure For Architects
Windows Azure For Architects
 
Introduction to the SQL and Windows Azure Platform
Introduction to the SQL and Windows Azure PlatformIntroduction to the SQL and Windows Azure Platform
Introduction to the SQL and Windows Azure Platform
 
Taming Beastly Web Applications with Server-Side OSGi
Taming Beastly Web Applications with Server-Side OSGiTaming Beastly Web Applications with Server-Side OSGi
Taming Beastly Web Applications with Server-Side OSGi
 
Scaling Twilio - Evan Cooke - Twilio Conference 2011
Scaling Twilio - Evan Cooke - Twilio Conference 2011Scaling Twilio - Evan Cooke - Twilio Conference 2011
Scaling Twilio - Evan Cooke - Twilio Conference 2011
 
Exchange 2013 ABC's: Architecture, Best Practices and Client Access
Exchange 2013 ABC's: Architecture, Best Practices and Client AccessExchange 2013 ABC's: Architecture, Best Practices and Client Access
Exchange 2013 ABC's: Architecture, Best Practices and Client Access
 
DataStax | DSE Production-Certified Cassandra on Pivotal Cloud Foundry (Ben L...
DataStax | DSE Production-Certified Cassandra on Pivotal Cloud Foundry (Ben L...DataStax | DSE Production-Certified Cassandra on Pivotal Cloud Foundry (Ben L...
DataStax | DSE Production-Certified Cassandra on Pivotal Cloud Foundry (Ben L...
 

Recently uploaded

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 

Recently uploaded (20)

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 

Qualipso factory

  • 2. Context  Forge is an on-line service that allows to instantiate, compose and manage collaborative services.  Collaborative services are traditionally Version Control Systems, Bug Trackers, Forums, Mailing list, Wikis etc. 2 mardi 5 octobre 2010
  • 3. Motivations  Many forges are available today  Gforge, Trac, Launchpad, Codendi, FusionForge, Sourceforge, GoogleCode, CodePlex, etc.  Very hard to bootstrap an eco-system 3 mardi 5 octobre 2010
  • 4. Factory User Story  The targeted user of the QualiPSo Factory is the developer of a new forge service  A forge service developer must be able to create a new collaborative service very easily 4 mardi 5 octobre 2010
  • 5. Qualipso Factory Architecture  The QualiPSo Factory is based on a component model  Core services are provided by the forge  Authentication, access control, binding, events, indexation, semantic  Forge service developers reuse core/ existing services to develop new collaborative services 5 mardi 5 octobre 2010
  • 6. Qualipso Factory Architecture  Technologies used:  Java  EJB3  Web-fragment (Servlet 3.0 specification)  GWT (Google Web Toolkit)  Tools used  Maven  Eclipse  JBoss 6 mardi 5 octobre 2010
  • 7. Factory Assembly Authentication provider Forge API Browsing Binding Service WS-binding Service 1 Core Notificatio Client Service n WS-binding WS-binding Service 2 Security Service Indexation WS-binding Abstract Service Service 3 1 Abstract Service 2 Abstract Service 3 7 mardi 5 octobre 2010
  • 8. Factory Benefits  The factory core is a kernel to bootstrap an eco- system  The kernel is maintainable, dependable and usable.  The QualiPSo Factory allows composition of services  i.e. the workflow service orchestrate project creation.  The QualiPSo Factory allows composition of resources i.e. create complex resource by composing simple resource.  i.e. a “File” resource can be child of a “Forum” resource or a “Issue” resource. 8 mardi 5 octobre 2010
  • 9. Sample Factory Instance / /p1 : project /p1/b1 : bugtracker /p1/svn1 : svn repo FactoryResourceIdentifier /p1/q1 : index queue subversion:repository:http://svn.qualipso.org/svn/repo1 Service Name Resource Name External ID /p1/buc1 : s3 bucket /users : folder Triple expression for rules : /users/u1 : profile Security : (/users/u1,read,/p1/svn1) Notification : (*,commit,/p1/svn1) /users/u1/a1 : activity feed Semantic: (/users/u1, a, /factory#user) 9 mardi 5 octobre 2010
  • 10. Developing Factory Services mardi 5 octobre 2010
  • 11. Creating a new Abstract Service Steps for adding factory services 1. Instantiate an empty project with maven archetype 2. Define Service Interface Service 3. Implements Service Developer 4. Test service locally 5. Publish your Service 6. Assemble your new service with existing ones 7. Deploy your assembly Factory 8. Run external service tests Administrator 11 mardi 5 octobre 2010
  • 12. New Factory Assembly Authentication provider Forge API Browsing Binding Service WS-binding Service 1 Core Notificatio Client Service n WS-binding WS-binding Service 2 Security Service Indexation WS-binding Abstract Service Service 3 1 Abstract Service 2 Storage Amazon Abstract Service Service S3 3 WS-binding 12 mardi 5 octobre 2010
  • 13. Results  The developer of a new forge service is the targeted user of the QualiPSo Factory  A forge service developer is able to create a new collaborative service very easily by following the provided methodology  This QualiPSo Factory component model allows to fulfill these objectives 13 mardi 5 octobre 2010
  • 14. Developing Factory Services UI mardi 5 octobre 2010
  • 15. Objectives  Extrapolate the same component model, but on the UI side  Use the same tools, the same language, the same methodology, the same model 15 mardi 5 octobre 2010
  • 16. Building UI Component Steps to develop a new UI Component 1. Create new service UI using maven archetype 2. Define components Views 3. Define components Events Service 4. Implements component Views Developer 5. Implements server communication 6. Test server communication and UI locally 7. Assemble your new service with existing services 8. Deploy your assembly 9. Run external tests (selenium) Factory Administrator 16 mardi 5 octobre 2010
  • 17. Assemble Factory UI Components Authentication provider Web browser Web Container Web Container Forge API Browsing Browsing Browsing UI part component Service E v e Core service Core service UI part Core n component Service t Security Security Security B UI part component Service u s S3 S3 S3 UI part component Service OPContainer 17 mardi 5 octobre 2010
  • 18. Results Created a component model based on GWT allowing separated component development and cold assembly  UI Components are maven-based as abstract services  Same language for abstract services and UI components  Complete development process can be done in the same IDE  Integration in a Single Page Composite Interface 18 mardi 5 octobre 2010
  • 19. Conclusion  The kernel component model gives developers the ability to contribute easily writing server side and also client side (UI) extensions in a uniform way  QualiPSo Factory aims to promote the emergence of a forge eco-system 19 mardi 5 octobre 2010
  • 20. Open Source  LPGL  Sources : https://gforge.inria.fr/projects/qualipso/  Contribution of 2 open-sources libraries for GWT:  OpenParts (loadable components)  QGWT (Qualipso Graphical Widget Toolkit) http://qualipso.org 20 mardi 5 octobre 2010
  • 21. Demo (screencast) mardi 5 octobre 2010