Introduction to Information Systems: Project Web Site
The main goal of the project is, of course, to practise the techniques that you will see in the lecture. We have tried to organise the project in such a way that it resembles projects you may have later in your life. This means that there is a schedule to stick to, and you will need to work together with other people and teams. Last but not least, the project should be fun!
You will work in teams of three people that you organise yourselves. (In case of modulus problem we allow some changes in the team sizes.) There will be different phases for which you have to hand in some deliverables. There is also a schedule that both helps you divide up your work and is necessary for synchronisation between the teams.
In the three project phases there discussions as well as a project design meeting. During these discussions, the presence of all members of the group is mandatory!
The project is centred around airline companies and buying tickets. You will create information systems for these companies and use Web service to buy and sell tickets.
Basically, you will work in teams of three people. You can choose your teams yourselves. Once the teams are chosen, it will not be possible to change their composition. All members of the team will receive the same grade for the project.
Please, create your team in the week of the first lecture. The earlier you do it, the better :-) You can also create your team already in the very first lab session.
Phase 1 (Create an airline company)
- Formation of teams
- Read documentation
- Get familiar with the infrastructure
- Database design and implementation
- Database client tool
Phase 2 (Design and prototype an airline reservation page)
- Design and propose interface (WSDL) for airline company
- Create a prototype Web service (full implementation in Phase 3)
Phase 3 (Implement and Deploy the reservation interface)
- Create a Web service client to retrieve data from another airline company
- Implement airline system (server side)
- Data exchange and storage in own service
Hardware and Software InfrastructureIn the exercise rooms (INF1 and INF3) you will find Sun terminals that you can use to log into one of 6 LSIR server machines that are pre-installed with all the required software you will need in order to do the project.
Server machinesThe six server machines are as follows:
- lsir-cis-pc2.epfl.ch (126.96.36.199)
- lsir-cis-pc3.epfl.ch (188.8.131.52)
- lsir-cis-pc4.epfl.ch (184.108.40.206)
- lsir-cis-pc5.epfl.ch (220.127.116.11)
- lsir-cis-pc6.epfl.ch (18.104.22.168)
You will need to use secure shell to log into one of the server machines. You will receive user names and passwords as soon as the teams are finalised (i.e. in the beginning of week 2).
To login you can use any EPFL computer that has an SSH client. If you connect from home, you have to use the EPFL VPN client because of the firewall that seals off the EPFL network. The Sun terminals in INF1 and INF3 have command line clients that you can use by entering the following in a terminal:
where iisX is the user name that you have been given and Y the server machine number assigned to your team.
For this course, we will use the following software (pre-installed on each of the six server machines so there is no need for you to install software!):
- Java 2 Platform, Standard Edition 5.0
- Apache Ant Version 1.6.5
- MySQL Version 5.0 with JDBC (3.1.17) driver
- Apache CXF Version 2.1.4
Subversion and CVS are also available on the machines for those who would like to use a version control system. (If you don't know what this is, then you should definitely have a look at this introduction.)
The data on these servers is not backed up: make sure you have a copy of your work in a secure location.
Documentation & Links
We strongly encourage you to consult the available documentation. Many problems can be resolved very quickly as soon as you are a little familiar with the documents.
Using the database softwareEvery group has a dedicated MySQL database on the assigned machine. In order to learn how to use it, consult the MySQL documentation.
You can also use the tool phpmyadmin to access the MySQL database through a Web page. The URL is
To change your DB password use the following command:
mysql -u iisX -p
Additional referencesJava related:
- Version Control with Subversion (an on-line introduction to the version control system)
- Mastering Regular Expressions
- Java Regular Expressions: Taming the java.util.regex Engine
- Putty: a windows SSH client
- Eclipse: an integrated development environment for Java
- Eclipse Web Tools: an extension of eclipse that help in creation of servlet, Web services, etc.
If you encounter problems (of technical or human nature), please don't hesitate to talk to us -- problems are best resolved early. Feel free to come by during the office hours, use the newsgroup epfl.ic.cours.IIS (web access), or send us e-mails.
This is the section that shouldn't have to be here.
The short version: Any form of cheating is unacceptable.
The long version: Copying partial or full programs from other teams will not be tolerated and result in a grade of 0 (in words: zero) for the corresponding phase for the copying group.
Important: If we cannot determine who has copied from whom, both teams will get a zero grade.
This implies that every team must secure their work (e.g. using chmod 700 for directories and chmod 600 for files) and their databases (no blank passwords, etc.).
Note that we do in principle support code reuse and collaboration. This means that you don't have to reinvent the wheel. If you find a library that does exactly what you need for a given subtask, you are allowed (even encouraged) to use it as long as this happens "in a reasonable way". In this case, you must mention this fact in the report and include the source where you've found it. If you are in doubt about whether you are allowed to use a given piece of software, please ask us.
As far as collaboration between teams is concerned, we encourage you to help each other. By helping we mean "show how to do something", not "do somebody else's work". Of course, if you come up with a great idea together with another team, that's perfectly okay. Again, in such a case, please include a short note with your report. Oh, and just in case: We still have last year's reports and we're not afraid to compare. :-)
To sum it up: Be reasonable and play fair!