www.plat-forms.org Web programming competition - PowerPoint PPT Presentation

About This Presentation
Title:

www.plat-forms.org Web programming competition

Description:

2006 to build the new business application for Geneva Justice. How? ... no distinction DHTML / platform language. maintainability. no measure of 'understandability' ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 24
Provided by: lauren102
Category:

less

Transcript and Presenter's Notes

Title: www.plat-forms.org Web programming competition


1
www.plat-forms.org Web programming competition
  • report from the Geneva team
  • together since oct. 2006 to build the new
    business application for Geneva Justice

2
How?
  • 9 Teams of 3 meet in one place
  • January 25-26 2007, Congress Center Nürnberg
  • Each builds the same system within 30 hours

3
Who Teams
  • Team 3 Java abaXX Technology (abaxx.de)
  • Team 4 Java Accenture Technology Solutions
    (accenture.de)
  • Team 9 Java Innoopract Informations-systeme
    (innoopract.de)
  • Team 6 PHP OXID eSales (oxid-esales.com)
  • Team 7 PHP Globalpark (globalpark.de)
  • Team 8 PHP Zend Technologies (zend.com)
  • Team 1 Perl Etat de Genève/Optaros(ge.ch,
    optaros.com).
  • Team 2 Perl plusW (plusw.de)
  • Team 5 Perl Revolution Systems (revsys.com)

4
Why did we go ?
  • Help the Perl community
  • Perl losing visibility
  • yet the technology is excellent and competitive
  • ? needs marketing
  • Opportunity
  • teams of 3 not frequent for Perl
  • Geneva not too far from Nuremberg
  • modest investment
  • Expected benefits for our internal project
  • credibility of the team
  • credibility of the technology

? risky challenge !
5
Task People By Temperament
  • PDF intro
  • PDF requirements

6
What "People by Temperament" Registration for
community portal
7
What (2)Trivial Temperament Test (TTT)
  • After registration, members can take the TTT
    personality test
  • to determine their MBTI personality type

8
What (3)Search for members
  • Search for members by complex criteria

9
What (4)Member list (e.g. for search results)
10
What (6)Further requirements
  • The above screenshots showed a solution for the
    108 Web GUI requirements
  • the one delivered by team3 Java (abaXX
    Technology)
  • in addition, there were
  • 19 requirements regarding a SOAP webservice
    interface
  • 19 non-functional requirements
  • browser compatibility, performance, etc.
  • 5 rules describing the form of solution delivery
  • Each requirement was marked with priority MUST,
    SHOULD, or MAY

11
PbT Architecture
12
Our experience
  • started very fast
  • public releases at 1830 and 2230
  • late evening got stuck
  • no Perl support for WSDL requirements
  • lost time to choose/install plotting package
  • complexity of search request
  • early morning panic mode
  • lack of concertation for architectural changes
  • regression bugs
  • afternoon final release OK but buggy

http//www.plat-forms.org/2007/blog
13
The report
  • 118 pages !
  • published on www.plat-forms.org
  • also source code

14
Results 1Completeness of solutions
GUI requirements
  • Note- Team Java 4 was hampered by a
  • huge VMware setup problem for
  • almost a full day
  • Team Java 9 used a framework still in alpha
    development (RAP)

15
(No Transcript)
16
Results 2Size of solution
source lines-of-code
NoteFurther manually writtensource code
resides inmodified reused files.
17
Results Other
  • Many other aspects were compared
  • Ease-of-use
  • Correctness/reliability
  • Modifiability, solution structure
  • Team behavior during the development process
  • Teams' self-reported subjective experience
  • Some of them exhibit further platform differences
  • in particular often smaller variance among the
    PHP teams

18
Estimations post-hoc
19
Winning teams
  • We do not have an overall winner
  • because people would readily infer a "best
    platform" from it
  • But we do have a winner per platform
  • Java abaXX Technology (team3)
  • in particular for highest completeness
  • Perl Etat de Genève/Optaros (team1)
  • for best balance of characteristics
  • PHP OXID eSales (team6)
  • in particular for highest robustness

20
Thoughts about the report
  • results reflect teams more than platforms
  • no distinction DHTML / platform language
  • maintainability
  • no measure of "understandability"
  • "modifiability" simplistic scenario
  • robustness
  • programming best practice / platform
  • some aspects not taken into account
  • script for populating the database

21
Lessons
  • Happy about
  • team (common culture, complementary skills)
  • technology (Apache, Perl, Catalyst, TT2,
    DBIxDataModel)
  • tools (XEmacs, vim, subversion)
  • To improve
  • planning, priorization, estimates
  • preparation

22
PbT Data Model
23
Exemple de contrôleur Catalyst
1 package PlatFormsModelPbT 2 use
DBIxDataModel 3 4 DBIxDataModel-gtS
chema('PbT') 5 6 PbT-gtTable(qw/PbTMe
mber member member_id/)
7 PbT-gtTable(qw/PbTTTT ttt
ttt_id/) 8 PbT-gtTable(qw/PbTLogin
login login_id/)
9 PbT-gtTable(qw/PbTInterest interest
interest_id/) 10 PbT-gtTable(qw/PbTContac
t_status contact_status member_id
contact_id/) 11 PbT-gtTable(qw/PbTMember_int
erest member_interest member_interest_id/)
12 13 PbT-gtComposition(qw/PbTMember
member 1/, 14
qw/PbTTTT tests /)
15 16 PbT-gtComposition(qw/PbTMember
member 1/, 17
qw/PbTMember_interest member_interests
/) 18 19 PbT-gtAssociation(qw/PbTInt
erest interest 1/, 20
qw/PbTMember_interest
member_interests /)
Write a Comment
User Comments (0)
About PowerShow.com