This online module will provide you with an understanding and practical experience of cloud technology and the web technology which underpins it, as well as the role that these have in the provision of modern mobile applications. You will gain both a technical and business perspective of the advantages, problems and risks of using these technologies. A number of case studies demonstrate the application of the technology in different contexts, such as start-ups, established organisations and collaborations.
The module is organised into three blocks:
- Web Foundations
- The Cloud
- Mobile Applications
The principles behind cloud technology and its utilisation in different contexts are the main focus of the module with Web Foundations providing an appropriate grounding in the enabling technology and Mobile Applications demonstrating how to further capitalise on cloud infrastructure in developing flexible mobile applications.
Trust and security are important themes running through the module, alongside the social, political, technical and legal issues which these recent developments in IT raise. Case studies draw together key features from each part, setting the scene for a project where you will use your new skills to specify, prototype and demonstrate cloud and mobile solutions for an organisation.
Block 1 – Web Foundations
This first block sets the scene for the module by exploring how networks, and especially the internet, support access to networked services and applications. The block first provides a brief overview of the underlying standards and protocols of the web (HTTP, XML, CSS, etc.), including secure protocols (HTTPS, TLS, SSL, SSH) and then reviews the development of modern distributed architectures and different approaches (REST, SOAP) that are used to access web services and how these relate to cloud approaches. The block also includes a range of practical activities using NetBeans to develop and deploy web services to an application server (Glassfish) as well as testing and consuming services.
Block 2 – The Cloud
The second block introduces the cloud model and the types of resources (processing power, databases, general storage and networking) that can be provided by a typical cloud infrastructure. Different levels of cloud model are investigated, such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS), and contrasted with the web services model.
The block briefly reviews consumer cloud offerings, such as Dropbox and Google Drive for storing assets, before moving on to more sophisticated commercial offerings of cloud infrastructure, such as OpenStack and Amazon Web Services (AWS). Virtualisation and the use of hypervisors are outlined with a focus on the common facilities of the dominant mainstream platforms, including monitoring resource usage, load balancing and automatic scaling of resources to meet demand.
As well as technical aspects, the block considers the business case for cloud in different contexts (start-up, corporate, projects, collaborations) and different approaches to distributing cloud infrastructure (private, public and collaborative) as well as considering security and legal implications for each approach.
A range of cloud operations are demonstrated and included in a set of practical activities to provide hands-on experiences. These activities include:
- using a cloud dashboard to create resource constraint descriptions in which to run virtual machines and other components
- creating security rules to control access to cloud resources
- launching, accessing, monitoring and destroying cloud resources
- scripting and testing an auto-scaling scenario so that an application which comes under a high load is automatically replicated with the load shared between the existing and new resources
- use of a programmatic REST API to perform cloud operations.
Block 3 – Mobile Applications
Finally, this block explores the current state of the mobile market and the prospects for mobile technology as well as its combined use with cloud technology. The block commences by investigating a range of challenges facing developers of mobile apps, including dealing with the multiplicity of:
- users’ devices (tablets, mobile phones etc.)
- framework technologies (Java, Microsoft, Android, iOS)
- communication technologies (Web services, HTTP, and TCP sockets).
The block examines a range of considerations in developing a mobile application including deployment and upgrading, user interface design, performance and memory management as well as connectivity, back-end storage and security. The block also includes a case study element, exploration of toolkits for developing applications and the practical development of a mobile application which is subsequently extended to exploit cloud facilities.
|About this course:|
|UK Credits = 30 (15 ECTS)|
|Course work includes:|
|2 Tutor-marked assignments (TMAs)|
|End of Module Project|