SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Building Eudoxus.gr with
FOSS and Open Standards


  Fotis Stamatelopoulos (@fstama)


     ΕΛ/ΛΑΚ Conference 2011
           May 21, 2011
What is Eudoxus
● A distributed system that supports and streamlines
  processes and operations related to the textbooks
  distribution for the higher education institutions of Greece

● Stakeholder: Hellenic Ministry of Education http://minedu.
  gov.gr/

● Developed, operated and supported by GRNET http://grnet.
  gr/

● Users: Students, Secretariats, Publishers, Distribution
  Points (e.g. Bookstores), related Ministry depts, Courier
  service, Helpdesk- More than 270.000 individual users

● Multiple APIs and integration with other ISs
                                              http://eudoxus.gr
Presentation Focus

● Design and software architecture
   ○ by design based on 100% FOSS infrastructure
   ○ adopting open standards

● Building within a very tight schedule and ever changing
  requirements
    ○ agile methodology
    ○ FOSS development tools

● Evaluating the results of the 100% FOSS decision (a year
  later)
Design Goals - Challenges

● Tight schedule, fixed milestones - deadlines
    ○ Incrementally release modules in production
● Not finalized requirements
    ○ Be flexible, handle changing requirements
● High availability
    ○ Redundant architecture
    ○ Live application updates
● Impossible to predict usage load
    ○ Scalability, elastically use infrastructure to serve growing
      usage
● Safeguard the transactional nature of related processes
● Synchronize data and connect to other systems
Technology decisions

● Web-based user interfaces
● RESTFul APIs
   ○ use SOAP-based web services for integration in specific
     cases (e.g. courier service)
● Java-based core (business logic tier)
● Javascript-based / GWT-based rich GUIs, AJAX
● Back-end storage: RDBMS vs noSQL decision
   ○ noSQL options offer better scalability than typical RDBMs
   ○ Needed at least a minimal transactional core - eventual
     consistency is not acceptable
   ○ Dropped the initial hybrid approach - full RDBMS design
● Shibboleth-based authentication for students
High level architecture
Infrastructure Software (100% FOSS)

● Server-side hosted on GRNET's cloud infrastructure (debian
  VMs)
● Google Web Toolkit (GWT) for the rich GUI clients
  (browser)
● Apache, nginx front-ends
● Varnish web cache
● JBoss Application Server
    ○ stateless EJBs implementing core business logic
    ○ JPA ORM (hibernate substrate)
    ○ JMS Queues and Message Driven Beans
    ○ JMX MBeans for scheduled tasks and maintanance
● PostgreSQL RDBMS
● Solr (Lucene server) indexing / search server
● A multitude of FOSS libraries and frameworks
Technical Architecture
Meeting Tight Schedules

● Typical setup
     ○ VCS (mercurial), wiki for requirements, issue tracker
     ○ dedicated release engineer, dedicated DBA
     ○ local development -> test server -> production server
     ○ FOSS dev tools (Eclipse, ant, etc)
● Agile approach
● Documentation was the first victim of the pressing schedule
  :(
● Updated unit tests was the second :o
● A few statistics on the team
     ○ ~10 developers
     ○ ~10 testers
     ○ ~20 helpdesk members for end-user support
     ○ Full GRNET NOC support!
Eudoxus & FOSS: a year after

● A multitude of mature FOSS libraries and frameworks to try
  and select from. This lead to choosing optimal (or near
  optimal solutions) for the task at hand

● Very efficient and flexible development environment 100%
  based on FOSS

● Eudoxus proved (again) that you can successfuly built and
  operate a large scale, business critical, high availability,
  distributed information system based 100% on FOSS
  software
http://eudoxus.gr

linkedin.com/in/fstamatelopoulos

           @fstama

Mais conteúdo relacionado

Destaque

Building Scalable Cloud Applications - Presentation at VCCF 2012
Building Scalable Cloud Applications - Presentation at VCCF 2012Building Scalable Cloud Applications - Presentation at VCCF 2012
Building Scalable Cloud Applications - Presentation at VCCF 2012Fotis Stamatelopoulos
 
CloudingSMEs Toolbox Presentation - Madrid Workshop June 11th
CloudingSMEs Toolbox Presentation - Madrid Workshop June 11thCloudingSMEs Toolbox Presentation - Madrid Workshop June 11th
CloudingSMEs Toolbox Presentation - Madrid Workshop June 11thFotis Stamatelopoulos
 
Vocabulaire Informatique
Vocabulaire InformatiqueVocabulaire Informatique
Vocabulaire Informatiquecoffeecup
 
JHIM Winter Issue 2010
JHIM Winter Issue 2010JHIM Winter Issue 2010
JHIM Winter Issue 2010Kim Klein
 

Destaque (6)

The Green Team
The Green TeamThe Green Team
The Green Team
 
Building Scalable Cloud Applications - Presentation at VCCF 2012
Building Scalable Cloud Applications - Presentation at VCCF 2012Building Scalable Cloud Applications - Presentation at VCCF 2012
Building Scalable Cloud Applications - Presentation at VCCF 2012
 
CloudingSMEs Toolbox Presentation - Madrid Workshop June 11th
CloudingSMEs Toolbox Presentation - Madrid Workshop June 11thCloudingSMEs Toolbox Presentation - Madrid Workshop June 11th
CloudingSMEs Toolbox Presentation - Madrid Workshop June 11th
 
Vocabulaire Informatique
Vocabulaire InformatiqueVocabulaire Informatique
Vocabulaire Informatique
 
JHIM Winter Issue 2010
JHIM Winter Issue 2010JHIM Winter Issue 2010
JHIM Winter Issue 2010
 
Postes disponibles 23 août
Postes disponibles 23 aoûtPostes disponibles 23 août
Postes disponibles 23 août
 

Semelhante a Building EUDOXUS with FOSS

Eudoxus Technology & Architecture - JHUG May 2011 Meeting
Eudoxus Technology & Architecture - JHUG May 2011 MeetingEudoxus Technology & Architecture - JHUG May 2011 Meeting
Eudoxus Technology & Architecture - JHUG May 2011 MeetingFotis Stamatelopoulos
 
Leveraging Open Standards to Build Highly Extensible Autonomous Systems
Leveraging Open Standards to Build Highly Extensible Autonomous SystemsLeveraging Open Standards to Build Highly Extensible Autonomous Systems
Leveraging Open Standards to Build Highly Extensible Autonomous SystemsICS
 
The State of Security Enhanced Linux - FOSS.IN/2007
The State of Security Enhanced Linux - FOSS.IN/2007The State of Security Enhanced Linux - FOSS.IN/2007
The State of Security Enhanced Linux - FOSS.IN/2007James Morris
 
Docs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation ExperienceDocs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation ExperiencePronovix
 
Wso2 esb 5.0.0 product release webinar
Wso2 esb 5.0.0   product release webinarWso2 esb 5.0.0   product release webinar
Wso2 esb 5.0.0 product release webinarChanaka Fernando
 
Dataverse in the European Open Science Cloud
Dataverse in the European Open Science CloudDataverse in the European Open Science Cloud
Dataverse in the European Open Science Cloudvty
 
Getting started with postgresql
Getting started with postgresqlGetting started with postgresql
Getting started with postgresqlbotsplash.com
 
introduction to micro services
introduction to micro servicesintroduction to micro services
introduction to micro servicesSpyros Lambrinidis
 
Evolveum: About the company and its product - midPoint
Evolveum: About the company and its product - midPointEvolveum: About the company and its product - midPoint
Evolveum: About the company and its product - midPointEvolveum
 
Ceph Day Santa Clara: Keynote: Building Tomorrow's Ceph
Ceph Day Santa Clara: Keynote: Building Tomorrow's Ceph Ceph Day Santa Clara: Keynote: Building Tomorrow's Ceph
Ceph Day Santa Clara: Keynote: Building Tomorrow's Ceph Ceph Community
 
Ceph Day NYC: Building Tomorrow's Ceph
Ceph Day NYC: Building Tomorrow's CephCeph Day NYC: Building Tomorrow's Ceph
Ceph Day NYC: Building Tomorrow's CephCeph Community
 
General Introduction to technologies that will be seen in the school
General Introduction to technologies that will be seen in the school General Introduction to technologies that will be seen in the school
General Introduction to technologies that will be seen in the school ISSGC Summer School
 
Platform as a Service (PaaS) - A cloud service for Developers
Platform as a Service (PaaS) - A cloud service for Developers Platform as a Service (PaaS) - A cloud service for Developers
Platform as a Service (PaaS) - A cloud service for Developers Ravindra Dastikop
 
Designing for operability and managability
Designing for operability and managabilityDesigning for operability and managability
Designing for operability and managabilityGaurav Bahrani
 
London Ceph Day Keynote: Building Tomorrow's Ceph
London Ceph Day Keynote: Building Tomorrow's Ceph London Ceph Day Keynote: Building Tomorrow's Ceph
London Ceph Day Keynote: Building Tomorrow's Ceph Ceph Community
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An OverviewNaveen Pete
 
Choosing your frontend web framework.pptx
Choosing your frontend web framework.pptxChoosing your frontend web framework.pptx
Choosing your frontend web framework.pptxAaliyanShaikh
 
Open Chemistry, JupyterLab and data: Reproducible quantum chemistry
Open Chemistry, JupyterLab and data: Reproducible quantum chemistryOpen Chemistry, JupyterLab and data: Reproducible quantum chemistry
Open Chemistry, JupyterLab and data: Reproducible quantum chemistryMarcus Hanwell
 
Open Science Grid
Open Science GridOpen Science Grid
Open Science GridRob Gardner
 

Semelhante a Building EUDOXUS with FOSS (20)

Eudoxus Technology & Architecture - JHUG May 2011 Meeting
Eudoxus Technology & Architecture - JHUG May 2011 MeetingEudoxus Technology & Architecture - JHUG May 2011 Meeting
Eudoxus Technology & Architecture - JHUG May 2011 Meeting
 
Leveraging Open Standards to Build Highly Extensible Autonomous Systems
Leveraging Open Standards to Build Highly Extensible Autonomous SystemsLeveraging Open Standards to Build Highly Extensible Autonomous Systems
Leveraging Open Standards to Build Highly Extensible Autonomous Systems
 
The State of Security Enhanced Linux - FOSS.IN/2007
The State of Security Enhanced Linux - FOSS.IN/2007The State of Security Enhanced Linux - FOSS.IN/2007
The State of Security Enhanced Linux - FOSS.IN/2007
 
Docs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation ExperienceDocs-as-Code: Evolving the API Documentation Experience
Docs-as-Code: Evolving the API Documentation Experience
 
Wso2 esb 5.0.0 product release webinar
Wso2 esb 5.0.0   product release webinarWso2 esb 5.0.0   product release webinar
Wso2 esb 5.0.0 product release webinar
 
Dataverse in the European Open Science Cloud
Dataverse in the European Open Science CloudDataverse in the European Open Science Cloud
Dataverse in the European Open Science Cloud
 
Micro Services Intro
Micro Services IntroMicro Services Intro
Micro Services Intro
 
Getting started with postgresql
Getting started with postgresqlGetting started with postgresql
Getting started with postgresql
 
introduction to micro services
introduction to micro servicesintroduction to micro services
introduction to micro services
 
Evolveum: About the company and its product - midPoint
Evolveum: About the company and its product - midPointEvolveum: About the company and its product - midPoint
Evolveum: About the company and its product - midPoint
 
Ceph Day Santa Clara: Keynote: Building Tomorrow's Ceph
Ceph Day Santa Clara: Keynote: Building Tomorrow's Ceph Ceph Day Santa Clara: Keynote: Building Tomorrow's Ceph
Ceph Day Santa Clara: Keynote: Building Tomorrow's Ceph
 
Ceph Day NYC: Building Tomorrow's Ceph
Ceph Day NYC: Building Tomorrow's CephCeph Day NYC: Building Tomorrow's Ceph
Ceph Day NYC: Building Tomorrow's Ceph
 
General Introduction to technologies that will be seen in the school
General Introduction to technologies that will be seen in the school General Introduction to technologies that will be seen in the school
General Introduction to technologies that will be seen in the school
 
Platform as a Service (PaaS) - A cloud service for Developers
Platform as a Service (PaaS) - A cloud service for Developers Platform as a Service (PaaS) - A cloud service for Developers
Platform as a Service (PaaS) - A cloud service for Developers
 
Designing for operability and managability
Designing for operability and managabilityDesigning for operability and managability
Designing for operability and managability
 
London Ceph Day Keynote: Building Tomorrow's Ceph
London Ceph Day Keynote: Building Tomorrow's Ceph London Ceph Day Keynote: Building Tomorrow's Ceph
London Ceph Day Keynote: Building Tomorrow's Ceph
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An Overview
 
Choosing your frontend web framework.pptx
Choosing your frontend web framework.pptxChoosing your frontend web framework.pptx
Choosing your frontend web framework.pptx
 
Open Chemistry, JupyterLab and data: Reproducible quantum chemistry
Open Chemistry, JupyterLab and data: Reproducible quantum chemistryOpen Chemistry, JupyterLab and data: Reproducible quantum chemistry
Open Chemistry, JupyterLab and data: Reproducible quantum chemistry
 
Open Science Grid
Open Science GridOpen Science Grid
Open Science Grid
 

Último

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Último (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Building EUDOXUS with FOSS

  • 1. Building Eudoxus.gr with FOSS and Open Standards Fotis Stamatelopoulos (@fstama) ΕΛ/ΛΑΚ Conference 2011 May 21, 2011
  • 2. What is Eudoxus ● A distributed system that supports and streamlines processes and operations related to the textbooks distribution for the higher education institutions of Greece ● Stakeholder: Hellenic Ministry of Education http://minedu. gov.gr/ ● Developed, operated and supported by GRNET http://grnet. gr/ ● Users: Students, Secretariats, Publishers, Distribution Points (e.g. Bookstores), related Ministry depts, Courier service, Helpdesk- More than 270.000 individual users ● Multiple APIs and integration with other ISs http://eudoxus.gr
  • 3. Presentation Focus ● Design and software architecture ○ by design based on 100% FOSS infrastructure ○ adopting open standards ● Building within a very tight schedule and ever changing requirements ○ agile methodology ○ FOSS development tools ● Evaluating the results of the 100% FOSS decision (a year later)
  • 4. Design Goals - Challenges ● Tight schedule, fixed milestones - deadlines ○ Incrementally release modules in production ● Not finalized requirements ○ Be flexible, handle changing requirements ● High availability ○ Redundant architecture ○ Live application updates ● Impossible to predict usage load ○ Scalability, elastically use infrastructure to serve growing usage ● Safeguard the transactional nature of related processes ● Synchronize data and connect to other systems
  • 5. Technology decisions ● Web-based user interfaces ● RESTFul APIs ○ use SOAP-based web services for integration in specific cases (e.g. courier service) ● Java-based core (business logic tier) ● Javascript-based / GWT-based rich GUIs, AJAX ● Back-end storage: RDBMS vs noSQL decision ○ noSQL options offer better scalability than typical RDBMs ○ Needed at least a minimal transactional core - eventual consistency is not acceptable ○ Dropped the initial hybrid approach - full RDBMS design ● Shibboleth-based authentication for students
  • 7. Infrastructure Software (100% FOSS) ● Server-side hosted on GRNET's cloud infrastructure (debian VMs) ● Google Web Toolkit (GWT) for the rich GUI clients (browser) ● Apache, nginx front-ends ● Varnish web cache ● JBoss Application Server ○ stateless EJBs implementing core business logic ○ JPA ORM (hibernate substrate) ○ JMS Queues and Message Driven Beans ○ JMX MBeans for scheduled tasks and maintanance ● PostgreSQL RDBMS ● Solr (Lucene server) indexing / search server ● A multitude of FOSS libraries and frameworks
  • 9. Meeting Tight Schedules ● Typical setup ○ VCS (mercurial), wiki for requirements, issue tracker ○ dedicated release engineer, dedicated DBA ○ local development -> test server -> production server ○ FOSS dev tools (Eclipse, ant, etc) ● Agile approach ● Documentation was the first victim of the pressing schedule :( ● Updated unit tests was the second :o ● A few statistics on the team ○ ~10 developers ○ ~10 testers ○ ~20 helpdesk members for end-user support ○ Full GRNET NOC support!
  • 10. Eudoxus & FOSS: a year after ● A multitude of mature FOSS libraries and frameworks to try and select from. This lead to choosing optimal (or near optimal solutions) for the task at hand ● Very efficient and flexible development environment 100% based on FOSS ● Eudoxus proved (again) that you can successfuly built and operate a large scale, business critical, high availability, distributed information system based 100% on FOSS software