Student Software Engineering Projects for the Maemo Platform at Petrozavodsk State University: Architecture and Support of Distributed Developer Team Environment

moneygascityInternet και Εφαρμογές Web

8 Δεκ 2013 (πριν από 3 χρόνια και 4 μήνες)

70 εμφανίσεις

Student Software Engineering Projects for the Maemo Platform
at Petrozavodsk State University:
Architecture and Support of Distributed Developer Team Environment
Vadim Ponomarev,Alexander Kolosov,Mikhail Kryshen
Petrozavodsk State University
Department of Computer Science
FRUCT Seminar,April 28,2009
Alexander Kolosov
Architecture and Support of Distributed Developer Team Environment
FRUCT 28.04.2009 1/15
Table of Contents
1 Tasks
2 Architecture
3 Results
Alexander Kolosov
Architecture and Support of Distributed Developer Team Environment
FRUCT 28.04.2009 2/15
Tasks
Tasks and Requirements
Hands-on training on Maemo SDK for
at least 30 students.
Each student has his own SDK
environment.
Easy deployment at guest trainings.
Save time on desktops support and
maintenance.
Network connection requirements:low
latency,high bandwidth.
Alexander Kolosov
Architecture and Support of Distributed Developer Team Environment
FRUCT 28.04.2009 3/15
Tasks
Training Environment
Maemo SDK terminal server.
Terminal client software (ssh,Xephyr).
Training materials access.
Local copy of the Maemo documentation and other guides.
Alexander Kolosov
Architecture and Support of Distributed Developer Team Environment
FRUCT 28.04.2009 4/15
Architecture
Architecture
Other servs.
Scratchbox
Web
LDAP
Virtual machine monitor
Virtual machine monitor (Xen):
I
32-bit virtual machine with
Maemo SDK for each student,
I
64-bit virtual machines (one or
many) with:
F
LDAP with students accounts;
F
Web (Apache,PHP,MySQL,
nginx,memcached,etc.);
F
Samba,other support services.
Alexander Kolosov
Architecture and Support of Distributed Developer Team Environment
FRUCT 28.04.2009 5/15
Architecture
Scratchbox Modications
Original Scratchbox can not be used by multiple users at the same
time.
The list of features we need for normal multiuser work:
I
Using the X session tunnelled over SSH.
Modied:login
I
Mounting host home directory.
Modied:sbin/sbox
adduser,sbin/sbox
mount
I
Distinct/tmp directory for each user.
Modied:sbin/sbox
adduser,sbin/sbox
mount
Alexander Kolosov
Architecture and Support of Distributed Developer Team Environment
FRUCT 28.04.2009 6/15
Architecture
Other Software Components
LDAP directory for accounts data.
All information is provided using Web-based approach:
I
Learning management system for training materials.
I
Mirrored Maemo SDK documentation.
I
Wiki-based system for the training environment documentation.
Performance optimization technologies were applied for the
web-server (nginx,memcached,APC).
Alexander Kolosov
Architecture and Support of Distributed Developer Team Environment
FRUCT 28.04.2009 7/15
Architecture
Solution for Guest Trainings
Mobile solution for guest trainings:using a laptop.
Restrictions:limited memory,slow hard disks.
The same architecture with one VM for all administrative tasks.
Actions on deployment:
I
registering students,
I
register the laptop in the network environment.
- Laptop can not run on battery long time.
Alexander Kolosov
Architecture and Support of Distributed Developer Team Environment
FRUCT 28.04.2009 8/15
Architecture
One Work Session Scenario
localhost$ Xephyr:20 -host-cursor -screen 800x480x16\
-dpi 96 -extension Composite
localhost$ DISPLAY=:20 ssh -X maemo.cs.prv
maemo.cs.prv$/scratchbox/login
[sbox-DIABLO_X86:~] > af-sb-init.sh start
Alexander Kolosov
Architecture and Support of Distributed Developer Team Environment
FRUCT 28.04.2009 9/15
Results
Implementation Notes.Hardware
Server
I
Two dual-core CPU,2.5GHz.
I
8 Gb RAM.
I
RAID 10,689 Gb,7200 RPM.
Laptop
I
One dual-core CPU,2.4GHz.
I
2 Gb RAM.
I
120 Gb HDD,5400 RPM.
Alexander Kolosov
Architecture and Support of Distributed Developer Team Environment
FRUCT 28.04.2009 10/15
Results
Implementation Notes.Software
OpenSUSE operating system.
Xen virtual machine monitor.
Maemo SDK
OpenLDAP directory server.
Nginx and Apache web servers.
MySQL database management system.
Moodle learning management system.
Mediawiki wiki software.
Alexander Kolosov
Architecture and Support of Distributed Developer Team Environment
FRUCT 28.04.2009 11/15
Results
Summer School\Internet Tablet'2008",August 2008
Petrozavodsk,PetrSU.
48 students.
Alexander Kolosov
Architecture and Support of Distributed Developer Team Environment
FRUCT 28.04.2009 12/15
Results
Winter School\Internet Tablet'2009",February 2009
Petrozavodsk,PetrSU.
25 students.
Laptop solution was tested.
Alexander Kolosov
Architecture and Support of Distributed Developer Team Environment
FRUCT 28.04.2009 13/15
Results
FRUCT'09 Training,April 2009
Saint Petersburg,SUAI.
Near 30 students.
Laptop solution have been applied.
Alexander Kolosov
Architecture and Support of Distributed Developer Team Environment
FRUCT 28.04.2009 14/15
Results
Thanks for your attention!
Any questions?
akolosov@cs.karelia.ru
Alexander Kolosov
Architecture and Support of Distributed Developer Team Environment
FRUCT 28.04.2009 15/15