Cloud Computing with Android


Clouds consist of a huge amount of particles of water vapor, reaching hundreds of millions. Clouds do not have central control and basically go where the wind blows. With this perspective, the large number of client computers and servers on the Internet along with many different purposes and entities that direct control of its progress are like clouds. Add this to the wireless data revolution that the cellphone companies have brought us and really feels like we are all covered by a cloud of invisible computing power.
Since early electronic computers, there is a clear division of manpower between four main functional parts of a computer:
  • Input / output (I / O) that provide the interface with people / computer
  • Central processing unit
  • Volatile random access memory (RAM)
  • Nonvolatile memory
The first three parts put the “computer” in computers. It is the fourth part, where the assets of important data are usually stored, that has changed more radically with the advent of cloud computing. Important data assets reside in nonvolatile memory to be protected against power outage – regardless of whether the loss was deliberate. Generally, non-volatile memory devices are hard disks, but can also be solid state devices, such as secure digital cards (SD) and even tape devices (almost obsolete now). But these storage device has its limitations.
Time passes, the technology progresses and brought the computer networks, in which the assets of an organization’s important data can be centralized on a computer shared by several terminals and which can back up regularly, as a basic function needed IT . This model (known as the mainframe model ) offered many advantages – one being lighten the load that each site had terminal. Small offices with little more than a small terminal (keyboard, mouse, monitor and PC) can access gigabytes of corporate data and processing power of large mainframes without cluttering up the place – from which they were connected by wires.
The next major paradigm shift came with the network of networks known affectionately as the Internet, where computer systems absolutely gigantic (LANs) can serve large populations of small terminals anywhere in the world where a dish can be placed. The wireless remote nature of this configuration is known as the cloud.
Then came the personal digital assistants (PDAs), mobile phones and smart phones, for which the miniaturization of computers has progressed to the portable form factor, we know and love so much. Suddenly, intelligent terminals are in the hands of countless millions of productive people, producing and consuming information at prodigious rates.
From mid to late 90s, e-mail and World Wide Web were the most popular applications that dominate the cloud. Most people interacted with the cloud using a Web browser and found that the Internet was a relatively simple application. With the advancement of commercial successes such as Yahoo and Google servers, network connections and terabyte hard drives replaced as the local non-volatile storage devices preferred. Like many visionaries predicted progressive thought, the cloud has become a modern utility, like water, telephones and electricity. Using the digital mobile phone network as an Internet Service Provider (ISP), the cloud grew and uses millions of portable devices as the main tool to display the data residing on these servers.
As the clouds move and are changed by the winds of change, so did the paradigms under which these devices operate – the terminals have become smaller, more powerful and more portable, while the servers, similarly, were more powerful and better able to meet the needs of data users through virtualization software and the measurement of their use.
Companies no longer need to maintain large and expensive “parks” of servers 24 hours a day when there is another less expensive alternative: hiring such services through fully managed cloud hosting providers. Through virtualization, applications that previously ran on custom environments may be duplicated or “having created image” to run in the cloud server provider. And with the proper measurement of these services, the company will not need to pay high prices for those times when their services are being used minimally.
As hardware technology has moved on, the same occurred with software, and saw the creation of new applications. For example, location-based services that map businesses near the site where the cell tower or the global positioning system (GPS) has determined that you are. New markets tailored for download and testing programs and data files useful, as the Android Market. No doubt we will see further advances in these new unique applications of cloud computing – for example, companies could sort and select regional contact information, then automatically download the list of days of random calls to mobile phone based on Android representative regional sales.
Cloud computing, where mobile devices balance powerful servers, needs an operating system that makes the most of the system architects and developers can do on a small client computer. Android is the operating system.
Android Architecture
First, Android is a software stack for mobile devices. This means that top the list of priorities is the preservation of battery power and the efficient management of limited memory resources. There are five distinct layers to the stack of Android:
The core of the Acorn RISC Machine (ARM) Linux form the foundation upon which all other layers are. Linux is a proven technology that is highly reliable and the ARM processor family is known for high performance at very low power requirements.
The libraries provide low-level code reusable and sharable for basic functions such as functions, codecs – software for encoding and decoding of digital video and sound – rich graphics for presentation on a small monitor, support for Secure Shell for TCP / IP traffic encrypted the cloud as well as support for Web browsing component (WebKit), feature SQL database (SQLite) and standard C library functionality, expected in a Linux system.
The bytecode interpreter runtime Dalvik, very similar to the bytecode interpreter in Java ™, includes some distinct features that define uniquely the model of safety and energy conservation Android. Any application currently running, for example, has its own user ID and your own copy of the interpreter running processes to separate rigidly for safety and reliability.
The Android application framework lets you utilize and replace components as required. These high-level Java classes are highly integrated components that define the Android API.
The main applications include the Android WebKit browser, Google calendar, Gmail, Maps application, SMS messenger client, and an e-mail standard, among others. Android applications are written in the Java programming language and you can download many more Android market quickly.
Each Android application can be further divided into distinct functional units:
  • Activities
  • Intents
  • Services
  • Security Model
Activities
Activities are the modules of an Android application that spread out the base class Activity and define an interface that are based on a view that responds to events. If an application consists of three windows (for example, a login window, a window for viewing text and a file viewing window), each one is usually represented by a different class Activity.
The Android keeps a history stack for each running application from the homepage and you can click the Back to scroll back through this history of activities.
Intents
Attempts, such as activities, are a special class of application code that describe and define what an application wants to do. Attempts include a layer without targeting that allows sophisticated reuse and replacement of components. For example, an application can display a button labeled clients that, when clicked, displays a list of contacts who are their clients. And here enters a lack of direction: no need to use the default viewer for those contacts, but instead, you can substitute a different viewer.
For some applications, this can be a very powerful function of application integration. Possibly a topographic map is best for a specific display the default map view.
Classes as a BroadcastReceiver define code that runs when external events trigger the same. Events such as the firing of a timer or the touch of a phone can be tracked that way. Typically, such code does not display a window, but can use the class NotificationManager to alert the user about something that needs attention.
Service
A service is an application running on a low level and without a monitor or UI. It is usually an application that should run long in the background. A perfect example is a software media player playing a song list. Despite a media player application to present a UI that allows users to adjust their playlists, the program passes control to the service to really play the songs from the playlist provided.
Security Model
The Android security model let’s programs have only their own data. If programmers wish to share data between queit a few different programs, they can set content providers for this purpose.
The power of free software should never be underestimated, as the power of free people and creative. Free of proprietary APIs and interests of businesses that generally obstruct progress in software engineering, the Android platform has a large developer community and very active, whose combined talents really make the sum greater than the parts.
Want to empower your programming career?
Learn how to program on the Android platform and, someday, will have millions of mobile phone users in its potential market – some of which may need their program.
The heart of Android is the Linux ARM. That in itself should inspire confidence in the ability of the importance of this platform to grow rapidly. Linux is a fast and secure operating system with many thousands of programmers familiar with it. Many Linux based systems are known to have an uptime of consecutive years online and view applications in the cloud – and that really defines reliability.
Development Environment: Eclipse, Windows, Linux
The developers have several options in relation to Android development environment. They can use the Microsoft ® Windows ® XP or Windows Vista ®, Macintosh OS X (v10.4.8 or later, x86 only) or the Desktop Linux (preferably Ubuntu). There is a software development kit (SDK) that can be downloaded to all these operating systems commonly used.
You can use a GUIIDE like Eclipse or NetBeans, Sun Microsystems, method or the famous “real programmer” from the command line and a default editor. The choice is yours.
Organizations can also put programs and data owners in Android, thanks to the types of software licenses used. This prevents them from escaping the platform, but does not limit consumer choice. It’s a winning combination for all parties.
Developer Resources
There are several resources in the cloud to develop Android, including several community forums and wikis Android, as well as several blogs related to Android programming. The main company that directs the phenomenon Android, Google, is fundamentally a communications company and therefore has many useful forums (known as Google Groups ) for communication between developers of different skill sets and talents.
The links section of Android Resources cannot even begin to show the vastness of the universe Android. Cloud computing – and Android, specifically – is something very, very, very interesting.
Time will tell what new innovative applications of cloud computing will be created in the next few years trying to overcome with all the creations of the great developers who preceded them.
Post a Comment