I no longer teach this module. The materials below are archived for historic interest and may have been updated in the meantime. Please do not rely on this for up-to-date information.
This page is the main source for lectures, lab-handouts and assignments. This course will cover a mix of business-oriented material about the growth of Cloud Computing; and technical material describing how to build your own Cloud platform using the standard Linux/Apache/Tomcat/Servlet/MySQL technology stack offered on the DCS OpenNebula private cloud infrastructure.
| Lecture | Contents | Handout |
|---|---|---|
| 01: What is Cloud Computing? | An introduction to what cloud computing is, and what it is not | |
| 02: The Business Case for the Cloud | Compelling business reasons for migrating to the cloud, or not | |
| 03: Cloud Service Models | Infrastructure-, Platform- and Software-as-a-Service models | |
| 04: OpenNebula Infrastructure | Configuring Infrastructure-as-a-Service using OpenNebula | |
| 05: Web Services: Cloud Foundations | Web application server technologies and Internet protocols | |
| 06: Servlets and Containers | Java servlets and the Apache Tomcat web application server | |
| 07: The Java Servlet API | A complete tutorial walk-through of the Java Servlet API | |
| 08: Concurrency, Scaling, Sessions | Multithreading, servlet pools and sessions with Java servlets | |
| 09: The Presentation Tier | Presentation concerns, HTML and responsive design styles | |
| 10: XML Processing in Java | Reading, writing, searching and modifying XML structures in Java | |
| 11: Java Server Pages | Template web pages with scripts for inserting dynamic content | |
| 12: Java Beans and Web Patterns | Page-centric, page-with-bean and controller servlet styles | |
| 13: Cloud Data Storage | Data storage concerns, NoSQL and relational database options | |
| 14: Data Processing in Java | Overview of the Java Database Connectivity API (JDBC) | |
| 15: Security in the Cloud | Overview of general security, plus cloud multi-tenancy issues | |
| 16: Service-Oriented Architectures | Service-oriented computing with SOAP, WSDL, REST and AJAX | |
| 17: Message Queues and Brokers | Message queue middleware and publish-subscribe brokers | |
| 18: Quality and Pricing in the Cloud | Pricing strategies, service level agreements, monitoring quality | |
| 19: Future Cloud Ecosystems | Quality assurance in brokered cloud service platforms |
| Self-Study Lab | Contents | Handout |
|---|---|---|
| Week 1: Introduction to Linux | Booting Linux, useful desktop tools and command-line programming | |
| Week 2: Basic Web Programming | Building a website, programming simple web forms with CGI | |
| Week 3: Java CGI Programming | Programming more advanced web forms with CGI and Java | |
| Week 4: Java Servlet Programming | Installing and configuring Tomcat, running your first Java servlet | |
| Week 5: Cloud Servlet Deployment | Run your second Java servlet; copy and deploy to your cloud VM | |
| Week 6: Platform & Apps in Tomcat | Platform design, app bundle uploading and unpacking strategies |
| Assignment | Description | Deadline |
|---|---|---|
| Project Teams (Complete) | A dynamically-updated list of properly-constituted teams | Available now |
| Stage 0: Team Sign-Up | A web-form allowing you to sign up as a pair for a team of four | Friday week 3 |
| Stage 1: Product Pitch | Instructions on how to make your pitch for a cloud product | Friday week 6 |
| Stage 2: Product Development | Instructions on how to develop and market your cloud product | Tuesday week 11 |
Stage 3: Product Testing
![]() |
Instructions on how to test another cloud ecosystem | Monday week 12 |
| Resource | Description | Source |
|---|---|---|
| Using FileZilla | How to set up FileZilla to upload files to your cloud VM | W Briggs, 2018 |
| Install JEE with Tomcat | How to install Eclipse for JEE and a local Tomcat server | W Briggs, 2018 |
| CloudBase Template | HTML styling for the dashboard of your platform, using W3-CSS | AJHS, 2017 |
| Introduction to XML | Introduction to XML, document well-formedness and validation | AJHS, 2017 |
| Introduction to Databases | Introduction to Relational Databases, SQL queries and updates | AJHS, 2017 |
| Advanced Databases in Java | Batch processing, transactions and connection pools with JDBC/JNDI | AJHS, 2017 |
Advanced JSP with Taglibs![]() |
The JSP Standard Tag Library (JSTL) and Expression Language (EL) | AJHS, 2017 |
| MOLE Discussion Forum | The self-help discussion forum for solving technical problems, on MOLE | (MOLE sign-in) |
| OpenNebula Cloud IaaS | An introduction to OpenNebula, the cloud resource in DCS | OpenNebula, 2017 |
| Compaq Cloud Memorandum | The first ever historic reference to cloud computing in print | Compaq, 1996 |