This tutorial will present OO patterns and frameworks that enable developers to create robust, efficient, and reusable applications and services for mobile computing clouds on Android with the Java. The tutorial will cover the design and implementation of user-facing applications (covering the OO programming principles, software architecture, and user experience considerations); middleware systems programming (such as synchronous and asynchronous concurrency models, background service processing, and inter-process communication; and integrating mobile devices with powerful cloud-based services using servlets and the Java Spring framework. This tutorial is particularly relevant to developers of mobile software in industry and academia. Attendees will gain a comprehensive understanding of mobile/cloud applications, enabling them to develop their own mobile and cloud software.
Target Audience: Architects and Developers
Prerequisites: Basic knowledge of Java •
You will learn:
Recognize the inherent and accidental complexities involved with developing mobile cloud computing software that communicates securely mobile devices and clouds.
Understand how pattern-oriented software architecture and framework techniques can and cannot help to alleviate complexities in mobile cloud computing systems.
Apply patterns and frameworks to develop reusable and resilient applications and services using the Java object-oriented programming language and Android middleware.
Know where to find additional sources of information on how to program mobile applications and services on Android handheld systems.
Every day, hundreds of millions of people around the world use handheld devices, such as smartphones and tablets, to run software applications that: direct them to the places they want to go, securely provide information about the people, locations, goods, and services near them, and let them interact with the people they care about and do business with. These applications rely on a powerful trio of computing technologies, collectively known as mobile cloud computing, where applications are designed to run on smart mobile devices, connected to powerful cloud computing services that are accessible over commodity wireless networks. In this tutorial, Professors Adam Porter from the University of Maryland, and Doug Schmidt and Jules White from Vanderbilt University will deliver a coordinated tutorial, entitled Mobile Cloud Computing with Android, which is based on their popular Specialization offered on the Coursera platform that has taught over 200,000 students from around the world.
The tutorial will be divided into the following three sections:
• Programming mobile applications for Android handheld systems, which focuses on design and implementation of user-facing applications, covering the fundamental object-oriented programming principles, software architecture, and user experience considerations underlying handheld software applications and the Android development environment that.s programmed in Java.
• Programming Mobile Services for Android Handheld Systems, which focuses on middleware systems programming topics, such as synchronous and asynchronous concurrency models, background service processing, structured data management, and local inter-process communication and networking, and covers how pattern-oriented software architectures and framework techniques improve the performance, responsiveness, security, and structure of mobile applications.
• Programming Cloud Services for Android Handheld Systems, which focuses on inte-grating mobile devices with powerful cloud-based services, covering architectures for communicating with the cloud using HTTP, server-side processing of mobile data using servlets and the Java Spring framework, and scalable storage of data using no-SQL databases and other platforms.
This tutorial is particularly relevant to developers of mobile software in industry and academia. It illustrates how time-proven patterns and frameworks enable developers to create and evolve more robust, efficient, and reusable applications and services for mobile computing clouds. Attendees will gain a comprehensive understanding of mobile/cloud applications, enabling them to develop their own mobile and cloud software.