SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Quality on Submit
Quality on SubmitQuality on Submit
Quality on SubmitAgileSparks
 
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 GlassFishArun 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 SupplementChuong Nguyen
 
Spring Performance Gains
Spring Performance GainsSpring Performance Gains
Spring Performance GainsVMware Tanzu
 
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 2012Arun 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 JVMBucharest Java User Group
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration BackendArun Gupta
 
GlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUGGlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUGArun 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 SystemTim Ellison
 
02.egovFrame Development Environment workshop I
02.egovFrame  Development Environment workshop I02.egovFrame  Development Environment workshop I
02.egovFrame Development Environment workshop IChuong 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
 
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
 

Mais procurados (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
 

Destaque

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 Budgetstanes
 
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 syuvayuva13
 
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 TOOLMayur Parmar
 
playence: Media Annotation and Search
playence: Media Annotation and Searchplayence: Media Annotation and Search
playence: Media Annotation and SearchKatharina 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 TOOLMayur Parmar
 
2010 bcr catalog_lowres
2010 bcr catalog_lowres2010 bcr catalog_lowres
2010 bcr catalog_lowresrobertguruz
 
Editing Photos
Editing PhotosEditing Photos
Editing PhotosJodieann46
 

Destaque (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
 

Semelhante a Qualipso factory

Connected Applications using WF and WCF
Connected Applications using WF and WCFConnected Applications using WF and WCF
Connected Applications using WF and WCFmaddinapudi
 
Cluedin JavaOne 2009
Cluedin JavaOne 2009Cluedin JavaOne 2009
Cluedin JavaOne 2009aegloff
 
DevOps for Mobile - DevOpsDays, NY, 2013
DevOps for Mobile - DevOpsDays, NY, 2013DevOps for Mobile - DevOpsDays, NY, 2013
DevOps for Mobile - DevOpsDays, NY, 2013Sanjeev Sharma
 
OSGi Remote Services With Sca
OSGi Remote Services With ScaOSGi Remote Services With Sca
OSGi Remote Services With Scamfrancis
 
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 VaadinKai 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 DiveHarold Wong
 
SQL Server 2008 para Implementar Biztalk
SQL Server 2008 para Implementar BiztalkSQL Server 2008 para Implementar Biztalk
SQL Server 2008 para Implementar BiztalkEduardo Castro
 
Distributed OSGi Demo Eclipsecon 2009
Distributed OSGi Demo Eclipsecon 2009Distributed OSGi Demo Eclipsecon 2009
Distributed OSGi Demo Eclipsecon 2009David 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 IntegrationSencha
 
Windows Azure For Architects
Windows Azure For ArchitectsWindows Azure For Architects
Windows Azure For ArchitectsAnko 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 PlatformEduardo 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 OSGimrdon
 
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 2011Twilio Inc
 
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
 

Semelhante a 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...
 

Último

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 

Último (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 

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