SlideShare a Scribd company logo
1 of 24
Download to read offline
Managing Geneva's                        Département
                                               Office


   Law courts

  YAPC.:EU:::2009, Lisbon

  laurent.dami@justice.ge.ch



                                                        Département
                                                              Office




                  DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                  Gestion des procédures judiciaires


                                                         01.08.2009 - Page 1
Corporate Perl

• a testimony :
   – important project (budget, resources, duration)
   – at the heart of the business (mission-critical)
   – hundreds of users (soon thousands of users)
• agenda
   –   business context, mission
   –   history, project context and organization
   –   architecture overview
   –   remarks, conclusion




                                             DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                                             Gestion des procédures judiciaires


                                                                                 01.08.2009 - Page 2
Département
                                                      Office




Le Pouvoir judiciaire genevois

            Geneva's law courts




                         DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                         Gestion des procédures judiciaires


                                                               01.08.2009 - Page 1
Geneva : one of 26 Swiss cantons

• 15,88 km2
• 450'000 inhabitants
  (2nd Swiss agglomeration)
• assets 2008   : 17'912 M CHF
• expenses 2008 : 7'738 M CHF




1 CHF   =   0.659 EUR   =   0.917 USD

                                        DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                                        Gestion des procédures judiciaires


                                                                            01.08.2009 - Page 4
Geneva's law courts
                                                                    CH:              16.5
                                                                    FR :             11.9
• 37 courts (grouped in same location)                              IT :             11.0
                                                                    LU:              36.8
• 95 permanent judges (21 / 100'000 ha)
•   156 other judges (assisting, replacing)
•   346 juges prud'hommes
•   410 employees
•   expenses 105 M CHF (1.26% of global Geneva budget)

For info                                                             CH:       101
                                                                     FR :       76
• 1'598 lawyers (355 / 100'000 ha)                                   IT:       290
                                                                     LU:       288
                                                                     source: CEPEJ

                                     DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                                     Gestion des procédures judiciaires


                                                                           01.08.2009 - Page 5
Judicial authorities

                   Forbidden behaviors   Litigations between privates    Appeal against decisions
                                         (contracts, family, etc.)       by State administration

                        Penal                  Civil                    Administrative
                       Domain                 Domain                      Domain
International



Federal instance



2nd cantonal
instance
1st cantonal
instance
Les juridictions civiles
                                              Conciliation
                    Chambre de                                      Bureau de       Commission de
  Justice de        conciliation                                  conciliation et   conciliation en
     paix                                                          commission       matière de baux
                       TPI                                         pour l'égalité      et loyers
                                                                 entre hommes et
   < 8'000F           > 8'000F
                                                                     femmes

   Concilié /   Non concilié
   jugement
                          Juridictions de jugement de 1ère instance
                  Tribunal de
  Justice                           Tribunal      Justice          Tribunal des      Tribunal des
                   première
  de Paix                           tutélaire     de Paix          Prud'hommes      baux et loyers
                   instance




                                  Dernière instance : Cour de justice

         Chambres                Autorité de      Autorité de       Cour d'appel      Chambre
          civiles                surveillance     surveillance           des         d'appel des
                                                                    Prud'hommes     baux et loyers


Ordinaires
Mesures tutélaires et de protection de l'enfant          Baux et loyers
Succession                                               Travail
Laws
                    Penal                      Civil                   Administrative
                   Domain                     Domain                     Domain
International                            Traités internationaux
agreements


Federal          Code pénal                Code civil                   Lois fédérales

                 Loi de procédure          Loi de procédure



                2010                    2010
Cantonal                                                                Lois cantonales
decisions
                 Loi de procédure          Loi de procédure             Loi de procédure

                                    Loi d'organisation des tribunaux


                                               DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                                               Gestion des procédures judiciaires


                                                                                     01.08.2009 - Page 8
Some figures

Annual statistics of courts activities in 2008

                          Pénales Civiles   Admin.     Divers      Totaux
Initial cases             6'812   24'998    4'621      22'057      58'488
New cases                 23'624 36'833     5'003      13'314      78'774
Total                     30'436 61'831     9'624      35'371      137'262
Closed                    24'317 38'867     5'021      9'095       77'300
Remaining cases           6'119   22'964    4'603      26'276      59'962
Exit rate                 1.03    1.06      1.00       0.68        0.98

Other figures (2006)
   • More than 200’000 people summoned (more than 1'000 / day)
   • 7'790'500 pages copied
   • 406'668 mails (paper)
   • 44,7 tons of recuperated paper
                                            DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                                            Gestion des procédures judiciaires


                                                                                01.08.2009 - Page 9
Information systems for Swiss courts

• 1st wave around 1980-85 : single applications
    – Tribunal fédéral, Genève, Zurich, Vaud
• years 1990s : 2 vendors take the rest of the market
    – client-server (Windows)
    – moving towards 3-tiers architecture
    – each court as a closed, independent entity


• 2005 : Geneva evaluates both vendors and decides not to take them
    – regression in functionalities
    – complexity of data migration (different models)
    – global switch very risky




                                                   DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                                                   Gestion des procédures judiciaires


                                                                                      01.08.2009 - Page 10
Département
                                                    Office




Projects i-JUGE + Justice 2010




                       DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                       Gestion des procédures judiciaires


                                                             01.08.2009 - Page 1
Main use cases
                   Case registration

                     Procedural acts                               Employee


                            Mails                                 <<actor>>
                                                                 Office applic.
  Judge
                              Hearings

                          Financial management
                                                                  <<actor>>
  <<actor>>                   Jurisprudence                         Case
   Archived                                                      management
 judgements                    Judgement writing
                                                                  <<actor>>
                             Notifying and closing                Accounting
  <<actor>>
phrase libraries                          Archives


                                       Statistics, reporting   Administrator
History and future

•   1985: information system (Cobol + "All-in-1" office suite)
•   2002: 1st Perl applications (statistics, Web reporting)
•   2004: 1st major business application in Perl (judgements archive)
•   2005: vendor analysis, decision to rewrite the business application
•   2006: prototype "proof-of-concept" in Perl/Catalyst
•   2007: call for tenders
•   2008: development, stepwise introduction
•   2010: parameterizing new laws
•   2011: electronic data exchange
•   2013: database migration
•   2014: office migration


                                          DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                                          Gestion des procédures judiciaires


                                                                             01.08.2009 - Page 13
Goals

• replace old applications, obsolete
   – office (DEC All-in-1)
   – business application (VMS / Cobol / DBMS Basis+)
• groupware
• electronic data exchange, open towards external partners
• adapt to important changes in law and organization




                                         DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                                         Gestion des procédures judiciaires


                                                                            01.08.2009 - Page 14
Principles

• Stepwise migration
   – functionality chunks
   – old and new application live side-by-side on same database
• Web Application
   – inter-application links
   – desktop/office integration
• Optimize user efficiency
   – special care for keyboard navigation
   – DHTML / Ajax
• Sophisticated parameterization                                   example

   – 1 single app for various needs of 37 courts


                                            DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                                            Gestion des procédures judiciaires


                                                                               01.08.2009 - Page 15
Resources
                                                                   Other projects Etat GE
• Budget (pluriannual)
                                                                   integrated
   – i-JUGE :            CHF 7'650'000                             accounting : 100 MCHF
   – Justice 2010 :      CHF 4'140'000
                                                                   human
                                                                   resources : 60 MCHF
• People
   –   Strategic management : 8p.
   –   Operational management : 5p.
   –   Help desk, support, teaching : 6p.
   –   Analysis : 3p.
   –   Development & maintenance : 7p.
   –   Parameterizing, document production, Cobol maintenance : 2p.
   –   DBA, systems, exploitation : 5p.


                                          DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                                          Gestion des procédures judiciaires


                                                                             01.08.2009 - Page 16
Département
                                                 Office




Technical aspects




                    DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                    Gestion des procédures judiciaires


                                                          01.08.2009 - Page 1
Why Perl ?
• positive experiences on former, less critical applications
• expressive power, concision
   – ( but not cryptic ! )
• productivity through available components (CPAN)
   – Template
   – Catalyst
• modularity and abstraction mechanisms
   – multiparadigms ( imperative, object-oriented, functional )
• dynamic language                                                      Old app
   – no compilation phase                                               • core in Cobol
   – dynamic loading of components                                      • scripts in "PRC"

   – dynamic class / method creation


                                           DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                                           Gestion des procédures judiciaires


                                                                              01.08.2009 - Page 18
Main components
                        GE::J::Action                          DM-Web

GE::J::ObjetMetier   GE::J::Data::Config                GE::J::Autorisation


                                                               Catalyst

  Data::Domain                                                Template

 DBIx::DataModel                                                 JSON

       DBI                                                Alien::GvaScript

   DBD::JDBC               YAML                              prototype.js


                                        DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                                        Gestion des procédures judiciaires


                                                                           01.08.2009 - Page 19
Metrics
         Module   Files                Sub                    Lines
Data                       42                   262                   16286
ObjetMetier                60                   742                   25158
Action                     13                     53                    3739
Autorisation               15                     30                    2579
Directory                  14                     25                      952
MainConfig                  4                     15                      464
DM Web                    121                   727                   21054
tt2/js                    280                                         12213
Total                     549                  1854                   82445
DBIx::DM                   19                   142                     5575
Data::Domain               13                     92                    4949
GvaScript                  18                                           5591
Total                     599                  2088                   98560
                                DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                                Gestion des procédures judiciaires


                                                                   01.08.2009 - Page 20
Tools
• Editors                                              • Tasks
    –   Emacs                                              –   Request Tracker (RT)
    –   Vim
                                                       • Groupware
• Sources                                                  –   Twiki
    –   subversion
    –   Tortoise                                       • Tests
                                                           –   Test::Harness / Test::More
• Documentation                                            –   [ Selenium ]
    –   Pod + Pod::POM::Web
                                                       • Quality
• Distributions                                            –   [ Perl::Critic ]
    –   mini-CPAN
                                                       • Searching
• Directives                                               –   ack
    –   Perl Best Practices (D. Conway)
    –   project guidelines (GE::Justice::Guidelines)




                                                       DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                                                       Gestion des procédures judiciaires


                                                                                            01.08.2009 - Page 21
Département
                                           Office




Conclusions




              DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                              Gestion des procédures judiciaires


                                                    01.08.2009 - Page 1
Positive

• Perl
   –   never any technological problem
   –   code clear and concise (mostly)
   –   good suite of tools
   –   productivity
   –   internal resistance disappeared




                                         DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                                         Gestion des procédures judiciaires


                                                                            01.08.2009 - Page 23
Negative

• sometimes hard to recruit
   – (but not impossible)
   – some consultants refused to do any Perl ("would stain their CV" !)
   – no Perl teaching in schools and universities
• heavy parameterization             hard to test
   – combinatorics, many possible cases
   – complex data sets
• technical problems
   – still some install difficulties on Win32
   – no native Perl driver for our DBMS; JDBC too slow



                                           DIRECTION DES SYSTÈMES D'INFORMATION (DSI)
                                                           Gestion des procédures judiciaires


                                                                              01.08.2009 - Page 24

More Related Content

Recently uploaded

activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
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
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
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
 
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
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
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
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
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
 
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
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
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
 

Recently uploaded (20)

activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
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.
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
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...
 
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
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
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
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
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
 
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
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
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
 

Managing Geneva's law courts, from Cobol to Perl

  • 1. Managing Geneva's Département Office Law courts YAPC.:EU:::2009, Lisbon laurent.dami@justice.ge.ch Département Office DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 1
  • 2. Corporate Perl • a testimony : – important project (budget, resources, duration) – at the heart of the business (mission-critical) – hundreds of users (soon thousands of users) • agenda – business context, mission – history, project context and organization – architecture overview – remarks, conclusion DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 2
  • 3. Département Office Le Pouvoir judiciaire genevois Geneva's law courts DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 1
  • 4. Geneva : one of 26 Swiss cantons • 15,88 km2 • 450'000 inhabitants (2nd Swiss agglomeration) • assets 2008 : 17'912 M CHF • expenses 2008 : 7'738 M CHF 1 CHF = 0.659 EUR = 0.917 USD DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 4
  • 5. Geneva's law courts CH: 16.5 FR : 11.9 • 37 courts (grouped in same location) IT : 11.0 LU: 36.8 • 95 permanent judges (21 / 100'000 ha) • 156 other judges (assisting, replacing) • 346 juges prud'hommes • 410 employees • expenses 105 M CHF (1.26% of global Geneva budget) For info CH: 101 FR : 76 • 1'598 lawyers (355 / 100'000 ha) IT: 290 LU: 288 source: CEPEJ DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 5
  • 6. Judicial authorities Forbidden behaviors Litigations between privates Appeal against decisions (contracts, family, etc.) by State administration Penal Civil Administrative Domain Domain Domain International Federal instance 2nd cantonal instance 1st cantonal instance
  • 7. Les juridictions civiles Conciliation Chambre de Bureau de Commission de Justice de conciliation conciliation et conciliation en paix commission matière de baux TPI pour l'égalité et loyers entre hommes et < 8'000F > 8'000F femmes Concilié / Non concilié jugement Juridictions de jugement de 1ère instance Tribunal de Justice Tribunal Justice Tribunal des Tribunal des première de Paix tutélaire de Paix Prud'hommes baux et loyers instance Dernière instance : Cour de justice Chambres Autorité de Autorité de Cour d'appel Chambre civiles surveillance surveillance des d'appel des Prud'hommes baux et loyers Ordinaires Mesures tutélaires et de protection de l'enfant Baux et loyers Succession Travail
  • 8. Laws Penal Civil Administrative Domain Domain Domain International Traités internationaux agreements Federal Code pénal Code civil Lois fédérales Loi de procédure Loi de procédure 2010 2010 Cantonal Lois cantonales decisions Loi de procédure Loi de procédure Loi de procédure Loi d'organisation des tribunaux DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 8
  • 9. Some figures Annual statistics of courts activities in 2008 Pénales Civiles Admin. Divers Totaux Initial cases 6'812 24'998 4'621 22'057 58'488 New cases 23'624 36'833 5'003 13'314 78'774 Total 30'436 61'831 9'624 35'371 137'262 Closed 24'317 38'867 5'021 9'095 77'300 Remaining cases 6'119 22'964 4'603 26'276 59'962 Exit rate 1.03 1.06 1.00 0.68 0.98 Other figures (2006) • More than 200’000 people summoned (more than 1'000 / day) • 7'790'500 pages copied • 406'668 mails (paper) • 44,7 tons of recuperated paper DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 9
  • 10. Information systems for Swiss courts • 1st wave around 1980-85 : single applications – Tribunal fédéral, Genève, Zurich, Vaud • years 1990s : 2 vendors take the rest of the market – client-server (Windows) – moving towards 3-tiers architecture – each court as a closed, independent entity • 2005 : Geneva evaluates both vendors and decides not to take them – regression in functionalities – complexity of data migration (different models) – global switch very risky DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 10
  • 11. Département Office Projects i-JUGE + Justice 2010 DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 1
  • 12. Main use cases Case registration Procedural acts Employee Mails <<actor>> Office applic. Judge Hearings Financial management <<actor>> <<actor>> Jurisprudence Case Archived management judgements Judgement writing <<actor>> Notifying and closing Accounting <<actor>> phrase libraries Archives Statistics, reporting Administrator
  • 13. History and future • 1985: information system (Cobol + "All-in-1" office suite) • 2002: 1st Perl applications (statistics, Web reporting) • 2004: 1st major business application in Perl (judgements archive) • 2005: vendor analysis, decision to rewrite the business application • 2006: prototype "proof-of-concept" in Perl/Catalyst • 2007: call for tenders • 2008: development, stepwise introduction • 2010: parameterizing new laws • 2011: electronic data exchange • 2013: database migration • 2014: office migration DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 13
  • 14. Goals • replace old applications, obsolete – office (DEC All-in-1) – business application (VMS / Cobol / DBMS Basis+) • groupware • electronic data exchange, open towards external partners • adapt to important changes in law and organization DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 14
  • 15. Principles • Stepwise migration – functionality chunks – old and new application live side-by-side on same database • Web Application – inter-application links – desktop/office integration • Optimize user efficiency – special care for keyboard navigation – DHTML / Ajax • Sophisticated parameterization example – 1 single app for various needs of 37 courts DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 15
  • 16. Resources Other projects Etat GE • Budget (pluriannual) integrated – i-JUGE : CHF 7'650'000 accounting : 100 MCHF – Justice 2010 : CHF 4'140'000 human resources : 60 MCHF • People – Strategic management : 8p. – Operational management : 5p. – Help desk, support, teaching : 6p. – Analysis : 3p. – Development & maintenance : 7p. – Parameterizing, document production, Cobol maintenance : 2p. – DBA, systems, exploitation : 5p. DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 16
  • 17. Département Office Technical aspects DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 1
  • 18. Why Perl ? • positive experiences on former, less critical applications • expressive power, concision – ( but not cryptic ! ) • productivity through available components (CPAN) – Template – Catalyst • modularity and abstraction mechanisms – multiparadigms ( imperative, object-oriented, functional ) • dynamic language Old app – no compilation phase • core in Cobol – dynamic loading of components • scripts in "PRC" – dynamic class / method creation DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 18
  • 19. Main components GE::J::Action DM-Web GE::J::ObjetMetier GE::J::Data::Config GE::J::Autorisation Catalyst Data::Domain Template DBIx::DataModel JSON DBI Alien::GvaScript DBD::JDBC YAML prototype.js DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 19
  • 20. Metrics Module Files Sub Lines Data 42 262 16286 ObjetMetier 60 742 25158 Action 13 53 3739 Autorisation 15 30 2579 Directory 14 25 952 MainConfig 4 15 464 DM Web 121 727 21054 tt2/js 280 12213 Total 549 1854 82445 DBIx::DM 19 142 5575 Data::Domain 13 92 4949 GvaScript 18 5591 Total 599 2088 98560 DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 20
  • 21. Tools • Editors • Tasks – Emacs – Request Tracker (RT) – Vim • Groupware • Sources – Twiki – subversion – Tortoise • Tests – Test::Harness / Test::More • Documentation – [ Selenium ] – Pod + Pod::POM::Web • Quality • Distributions – [ Perl::Critic ] – mini-CPAN • Searching • Directives – ack – Perl Best Practices (D. Conway) – project guidelines (GE::Justice::Guidelines) DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 21
  • 22. Département Office Conclusions DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 1
  • 23. Positive • Perl – never any technological problem – code clear and concise (mostly) – good suite of tools – productivity – internal resistance disappeared DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 23
  • 24. Negative • sometimes hard to recruit – (but not impossible) – some consultants refused to do any Perl ("would stain their CV" !) – no Perl teaching in schools and universities • heavy parameterization hard to test – combinatorics, many possible cases – complex data sets • technical problems – still some install difficulties on Win32 – no native Perl driver for our DBMS; JDBC too slow DIRECTION DES SYSTÈMES D'INFORMATION (DSI) Gestion des procédures judiciaires 01.08.2009 - Page 24