SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
From NeXTStep to WebOjects
Building a Free Open source ERP for French Higher Education


Aurélien Minet
Association Cocktail


August 29, 2010, Montreal
Cocktail History
                                 Today
                            Tomorrow


Agenda

   • History
        • At the beginning
        • Evolution
        • The consortium
        • The association
   • Today
        • Applications
        • Developpements
        • Deployment
        • Services
   • Tomorrow
        • Evolve organization
        • Economical model & Community


            From NeXTStep to WebOjects    1/50
Cocktail History
                                    Today
                               Tomorrow


At the beginning



   1992: Creation of La Rochelle University
     • all equipped with NEXT workstation :) ! (about 40)
     • as it cost more manager in chief ask why ?
     • easy to install and to use, network by default, integrated
       colloborative work, global directory with NetInfo, very
       advanced GUI ...




               From NeXTStep to WebOjects    2/50
Cocktail History
                                    Today
                               Tomorrow


The start



   1993: first year with students
     • a few applications are developed, Objective-C with DBKit
       and Informix
     • installation of GEFICO: financial management and
       accounting application developed on NEXT at Paris VIII
       University
     • on the LAN 200 new PC but only running OpenStep




               From NeXTStep to WebOjects    3/50
Cocktail History
                                     Today
                                Tomorrow


With the growth of La Rochelle University


   1993/1996:
     • First applications are developed on NEXT with DBkit then
      EOF: Helpdesk, mail management, persons and account
      management
     • Begining of the "repository" database organized around a
      main schema
     • main schema Some HP PA712 (Risc) with HP-UX and
      OpenStep




                From NeXTStep to WebOjects    4/50
Cocktail History
                                   Today
                              Tomorrow


With the growth of La Rochelle University




   1997:
     • JEFYCO V1 Objective-C / EOF + Oracle 7.3
     • Scolarix, HComp, Salle STU, GEDI (Client-Server), ....




              From NeXTStep to WebOjects    5/50
Cocktail History
                                    Today
                               Tomorrow


With the growth of La Rochelle University




   1998:
     • Start using WebObjects 4.5
     • first HTML application (directory of the university)
     • firsts Macintosh with Mac OS 8




               From NeXTStep to WebOjects    6/50
Cocktail History
                                   Today
                              Tomorrow


Begining of the consortium




   1999:
     • first distribution of JEFYCO
      (first step towards what will become the consortium)
     • more PC with win95 and Linux




              From NeXTStep to WebOjects    7/50
Cocktail History
                                   Today
                              Tomorrow


Begining of the consortium


   2001:
     • Gepeto(.app) Human Resources management
     • more PC with win95 and Linux
   2002:
     • Developpement with WO 5.1
     • Deployement under OS X, Linux and Windows (and yes
      under IIS ...)
     • WebGenie (actual “CMS“)




              From NeXTStep to WebOjects    8/50
Cocktail History
                                     Today
                                Tomorrow


Begining of the consortium

   2003:
     • New major applications are developed with WO 5.2, for
      example a payroll management application (Papaye)
     • Start of technological migrations of applications from WO
      4.5.1 to 5.2 with JavaClient/Swing interfaces, for example a
      Missions management application (Kiwi)
     • End of the FAX receiving application built with FaxViewer
      (8 NEXT workstations more than 10 years old) replaced by
      a WO 5.2 DMS application
     • some NEXT workstations are maintained, in particular for
      NetInfo
     • ServAut

                From NeXTStep to WebOjects    9/50
Cocktail History
                                    Today
                               Tomorrow


Begining of the consortium
   2004:
     • Deployment of Java Client applications using Java Web
       Start
     • Start Holidays Management and PayBox applications
     • SSO with CAS, Zap (a "dock" application in Swing)
     • 32 institutions use Cocktail applications (universities and
       graduate schools)
   2005
     • Formalized definition of the Cocktail Consortium
     • First WO applications server that I have to manage on my
       own... ;)
   2006
     • First tests of WO 5.3
               From NeXTStep to WebOjects    10/50
Cocktail History
                                   Today
                              Tomorrow


Begining of the consortium

   2007:
     • JEFYCO v2: n-tier architecture using HTML/Ajax/Swing
     • Deployment under WO 5.3
     • ManGUE (replaces Gepeto)
     • 54 members
   2008
     • Java 1.5 becomes mandatory for some applications
      (annotations...)
     • the Cocktail Consortium is headed by the university of
      Provence


              From NeXTStep to WebOjects    11/50
Cocktail History
                                    Today
                               Tomorrow


Begining of the consortium


   2009:
     • creation of the Cocktail Association
   2010
     • Interface Builder files (NIB) of Java Client applications are
      beeing moved to Netbeans (just the begining)
     • All the WO 5.3 applications are ”migrated” to Java 1.5
      (minor fix)
     • the Association hired 2 news developers




               From NeXTStep to WebOjects    12/50
Cocktail History
                                   Today
                              Tomorrow


Association Coctail is:




     • a non-profitable organization (somewhat like 501c in USA)
     • with more than 80 members
     • management and administrative services in Marseille (3)




              From NeXTStep to WebOjects    13/50
Cocktail History
                                    Today
                               Tomorrow


Association Coctail is:

     • 3 developer teams:
          • La Rochelle (8+1)
          • Toulouse (2)
          • Marseille (1+2)
     • 2 Freelances (E. Geze in Spain, C. Buttin near Toulouse)
     • contributors:
          • Mulhouse (1)
          • Lyon (1)
          • Pau (1)
          • Nîmes (1)
          • Nouméa (1)
          • maybe more Pau Troyes Toulouse... :)

   We also colaborate with Intelcore (Christian Trotobas)

               From NeXTStep to WebOjects    14/50
Cocktail History
                                Today
                           Tomorrow


Members are all around the world




           From NeXTStep to WebOjects    15/50
Cocktail History
                                   Today
                              Tomorrow


Today Cocktail ERP provides:


    • Financial management and accounting
    • Scholarity management
    • Human resources and payroll management
    • Wealth management
    • Reasearch management (administrative part)
    • Decision-making and streeing tools
    • Digital workspace elements for institutions portal

  All the applications are built on a single database



              From NeXTStep to WebOjects    16/50
Cocktail History
                                    Today
                               Tomorrow


Financial management and accounting
    •   Abricot (JavaClient): Mandate bills, outstand invoice
    •   Amande (JC): order form control/buying service
    •   Bidasse (JC): budget
    •   Carambole (Ajax): pre-order form and order form
    •   Catalogue (JC): catalogs from procurment contracts
    •   Cocolight (Ajax) / Coconuts (JC): agreements, contracts
    •   JefyAdmin (JC): rights management, grants on budget lines
    •   JefyCopilot (JC): reporting (Excel pivot tables)
    •   MarchesPub (HTML+JC): submiting bids / calls for tender
    •   Maracuja (JC): accounting
    •   Pie (JC) : commercial services management
    •   PieWebService (Ajax): "online store"
    •   Sapics (JC): Procurement contracts mangament
    •   Situations (JC): reporting (pdf/xls)
               From NeXTStep to WebOjects    17/50
Cocktail History
                                   Today
                              Tomorrow


Scholarity management
    • Preinscription (Ajax): matriculates online
    • Scolpedagogie (.app): courses, notes and results
    • HComp (.app): teaching loads
    • Contrat de Licence (Ajax): educational charters for the
     bachelor degree, objectives of the student.
    • SaphaRI (JC): international exchange of students, mobility
     and associated scholarship management
    • IPWeb (HTML): pedagogical registration
    • Griotte (Ajax): company internships, work experience
     placement management
    • TrombiWeb (HTML): rogue’s gallery of students groups
    • GroupScol (JC): create and manage groups of students

              From NeXTStep to WebOjects    18/50
Cocktail History
                                 Today
                            Tomorrow


Wealth management



   • Corossol (JC): asset, estate, inventory management
   • G-spot (Ajax): classroom, room management
    (going to replace SalleSTU.app)
   • GPC (Ajax): stock management of chemicals
   • ParcMatos (.app): computer asset management: inventory,
    lifecycle ("abandonware" / dead application)




            From NeXTStep to WebOjects    19/50
Cocktail History
                                  Today
                             Tomorrow


Human resources and payroll management


    • Papaye (JC): payrool (for non-state employees)
    • Kaki (JC): importation of payrool data of General Treasury
    • RecrutATER (HTML): recruitment of temporary teaching
     and research assistants, front and back office
    • Mangue (JC): career, employment, assignment, legal
     leaves, sick leaves management
    • Feve (HTML): job description
    • HAmAC/Congés (HTML/Ajax): time-off, holidays, absences




             From NeXTStep to WebOjects    20/50
Cocktail History
                                  Today
                             Tomorrow


Research management




   • Sangria (Ajax): fundings, contracts, publications, doctoral
    schools,laboratories, research units management
   • Physalis (JC): third cycle studies/PhD thesis management




             From NeXTStep to WebOjects    21/50
Cocktail History
                                      Today
                                 Tomorrow


Digital workspace elements for institutions portals
     •   ServeurDePlanning ("ws"): aggregate events in an ics file
     •   Profiler (Ajax): change password, personnal information ...
     •   Directory (Ajax): Yellow Pages and White Pages
     •   Spooler (Web + C deamon): print quota
     •   SuperPlan (JC): management of schedules for individuals,
         groups, (class)room, articles, training (lessons) and exams
     •   Guichet (HTML/Ajax): request tracker
     •   Enquêtes (HTML): survey tool
     •   GEDI (JC)/Corail (HTML): document/content management
     •   WebGenie (HTML): "CMS output"
     •   WODownload (HTML): files/documents downloading
     •   Peanuts (HTML): create temporary,visitor,wifi accounts
     •   AGrhum (Ajax): manages legal and physical persons,
         groups, accounts (will replace peanuts and annuaire.app)
                 From NeXTStep to WebOjects    22/50
Cocktail History
                                   Today
                              Tomorrow


Other applications around

    • Paybox (HTML + web services): gateway to the online
      payment service Paybox
    • SIX (HTML + RMI): pdf generator based on XSLT
    • GEDFS (HTML + RMI): file storage application
    • SAM (pure java): plugins for processing emails by using
      direct action within WebObjects applications
    • WOLive (pure java): ask the WOTaskd to run apps and
      check if they are responsive (check if they can do anything
      but send WOLifeBeat)
    • ServAut (HTML): provide direct actions for bypassing
      connection dictionnaries in the index.eomodeld


              From NeXTStep to WebOjects    23/50
Cocktail History
                                   Today
                              Tomorrow


Cocktail ERP



    • nearly fifty applications: 20 JC, 26 HTML/Ajax, .app 6+
    • almost half are under heavy developpement
    • about a dozen aren’t maintenend but are still beeing used
    • this software is governed by the CeCILL V2 License under
     French law ( http://www.cecill.info )
    • all of these applications are centered round a single
     repository: 1 database




              From NeXTStep to WebOjects    24/50
Cocktail History
                                   Today
                              Tomorrow


Repository Approach



  A single database:
    • no silo effect: data are not partitioned/scattered
    • immediate correlation of data, data are consolidated
    • no duplicate data so no need to synchronize data
    • sharing classifications (country code ...)




              From NeXTStep to WebOjects    25/50
Cocktail History
                                  Today
                             Tomorrow


Repository Approach

    • 50 shemas
    • 2500 tables




             From NeXTStep to WebOjects    26/50
Cocktail History
                                   Today
                              Tomorrow


Netbeans Migration
  JavaClient applications are build applying the
  model-view-controller paradigm :
    • EOF frameworks are used for the model
    • JavaClient frameworks are used for the controllers
    • JavaClient interface frameworks and Interface Builder were
      used to draw the interface




              From NeXTStep to WebOjects    27/50
Cocktail History
                                   Today
                              Tomorrow


Netbeans Migration

  Major Cocktail applications are based on the JavaClient
  technology
    • thousand of interfaces drawn with Interface Builder and the
      EOF palette
    • Leopard :
         • Interface Builder doesn’t support anymore the EOF palette
         • The JavaClient frameworks are always available in
          WebObjects
  Several solutions were approached to minimize the evolution of
  the applications.
  As JavaClient interfaces are based on Swing
  Using Netbeans as an "interface builder" appeared as the best
  solution : it generates an interface file as Swing code.

              From NeXTStep to WebOjects    28/50
Cocktail History
                                   Today
                              Tomorrow


Netbeans Migration

  Development of several tools :
    • Netbeans palette of graphical objects for WebObjects
         • CODisplayGroup
         • CODisplayGroupDetail




                               •
    • Customized dialogs to configure tables, display groups...
    • Netbeans Assistant to create the skeleton of interfaces files
    • com.webobjects.eoapplication.EOArchive subclassed to
      keep available the whole JavaClient application


              From NeXTStep to WebOjects    29/50
Cocktail History
                                   Today
                              Tomorrow


Netbeans Migration

  Migrating an application :
    • Interface files are drawn with Netbeans by dragging
      WebObjects graphical elements from the Netbeans palette
    • Associations between the interface elements and the
      controller or the display groups are established using
      Netbeans Properties Inspector (same as Interface Builder
      Inspector)
  3 files are generated :
    • _EOArchive and _EOInterface used by WebObjects: they
      replace Interface Builder files and are compiled within the
      application
    • .form : XML data used by Netbeans to draw the interface

              From NeXTStep to WebOjects    30/50
Cocktail History
                                   Today
                              Tomorrow


Netbeans Migration

  Controllers and model classes are not modified


             The application is recompiled. That’s it !!



  will be available soon as open source software (CeCILL V2
  Licence) with a JavaClient presentation and a tutorial included

  To know more, contact Christine Buttin:
  christine.buttin@cocktail.org


              From NeXTStep to WebOjects    31/50
Cocktail History
                                   Today
                              Tomorrow


Frameworks



  old ones: CRI*
    • CRIWebApp:
      Models the basic behavior of a Cocktail Application
      Contains utility classes to be used by all the applications
    • CRIWebExt:
      WebObjects components to be shared by all the HML and
      Ajax Cocktail applications




              From NeXTStep to WebOjects    32/50
Cocktail History
                                  Today
                             Tomorrow


Frameworks


  new ones: FwkCktl
    • FwkCktlWebApp:
      inherits WOnder stuff (ERXApplication, ERXSession and
      ERXDirectAction)
    • FwkCktlAjaxWebExt and FwkCktlPersonneGUIAjax,
      FwkCktlGFCGUIAjax
    • FwkCktlThemes
    • FwkCktlJavaClientSupport




             From NeXTStep to WebOjects    33/50
Cocktail History
                                   Today
                              Tomorrow


Frameworks



    • FwkCktlReporting: Jasper(jrxml,jrxls), OOo (odt,calc)
    • FwkCktlSync: running Tallend jobs, ex: synchronise data
     between DB and LDAP (OSS ETL http://www.talend.com)
    • Evenement (ApplicationEvenement): Quartz based
     framework for scheduling task and an application like cron.
    • FwkCktlB2b: integration of external online store of supplier
     under procurement contract (only for Dell)




              From NeXTStep to WebOjects    34/50
Cocktail History
                                   Today
                              Tomorrow


Deployment

  Installating WO
    • make sure that 1.5 Sun JRE/JDK is installed (and not the
      GCJ or OpenJDK)
    • untar in some directory an archive containing Library and
      Local
    • create a group and a user
    • change permision on logs and Configuration directory,
      make sure the rest is readble
    • change the SpawnOfWotaskd.sh
    • install init scripts, configure values (NEXT_ROOT, default
      ports, JavaMonitor name)


              From NeXTStep to WebOjects    35/50
Cocktail History
                                       Today
                                  Tomorrow


Deployment


  SpawnOfWotaskd.sh modifications:
       • output of stdout and stderr to a file
       • export shell variable like TZ or LANG
       • setting umask (make the group owning the created files)
       • change or add command line arguments
       • test command ligne arguements too (existence and value)

  i f [[   ‘echo $CMD | egrep ’Djava.awt. headless ’ |wc - l ‘ == "0" ]] ; then
           C D
             M =‘echo $CMD | sed ’s / -WOPort/ -Djava.awt. headless=true -WOPort/ ’ ‘
  fi




                  From NeXTStep to WebOjects    36/50
Cocktail History
                                   Today
                              Tomorrow


Deployment

    • classic deployment is used
    • for JavaClient static jnlp is used (not the one from the
     application)
     (no need to change
     Resources/JavaClient.wo/JavaClient.wod)
    • for deploying quickly 20 or more application:
     mk_SiteConfig.sh
    • for quickly configuring lots of application: command line
     tools find for feeding a loop and sed
    • using shell tools for management and solving problems:
     xargs awk sed ps lsof grep strace


              From NeXTStep to WebOjects    37/50
Cocktail History
                                  Today
                             Tomorrow


Deployment HA
  In some case more than 100 applications need to be deployed
  and some of them are critical.




             From NeXTStep to WebOjects    38/50
Cocktail History
                                   Today
                              Tomorrow


several NEXT_ROOTs
  For production, testing, user sanbox ... you may need several
  NEXT_ROOTs




              From NeXTStep to WebOjects    39/50
Cocktail History
                                   Today
                              Tomorrow


several NEXT_ROOTs
  rules for cohabitations each uses
     • a different port range if not WOHOst is mandatory
     • a different user (group)




              From NeXTStep to WebOjects    40/50
Cocktail History
                                   Today
                              Tomorrow


ServAut
  special application with two aims:
    • authenticating users
    • providing connection information
      (jdbc url or instance name, login, password)




              From NeXTStep to WebOjects    41/50
Cocktail History
                                    Today
                               Tomorrow


mod_WebObject


  refactoring the way it is build (just for Apache 2.2)
    • all files in one directory
    • just one command line using APache eXetenSion tools
      $APXS -a -c -Wc,"-O2 -fPIC -fpic
      -DSINGLE_THREADED_ADAPTOR
      -DFORKING_WEBSERVER -DAPACHE " -Wl
      mod_WebObjects.c appcfg.c ...
    • add -i for automatic installation of mod_WebObject.so in
      apache libraries directory
  (configuring apache still be needed)



               From NeXTStep to WebOjects    42/50
Cocktail History
                                   Today
                              Tomorrow


Services


    • server installation (OS, WO, Oracle)
    • applications installation / deployments
    • applications setup and special configuration
    • project management
    • support/hotline
    • project management
    • assist prime contractor
    • consulting
    • trainings



              From NeXTStep to WebOjects    43/50
Cocktail History
                                   Today
                              Tomorrow


trainings



     • dedicated to end users and focused on learning the
      Cocktail applications
     • for IT to learn how to install WebObjects and deploy
      applications
     • for developers to learn WebObjects, Ajax or technologies
      used within the Cocktail applications




              From NeXTStep to WebOjects    44/50
Cocktail History
                                   Today
                              Tomorrow


Seminars

  Developers meetings are organized at least 3 times a year:
    • Feburary 2010: Paris
    • May 2010: Bordeaux
    • September 2010: Nîmes
  During 3 days we:
    • share knowledge
    • present recent work
    • explain how to use last frameworks
    • discuss about technical options, design ..



              From NeXTStep to WebOjects    45/50
Cocktail History
                                  Today
                             Tomorrow


Tomorrow
  Evolution of the software edition organization
    • distribution industrialization / CI with Hudson
    • database metadata management (patch sql: DDL DML)
    • reusable components: new generation of frameworks
    • better GUI
    • Support 2 databases:
        • Oracle (the initial and proprietary database)
        • PostgreSQL (open source database, lower tco)
    • Update industrialization of applications and database
      schemas
    • QA: guide for packaging, standards, ,charters, more tests
    • Internationalization / multilingual
    • switching to WO 5.4 ?
             From NeXTStep to WebOjects    46/50
Cocktail History
                                   Today
                              Tomorrow


Tomorrow



  Offer more services:
    • support the implementation of ERP in an institution "from
      the plug to the end user"
    • specific development ( new workflows functionalities )
    • integration in an existing information system
    • On-demand software or software as a service (SaaS)




              From NeXTStep to WebOjects    47/50
Cocktail History
                                   Today
                              Tomorrow


Tomorrow



  Stabilize the business model and expand the community
    • stabilize the membership fee and support fee
    • having more developers ;)
    • having more "business" managers to define specifications
    • ansering the foreign instutions needs with the help of the
      AUF (Agence Universitaire de la Francophonie
      http://www.auf.org )




              From NeXTStep to WebOjects    48/50
Cocktail History
                                    Today
                               Tomorrow


Resources


    • Official WebSite: http://www.cocktail.org
       (warning HTML 3.0 website )
    • Source code available: http://svn.cru.fr/cocktail
       (warning is not really tidy)
    • Developers pages: http://sites.google.com/a/cocktail.org/
       developpeurs/frameworks-cocktail
    • Javadoc: http://www.cocktail.org/doc/devel/javadoc/
       fwkcktlwebapp/20100419/index.html
  (sorry most if not all is in french)



               From NeXTStep to WebOjects    49/50
Cocktail History
                                 Today
                            Tomorrow


Questions




  Q&A




            From NeXTStep to WebOjects    50/50

Contenu connexe

Similaire à Building a Free Open source ERP for French Higher Education

Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Mainframe Project
 
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)AI4BD GmbH
 
Mihai tataran developing modern web applications
Mihai tataran   developing modern web applicationsMihai tataran   developing modern web applications
Mihai tataran developing modern web applicationsITCamp
 
Cloud Native Computing Foundation: How Virtualization and Containers are Chan...
Cloud Native Computing Foundation: How Virtualization and Containers are Chan...Cloud Native Computing Foundation: How Virtualization and Containers are Chan...
Cloud Native Computing Foundation: How Virtualization and Containers are Chan...Experfy
 
suresh.TIBCO1
suresh.TIBCO1suresh.TIBCO1
suresh.TIBCO1suresh kv
 
The Open Source Working Group - Open World Forum 2009
The Open Source Working Group - Open World Forum 2009The Open Source Working Group - Open World Forum 2009
The Open Source Working Group - Open World Forum 2009Stefane Fermigier
 
WebRTC Rockstars Asian Tour 2017
WebRTC Rockstars Asian Tour 2017WebRTC Rockstars Asian Tour 2017
WebRTC Rockstars Asian Tour 2017Lorenzo Miniero
 
The Tale of Two Deployments: Greenfield and Monolith Apps with Docker Enterpr...
The Tale of Two Deployments: Greenfield and Monolith Apps with Docker Enterpr...The Tale of Two Deployments: Greenfield and Monolith Apps with Docker Enterpr...
The Tale of Two Deployments: Greenfield and Monolith Apps with Docker Enterpr...Docker, Inc.
 
IWMW 2005: Publish And Be Damned Re-purposing In The Real World
IWMW 2005: Publish And Be Damned Re-purposing In The Real WorldIWMW 2005: Publish And Be Damned Re-purposing In The Real World
IWMW 2005: Publish And Be Damned Re-purposing In The Real WorldIWMW
 
sem_web_slides_k2013.ppt
sem_web_slides_k2013.pptsem_web_slides_k2013.ppt
sem_web_slides_k2013.pptRichaAngel2
 
Tri vuong-resume
Tri vuong-resumeTri vuong-resume
Tri vuong-resumeTri Vuong
 
Dissemination beyond academic circles
Dissemination beyond academic circlesDissemination beyond academic circles
Dissemination beyond academic circlesscottw
 

Similaire à Building a Free Open source ERP for French Higher Education (20)

CV-Elhassane-NAIM-EN
CV-Elhassane-NAIM-ENCV-Elhassane-NAIM-EN
CV-Elhassane-NAIM-EN
 
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
 
ASP.NET 5
ASP.NET 5ASP.NET 5
ASP.NET 5
 
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
 
Mihai tataran developing modern web applications
Mihai tataran   developing modern web applicationsMihai tataran   developing modern web applications
Mihai tataran developing modern web applications
 
OpenShift Evolution
OpenShift EvolutionOpenShift Evolution
OpenShift Evolution
 
Cloud Native Computing Foundation: How Virtualization and Containers are Chan...
Cloud Native Computing Foundation: How Virtualization and Containers are Chan...Cloud Native Computing Foundation: How Virtualization and Containers are Chan...
Cloud Native Computing Foundation: How Virtualization and Containers are Chan...
 
Jorge gomes
Jorge gomesJorge gomes
Jorge gomes
 
Jorge gomes
Jorge gomesJorge gomes
Jorge gomes
 
Jorge gomes
Jorge gomesJorge gomes
Jorge gomes
 
suresh.TIBCO1
suresh.TIBCO1suresh.TIBCO1
suresh.TIBCO1
 
The Open Source Working Group - Open World Forum 2009
The Open Source Working Group - Open World Forum 2009The Open Source Working Group - Open World Forum 2009
The Open Source Working Group - Open World Forum 2009
 
WebRTC Rockstars Asian Tour 2017
WebRTC Rockstars Asian Tour 2017WebRTC Rockstars Asian Tour 2017
WebRTC Rockstars Asian Tour 2017
 
The Tale of Two Deployments: Greenfield and Monolith Apps with Docker Enterpr...
The Tale of Two Deployments: Greenfield and Monolith Apps with Docker Enterpr...The Tale of Two Deployments: Greenfield and Monolith Apps with Docker Enterpr...
The Tale of Two Deployments: Greenfield and Monolith Apps with Docker Enterpr...
 
IWMW 2005: Publish And Be Damned Re-purposing In The Real World
IWMW 2005: Publish And Be Damned Re-purposing In The Real WorldIWMW 2005: Publish And Be Damned Re-purposing In The Real World
IWMW 2005: Publish And Be Damned Re-purposing In The Real World
 
Vitaly gritsenko
Vitaly gritsenkoVitaly gritsenko
Vitaly gritsenko
 
CV informatique English
CV informatique EnglishCV informatique English
CV informatique English
 
sem_web_slides_k2013.ppt
sem_web_slides_k2013.pptsem_web_slides_k2013.ppt
sem_web_slides_k2013.ppt
 
Tri vuong-resume
Tri vuong-resumeTri vuong-resume
Tri vuong-resume
 
Dissemination beyond academic circles
Dissemination beyond academic circlesDissemination beyond academic circles
Dissemination beyond academic circles
 

Plus de WO Community

In memory OLAP engine
In memory OLAP engineIn memory OLAP engine
In memory OLAP engineWO Community
 
Using Nagios to monitor your WO systems
Using Nagios to monitor your WO systemsUsing Nagios to monitor your WO systems
Using Nagios to monitor your WO systemsWO Community
 
Build and deployment
Build and deploymentBuild and deployment
Build and deploymentWO Community
 
Reenabling SOAP using ERJaxWS
Reenabling SOAP using ERJaxWSReenabling SOAP using ERJaxWS
Reenabling SOAP using ERJaxWSWO Community
 
Chaining the Beast - Testing Wonder Applications in the Real World
Chaining the Beast - Testing Wonder Applications in the Real WorldChaining the Beast - Testing Wonder Applications in the Real World
Chaining the Beast - Testing Wonder Applications in the Real WorldWO Community
 
D2W Stateful Controllers
D2W Stateful ControllersD2W Stateful Controllers
D2W Stateful ControllersWO Community
 
Deploying WO on Windows
Deploying WO on WindowsDeploying WO on Windows
Deploying WO on WindowsWO Community
 
Unit Testing with WOUnit
Unit Testing with WOUnitUnit Testing with WOUnit
Unit Testing with WOUnitWO Community
 
Apache Cayenne for WO Devs
Apache Cayenne for WO DevsApache Cayenne for WO Devs
Apache Cayenne for WO DevsWO Community
 
Advanced Apache Cayenne
Advanced Apache CayenneAdvanced Apache Cayenne
Advanced Apache CayenneWO Community
 
Migrating existing Projects to Wonder
Migrating existing Projects to WonderMigrating existing Projects to Wonder
Migrating existing Projects to WonderWO Community
 
iOS for ERREST - alternative version
iOS for ERREST - alternative versioniOS for ERREST - alternative version
iOS for ERREST - alternative versionWO Community
 
"Framework Principal" pattern
"Framework Principal" pattern"Framework Principal" pattern
"Framework Principal" patternWO Community
 
Filtering data with D2W
Filtering data with D2W Filtering data with D2W
Filtering data with D2W WO Community
 
Localizing your apps for multibyte languages
Localizing your apps for multibyte languagesLocalizing your apps for multibyte languages
Localizing your apps for multibyte languagesWO Community
 

Plus de WO Community (20)

KAAccessControl
KAAccessControlKAAccessControl
KAAccessControl
 
In memory OLAP engine
In memory OLAP engineIn memory OLAP engine
In memory OLAP engine
 
Using Nagios to monitor your WO systems
Using Nagios to monitor your WO systemsUsing Nagios to monitor your WO systems
Using Nagios to monitor your WO systems
 
Build and deployment
Build and deploymentBuild and deployment
Build and deployment
 
High availability
High availabilityHigh availability
High availability
 
Reenabling SOAP using ERJaxWS
Reenabling SOAP using ERJaxWSReenabling SOAP using ERJaxWS
Reenabling SOAP using ERJaxWS
 
Chaining the Beast - Testing Wonder Applications in the Real World
Chaining the Beast - Testing Wonder Applications in the Real WorldChaining the Beast - Testing Wonder Applications in the Real World
Chaining the Beast - Testing Wonder Applications in the Real World
 
D2W Stateful Controllers
D2W Stateful ControllersD2W Stateful Controllers
D2W Stateful Controllers
 
Deploying WO on Windows
Deploying WO on WindowsDeploying WO on Windows
Deploying WO on Windows
 
Unit Testing with WOUnit
Unit Testing with WOUnitUnit Testing with WOUnit
Unit Testing with WOUnit
 
Life outside WO
Life outside WOLife outside WO
Life outside WO
 
Apache Cayenne for WO Devs
Apache Cayenne for WO DevsApache Cayenne for WO Devs
Apache Cayenne for WO Devs
 
Advanced Apache Cayenne
Advanced Apache CayenneAdvanced Apache Cayenne
Advanced Apache Cayenne
 
Migrating existing Projects to Wonder
Migrating existing Projects to WonderMigrating existing Projects to Wonder
Migrating existing Projects to Wonder
 
iOS for ERREST - alternative version
iOS for ERREST - alternative versioniOS for ERREST - alternative version
iOS for ERREST - alternative version
 
iOS for ERREST
iOS for ERRESTiOS for ERREST
iOS for ERREST
 
"Framework Principal" pattern
"Framework Principal" pattern"Framework Principal" pattern
"Framework Principal" pattern
 
Filtering data with D2W
Filtering data with D2W Filtering data with D2W
Filtering data with D2W
 
WOver
WOverWOver
WOver
 
Localizing your apps for multibyte languages
Localizing your apps for multibyte languagesLocalizing your apps for multibyte languages
Localizing your apps for multibyte languages
 

Dernier

UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 

Dernier (20)

UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 

Building a Free Open source ERP for French Higher Education

  • 1. From NeXTStep to WebOjects Building a Free Open source ERP for French Higher Education Aurélien Minet Association Cocktail August 29, 2010, Montreal
  • 2. Cocktail History Today Tomorrow Agenda • History • At the beginning • Evolution • The consortium • The association • Today • Applications • Developpements • Deployment • Services • Tomorrow • Evolve organization • Economical model & Community From NeXTStep to WebOjects 1/50
  • 3. Cocktail History Today Tomorrow At the beginning 1992: Creation of La Rochelle University • all equipped with NEXT workstation :) ! (about 40) • as it cost more manager in chief ask why ? • easy to install and to use, network by default, integrated colloborative work, global directory with NetInfo, very advanced GUI ... From NeXTStep to WebOjects 2/50
  • 4. Cocktail History Today Tomorrow The start 1993: first year with students • a few applications are developed, Objective-C with DBKit and Informix • installation of GEFICO: financial management and accounting application developed on NEXT at Paris VIII University • on the LAN 200 new PC but only running OpenStep From NeXTStep to WebOjects 3/50
  • 5. Cocktail History Today Tomorrow With the growth of La Rochelle University 1993/1996: • First applications are developed on NEXT with DBkit then EOF: Helpdesk, mail management, persons and account management • Begining of the "repository" database organized around a main schema • main schema Some HP PA712 (Risc) with HP-UX and OpenStep From NeXTStep to WebOjects 4/50
  • 6. Cocktail History Today Tomorrow With the growth of La Rochelle University 1997: • JEFYCO V1 Objective-C / EOF + Oracle 7.3 • Scolarix, HComp, Salle STU, GEDI (Client-Server), .... From NeXTStep to WebOjects 5/50
  • 7. Cocktail History Today Tomorrow With the growth of La Rochelle University 1998: • Start using WebObjects 4.5 • first HTML application (directory of the university) • firsts Macintosh with Mac OS 8 From NeXTStep to WebOjects 6/50
  • 8. Cocktail History Today Tomorrow Begining of the consortium 1999: • first distribution of JEFYCO (first step towards what will become the consortium) • more PC with win95 and Linux From NeXTStep to WebOjects 7/50
  • 9. Cocktail History Today Tomorrow Begining of the consortium 2001: • Gepeto(.app) Human Resources management • more PC with win95 and Linux 2002: • Developpement with WO 5.1 • Deployement under OS X, Linux and Windows (and yes under IIS ...) • WebGenie (actual “CMS“) From NeXTStep to WebOjects 8/50
  • 10. Cocktail History Today Tomorrow Begining of the consortium 2003: • New major applications are developed with WO 5.2, for example a payroll management application (Papaye) • Start of technological migrations of applications from WO 4.5.1 to 5.2 with JavaClient/Swing interfaces, for example a Missions management application (Kiwi) • End of the FAX receiving application built with FaxViewer (8 NEXT workstations more than 10 years old) replaced by a WO 5.2 DMS application • some NEXT workstations are maintained, in particular for NetInfo • ServAut From NeXTStep to WebOjects 9/50
  • 11. Cocktail History Today Tomorrow Begining of the consortium 2004: • Deployment of Java Client applications using Java Web Start • Start Holidays Management and PayBox applications • SSO with CAS, Zap (a "dock" application in Swing) • 32 institutions use Cocktail applications (universities and graduate schools) 2005 • Formalized definition of the Cocktail Consortium • First WO applications server that I have to manage on my own... ;) 2006 • First tests of WO 5.3 From NeXTStep to WebOjects 10/50
  • 12. Cocktail History Today Tomorrow Begining of the consortium 2007: • JEFYCO v2: n-tier architecture using HTML/Ajax/Swing • Deployment under WO 5.3 • ManGUE (replaces Gepeto) • 54 members 2008 • Java 1.5 becomes mandatory for some applications (annotations...) • the Cocktail Consortium is headed by the university of Provence From NeXTStep to WebOjects 11/50
  • 13. Cocktail History Today Tomorrow Begining of the consortium 2009: • creation of the Cocktail Association 2010 • Interface Builder files (NIB) of Java Client applications are beeing moved to Netbeans (just the begining) • All the WO 5.3 applications are ”migrated” to Java 1.5 (minor fix) • the Association hired 2 news developers From NeXTStep to WebOjects 12/50
  • 14. Cocktail History Today Tomorrow Association Coctail is: • a non-profitable organization (somewhat like 501c in USA) • with more than 80 members • management and administrative services in Marseille (3) From NeXTStep to WebOjects 13/50
  • 15. Cocktail History Today Tomorrow Association Coctail is: • 3 developer teams: • La Rochelle (8+1) • Toulouse (2) • Marseille (1+2) • 2 Freelances (E. Geze in Spain, C. Buttin near Toulouse) • contributors: • Mulhouse (1) • Lyon (1) • Pau (1) • Nîmes (1) • Nouméa (1) • maybe more Pau Troyes Toulouse... :) We also colaborate with Intelcore (Christian Trotobas) From NeXTStep to WebOjects 14/50
  • 16. Cocktail History Today Tomorrow Members are all around the world From NeXTStep to WebOjects 15/50
  • 17. Cocktail History Today Tomorrow Today Cocktail ERP provides: • Financial management and accounting • Scholarity management • Human resources and payroll management • Wealth management • Reasearch management (administrative part) • Decision-making and streeing tools • Digital workspace elements for institutions portal All the applications are built on a single database From NeXTStep to WebOjects 16/50
  • 18. Cocktail History Today Tomorrow Financial management and accounting • Abricot (JavaClient): Mandate bills, outstand invoice • Amande (JC): order form control/buying service • Bidasse (JC): budget • Carambole (Ajax): pre-order form and order form • Catalogue (JC): catalogs from procurment contracts • Cocolight (Ajax) / Coconuts (JC): agreements, contracts • JefyAdmin (JC): rights management, grants on budget lines • JefyCopilot (JC): reporting (Excel pivot tables) • MarchesPub (HTML+JC): submiting bids / calls for tender • Maracuja (JC): accounting • Pie (JC) : commercial services management • PieWebService (Ajax): "online store" • Sapics (JC): Procurement contracts mangament • Situations (JC): reporting (pdf/xls) From NeXTStep to WebOjects 17/50
  • 19. Cocktail History Today Tomorrow Scholarity management • Preinscription (Ajax): matriculates online • Scolpedagogie (.app): courses, notes and results • HComp (.app): teaching loads • Contrat de Licence (Ajax): educational charters for the bachelor degree, objectives of the student. • SaphaRI (JC): international exchange of students, mobility and associated scholarship management • IPWeb (HTML): pedagogical registration • Griotte (Ajax): company internships, work experience placement management • TrombiWeb (HTML): rogue’s gallery of students groups • GroupScol (JC): create and manage groups of students From NeXTStep to WebOjects 18/50
  • 20. Cocktail History Today Tomorrow Wealth management • Corossol (JC): asset, estate, inventory management • G-spot (Ajax): classroom, room management (going to replace SalleSTU.app) • GPC (Ajax): stock management of chemicals • ParcMatos (.app): computer asset management: inventory, lifecycle ("abandonware" / dead application) From NeXTStep to WebOjects 19/50
  • 21. Cocktail History Today Tomorrow Human resources and payroll management • Papaye (JC): payrool (for non-state employees) • Kaki (JC): importation of payrool data of General Treasury • RecrutATER (HTML): recruitment of temporary teaching and research assistants, front and back office • Mangue (JC): career, employment, assignment, legal leaves, sick leaves management • Feve (HTML): job description • HAmAC/Congés (HTML/Ajax): time-off, holidays, absences From NeXTStep to WebOjects 20/50
  • 22. Cocktail History Today Tomorrow Research management • Sangria (Ajax): fundings, contracts, publications, doctoral schools,laboratories, research units management • Physalis (JC): third cycle studies/PhD thesis management From NeXTStep to WebOjects 21/50
  • 23. Cocktail History Today Tomorrow Digital workspace elements for institutions portals • ServeurDePlanning ("ws"): aggregate events in an ics file • Profiler (Ajax): change password, personnal information ... • Directory (Ajax): Yellow Pages and White Pages • Spooler (Web + C deamon): print quota • SuperPlan (JC): management of schedules for individuals, groups, (class)room, articles, training (lessons) and exams • Guichet (HTML/Ajax): request tracker • Enquêtes (HTML): survey tool • GEDI (JC)/Corail (HTML): document/content management • WebGenie (HTML): "CMS output" • WODownload (HTML): files/documents downloading • Peanuts (HTML): create temporary,visitor,wifi accounts • AGrhum (Ajax): manages legal and physical persons, groups, accounts (will replace peanuts and annuaire.app) From NeXTStep to WebOjects 22/50
  • 24. Cocktail History Today Tomorrow Other applications around • Paybox (HTML + web services): gateway to the online payment service Paybox • SIX (HTML + RMI): pdf generator based on XSLT • GEDFS (HTML + RMI): file storage application • SAM (pure java): plugins for processing emails by using direct action within WebObjects applications • WOLive (pure java): ask the WOTaskd to run apps and check if they are responsive (check if they can do anything but send WOLifeBeat) • ServAut (HTML): provide direct actions for bypassing connection dictionnaries in the index.eomodeld From NeXTStep to WebOjects 23/50
  • 25. Cocktail History Today Tomorrow Cocktail ERP • nearly fifty applications: 20 JC, 26 HTML/Ajax, .app 6+ • almost half are under heavy developpement • about a dozen aren’t maintenend but are still beeing used • this software is governed by the CeCILL V2 License under French law ( http://www.cecill.info ) • all of these applications are centered round a single repository: 1 database From NeXTStep to WebOjects 24/50
  • 26. Cocktail History Today Tomorrow Repository Approach A single database: • no silo effect: data are not partitioned/scattered • immediate correlation of data, data are consolidated • no duplicate data so no need to synchronize data • sharing classifications (country code ...) From NeXTStep to WebOjects 25/50
  • 27. Cocktail History Today Tomorrow Repository Approach • 50 shemas • 2500 tables From NeXTStep to WebOjects 26/50
  • 28. Cocktail History Today Tomorrow Netbeans Migration JavaClient applications are build applying the model-view-controller paradigm : • EOF frameworks are used for the model • JavaClient frameworks are used for the controllers • JavaClient interface frameworks and Interface Builder were used to draw the interface From NeXTStep to WebOjects 27/50
  • 29. Cocktail History Today Tomorrow Netbeans Migration Major Cocktail applications are based on the JavaClient technology • thousand of interfaces drawn with Interface Builder and the EOF palette • Leopard : • Interface Builder doesn’t support anymore the EOF palette • The JavaClient frameworks are always available in WebObjects Several solutions were approached to minimize the evolution of the applications. As JavaClient interfaces are based on Swing Using Netbeans as an "interface builder" appeared as the best solution : it generates an interface file as Swing code. From NeXTStep to WebOjects 28/50
  • 30. Cocktail History Today Tomorrow Netbeans Migration Development of several tools : • Netbeans palette of graphical objects for WebObjects • CODisplayGroup • CODisplayGroupDetail • • Customized dialogs to configure tables, display groups... • Netbeans Assistant to create the skeleton of interfaces files • com.webobjects.eoapplication.EOArchive subclassed to keep available the whole JavaClient application From NeXTStep to WebOjects 29/50
  • 31. Cocktail History Today Tomorrow Netbeans Migration Migrating an application : • Interface files are drawn with Netbeans by dragging WebObjects graphical elements from the Netbeans palette • Associations between the interface elements and the controller or the display groups are established using Netbeans Properties Inspector (same as Interface Builder Inspector) 3 files are generated : • _EOArchive and _EOInterface used by WebObjects: they replace Interface Builder files and are compiled within the application • .form : XML data used by Netbeans to draw the interface From NeXTStep to WebOjects 30/50
  • 32. Cocktail History Today Tomorrow Netbeans Migration Controllers and model classes are not modified The application is recompiled. That’s it !! will be available soon as open source software (CeCILL V2 Licence) with a JavaClient presentation and a tutorial included To know more, contact Christine Buttin: christine.buttin@cocktail.org From NeXTStep to WebOjects 31/50
  • 33. Cocktail History Today Tomorrow Frameworks old ones: CRI* • CRIWebApp: Models the basic behavior of a Cocktail Application Contains utility classes to be used by all the applications • CRIWebExt: WebObjects components to be shared by all the HML and Ajax Cocktail applications From NeXTStep to WebOjects 32/50
  • 34. Cocktail History Today Tomorrow Frameworks new ones: FwkCktl • FwkCktlWebApp: inherits WOnder stuff (ERXApplication, ERXSession and ERXDirectAction) • FwkCktlAjaxWebExt and FwkCktlPersonneGUIAjax, FwkCktlGFCGUIAjax • FwkCktlThemes • FwkCktlJavaClientSupport From NeXTStep to WebOjects 33/50
  • 35. Cocktail History Today Tomorrow Frameworks • FwkCktlReporting: Jasper(jrxml,jrxls), OOo (odt,calc) • FwkCktlSync: running Tallend jobs, ex: synchronise data between DB and LDAP (OSS ETL http://www.talend.com) • Evenement (ApplicationEvenement): Quartz based framework for scheduling task and an application like cron. • FwkCktlB2b: integration of external online store of supplier under procurement contract (only for Dell) From NeXTStep to WebOjects 34/50
  • 36. Cocktail History Today Tomorrow Deployment Installating WO • make sure that 1.5 Sun JRE/JDK is installed (and not the GCJ or OpenJDK) • untar in some directory an archive containing Library and Local • create a group and a user • change permision on logs and Configuration directory, make sure the rest is readble • change the SpawnOfWotaskd.sh • install init scripts, configure values (NEXT_ROOT, default ports, JavaMonitor name) From NeXTStep to WebOjects 35/50
  • 37. Cocktail History Today Tomorrow Deployment SpawnOfWotaskd.sh modifications: • output of stdout and stderr to a file • export shell variable like TZ or LANG • setting umask (make the group owning the created files) • change or add command line arguments • test command ligne arguements too (existence and value) i f [[ ‘echo $CMD | egrep ’Djava.awt. headless ’ |wc - l ‘ == "0" ]] ; then C D M =‘echo $CMD | sed ’s / -WOPort/ -Djava.awt. headless=true -WOPort/ ’ ‘ fi From NeXTStep to WebOjects 36/50
  • 38. Cocktail History Today Tomorrow Deployment • classic deployment is used • for JavaClient static jnlp is used (not the one from the application) (no need to change Resources/JavaClient.wo/JavaClient.wod) • for deploying quickly 20 or more application: mk_SiteConfig.sh • for quickly configuring lots of application: command line tools find for feeding a loop and sed • using shell tools for management and solving problems: xargs awk sed ps lsof grep strace From NeXTStep to WebOjects 37/50
  • 39. Cocktail History Today Tomorrow Deployment HA In some case more than 100 applications need to be deployed and some of them are critical. From NeXTStep to WebOjects 38/50
  • 40. Cocktail History Today Tomorrow several NEXT_ROOTs For production, testing, user sanbox ... you may need several NEXT_ROOTs From NeXTStep to WebOjects 39/50
  • 41. Cocktail History Today Tomorrow several NEXT_ROOTs rules for cohabitations each uses • a different port range if not WOHOst is mandatory • a different user (group) From NeXTStep to WebOjects 40/50
  • 42. Cocktail History Today Tomorrow ServAut special application with two aims: • authenticating users • providing connection information (jdbc url or instance name, login, password) From NeXTStep to WebOjects 41/50
  • 43. Cocktail History Today Tomorrow mod_WebObject refactoring the way it is build (just for Apache 2.2) • all files in one directory • just one command line using APache eXetenSion tools $APXS -a -c -Wc,"-O2 -fPIC -fpic -DSINGLE_THREADED_ADAPTOR -DFORKING_WEBSERVER -DAPACHE " -Wl mod_WebObjects.c appcfg.c ... • add -i for automatic installation of mod_WebObject.so in apache libraries directory (configuring apache still be needed) From NeXTStep to WebOjects 42/50
  • 44. Cocktail History Today Tomorrow Services • server installation (OS, WO, Oracle) • applications installation / deployments • applications setup and special configuration • project management • support/hotline • project management • assist prime contractor • consulting • trainings From NeXTStep to WebOjects 43/50
  • 45. Cocktail History Today Tomorrow trainings • dedicated to end users and focused on learning the Cocktail applications • for IT to learn how to install WebObjects and deploy applications • for developers to learn WebObjects, Ajax or technologies used within the Cocktail applications From NeXTStep to WebOjects 44/50
  • 46. Cocktail History Today Tomorrow Seminars Developers meetings are organized at least 3 times a year: • Feburary 2010: Paris • May 2010: Bordeaux • September 2010: Nîmes During 3 days we: • share knowledge • present recent work • explain how to use last frameworks • discuss about technical options, design .. From NeXTStep to WebOjects 45/50
  • 47. Cocktail History Today Tomorrow Tomorrow Evolution of the software edition organization • distribution industrialization / CI with Hudson • database metadata management (patch sql: DDL DML) • reusable components: new generation of frameworks • better GUI • Support 2 databases: • Oracle (the initial and proprietary database) • PostgreSQL (open source database, lower tco) • Update industrialization of applications and database schemas • QA: guide for packaging, standards, ,charters, more tests • Internationalization / multilingual • switching to WO 5.4 ? From NeXTStep to WebOjects 46/50
  • 48. Cocktail History Today Tomorrow Tomorrow Offer more services: • support the implementation of ERP in an institution "from the plug to the end user" • specific development ( new workflows functionalities ) • integration in an existing information system • On-demand software or software as a service (SaaS) From NeXTStep to WebOjects 47/50
  • 49. Cocktail History Today Tomorrow Tomorrow Stabilize the business model and expand the community • stabilize the membership fee and support fee • having more developers ;) • having more "business" managers to define specifications • ansering the foreign instutions needs with the help of the AUF (Agence Universitaire de la Francophonie http://www.auf.org ) From NeXTStep to WebOjects 48/50
  • 50. Cocktail History Today Tomorrow Resources • Official WebSite: http://www.cocktail.org (warning HTML 3.0 website ) • Source code available: http://svn.cru.fr/cocktail (warning is not really tidy) • Developers pages: http://sites.google.com/a/cocktail.org/ developpeurs/frameworks-cocktail • Javadoc: http://www.cocktail.org/doc/devel/javadoc/ fwkcktlwebapp/20100419/index.html (sorry most if not all is in french) From NeXTStep to WebOjects 49/50
  • 51. Cocktail History Today Tomorrow Questions Q&A From NeXTStep to WebOjects 50/50