Presentation on Major ProjectSubmitted by:Mohit SinghRoll no: 104507M.Tech 2nd Year
Student Oriented Cloud Computing and Android Based Application for lean mobile computing Systems
Objective The main objective of the project is to develop a Cloud Computing Application for Java program creation, compilation and execution on lean mobile computing systems like smart phones, ipads and netbooks. Setup a server and deploy the application on the cloud to test it across the range of lean mobile computing systems. Develop an Android based application for Java program development and using a cloud computing facility to execute the developed Java programs. Develop Android based application for students.
Motivation behind Project The next generation of open operating systems won’t be on desktops or mainframes but on the small mobile devices we carry every day. The openness of these new environments will lead to new applications and markets and will enable greater integration.
Aakash (Tablet)Aakash worlds cheapest internet device wasconceived under the Human Resources andDevelopment Ministrys National Missionon Education through Information andCommunication Technology (NME-ICT) toprovide students a device that could be usedas an EBook reader, to access onlinestreaming course material and web basedresearchBut there are no applications which canenable the students to develop and executeprograms using these tablets.
…Cloud computingprovides computation,software, data access,and storage servicesthat do not require end-user knowledge of thephysical location andconfiguration of thesystem that delivers theservices.
… Cloud Computing is a general term used to describe a new class of network based computing that takes place over the Internet, basically a step on from Utility. In other words, this is a collection/group of integrated and networked hardware, software and Internet infrastructure (called a platform). Using the Internet for communication and transport provides hardware, software and networking services to clients. These platforms hide the complexity and details of the underlying infrastructure from users and applications by providing very simple graphical interface or API (Applications Programming Interface).
… In addition, the platform provides on demand services, that are always on, anywhere, anytime and any place. Pay for use and as needed, elastic (scale up and down in capacity and functionalities). The hardware and software services are available to the general public, enterprises, corporations and businesses markets.
Cloud Summary Cloud computing is an umbrella term used to refer to Internet based development and services. A number of characteristics define cloud data, applications services and infrastructure: ◦ Remotely hosted: Services or data are hosted on remote infrastructure. ◦ Ubiquitous: Services or data are available from anywhere. ◦ Commodified: The result is a utility computing model similar to traditional that of traditional utilities, like gas and electricity - you pay for what you would want!
Software as a service (SaaS) Software as a service , sometimes referred to as "on-demand software," is a software delivery model in which software and its associated data are hosted centrally (typically in the (Internet) cloud) and are typically accessed by users using a thin client, normally using a web browser over the Internet. SaaS has become a common delivery model for most business applications, including accounting, collaboration, customer relationship management (CRM), enterprise resource planning (ERP), invoicing, human resource management (HRM), content management (CM) and service desk management.
Platform as a service (PaaS) Platform as a service (PaaS) is the delivery of a computing platform and solution stack as a service. PaaS offerings facilitate deployment of applications without the cost and complexity of buying and managing the underlying hardware and software and provisioning hosting capabilities. PaaS providing all of the facilities required to support the complete life cycle of building and delivering web applications and services entirely available from the Internet
Infrastructure as a service" (IaaS) Cloud infrastructure services, also known as “Infrastructure as a service" (IaaS), deliver computer infrastructure – typically a platform virtualization environment – as a service, along with raw (block) storage and networking. Rather than purchasing servers, software, data-center space or network equipment, clients instead buy those resources as a fully outsourced service. Suppliers typically bill such services on a utility computing basis; the amount of resources consumed (and therefore the cost) will typically reflect the level of activity.[
Cloud Storage Several large Web companies (such as Amazon and Google) are now exploiting the fact that they have data storage capacity that can be hired out to others. This approach, known as cloud storage allows data stored remotely to be temporarily cached on desktop computers, mobile phones or other Internet-linked devices. Amazon’s Elastic Compute Cloud (EC2) and Simple Storage Solution (S3) are well known examples.
Advantages of Cloud Computing Lower computer costs Improved performance Reduced software costs Instant software updates Improved document format compatibility. Unlimited storage capacity Increased data reliability Universal document access Latest version availability Easier group collaboration Device independence
Disadvantages of Cloud Computing Requires a constant Internet connection Does not work well with low-speed connections Can be slow Features might be limited Stored data might not be secure Stored data can be lost HPC Systems General Concerns
Android Android is a software stack for mobile devices that includes an operating system, middleware and key applications.
About Android and its features Android is an operating system based on Linux with a Java programming interface. It provides tools, e.g. a compiler, debugger and a device emulator as well as its own Java Virtual machine (Dalvik Virtual Machine - DVM). Android is created by the Open Handset Alliance which is lead by Google. Android uses a special virtual machine, e.g. the Dalvik Virtual Machine. Dalvik uses special bytecode. Therefore you cannot run standard Java bytecode on Android. Android provides a tool "dx" which allows converting Java Class files into "dex" (Dalvik Executable) files.
… Android applications are packed into an .apk (Android Package) file by the program "aapt" (Android Asset Packaging Tool) To simplify development Google provides the Android Development Tools (ADT) for Eclipse. The ADT performs automatically the conversion from class to dex files and creates the apk during deployment.
… Android supports 2-D and 3-D graphics using the OpenGL libraries and supports data storage in a SQLite database. Every Android applications runs in its own process and under its own userid which is generated automatically by the Android system during deployment. Therefore the application is isolated from other running applications and a misbehaving application cannot easily harm other Android applications.
Features Open Breaking down Boundaries All applications are equal Fast & Easy development
Android Framework and Tools Android Tools include SDK, ADT for eclipse integration support and an emulator. Let’s discuss them one by one in brief:
Introduction to Android SDK and ADT for Eclipse The Android SDK archive initially contains only the basic SDK tools. It does not contain an Android platform or any third-party libraries. In fact, it doesnt even have all the tools you need to develop an application. In order to start developing applications, you must install the Platform-tools and at least one version of the Android platform, using the SDK Manager. Platform-tools contains build tools that are periodically updated to support new features in the Android platform (which is why they are separate from basic SDK tools), including adb, dexdump, and others. To install Platform-tools, Android platforms and other add-ons, you must have an Internet connection, so if you plan to use the SDK while offline, please make sure to download the necessary components while online. To start the SDK Manager, please execute the program "SDK Manager.exe". From the command-line you can also directly trigger an update by Executing: toolsAndroid.bat update sdk
Dalvik Virtual Machine The Dalvik virtual machine is simple Java interpreter machine, completely optimized for Android platform and which is developed to run on low-end memory mobile devices. One of the prominent aspects in Dalvik is its capability to run along an application compilation enhancing the runtime performance of the applications. Dalvik is not exactly, a Java machine, because Dalvik could not read Java code, but consists its own byte code called “dex” and so the executable files compacted using Dalvik holds the file type name .dex. Google states that the credit for Androids successful development goes to Dalvik VM, because this type of virtual machine, delivers a good performance over various stages of an application runtime environment, conserving more battery-power during long run of an application.
Progress TrackLearnt program development for Android and CloudComputing.Linking Android SDK and ADT plugin with Eclipsedeveloping Android programs and debugging it with bothEmulator and Android smart phone.Presently designing the GUI and the other components of theabove mentioned application.