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 |