Scholarly article on topic 'Android Application to Enhance Performance of Internship Program Implementing Cloud Computing Platform and Infrastructure'

Android Application to Enhance Performance of Internship Program Implementing Cloud Computing Platform and Infrastructure Academic research paper on "Computer and information sciences"

CC BY-NC-ND
0
0
Share paper
Keywords
{Internship / "Mobile application" / "Android OS" / "Cloud computing platform and infrastructure"}

Abstract of research paper on Computer and information sciences, author of scientific article — Shutchapol Chopvitayakun

Abstract Cloud computing is a model for enabling convenient, on-demand network access to the shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services). It can be operated efficiently with minimal management effort or service provider interaction. The objective of this study was to improve performance of a mobile application by developing a new system to manage the internship program of senior students at the university level. This application runs on Android OS and using Cloud computing platform and infrastructure to replace the existing one that was using local or university database server and infrastructure. The result of this study created a new version of mobile application which is more agile, less cost and more productive than the existing one by implementing Cloud computing platform and infrastructure. Moreover, it can increase performance to monitor activities of each intern, provide online guidance from intern's advisors and finally it can summarize score of each intern according to the university rubric, all data above are handled and stored on Mobile Cloud Server.

Academic research paper on topic "Android Application to Enhance Performance of Internship Program Implementing Cloud Computing Platform and Infrastructure"

Available online at www.sciencedirect.com

ScienceDirect

Procedía - Social and Behavioral Sciences 197 (2015) 2530 - 2538

7th World Conference on Educational Sciences, (WCES-2015), 05-07 February 2015, Novotel

Athens Convention Center, Athens, Greece

Android Application to Enhance Performance of Internship Program Implementing Cloud Computing Platform and Infrastructure

Shutchapol Chopvitayakuna*

aFaculty of Science and Technology, Suan Sunandha Rajabhat University, Bangkok, 10300, Thailand

Abstract

Cloud computing is a model for enabling convenient, on-demand network access to the shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services). It can be operated efficiently with minimal management effort or service provider interaction. The objective of this study was to improve performance of a mobile application by developing a new system to manage the internship program of senior students at the university level. This application runs on Android OS and using Cloud computing platform and infrastructure to replace the existing one that was using local or university database server and infrastructure. The result of this study created a new version of mobile application which is more agile, less cost and more productive than the existing one by implementing Cloud computing platform and infrastructure. Moreover, it can increase performance to monitor activities of each intern, provide online guidance from intern's advisors and finally it can summarize score of each intern according to the university rubric, all data above are handled and stored on Mobile Cloud Server. © 2015Publishedby ElsevierLtd. Thisis anopen access article under the CC BY-NC-ND license (http://creativecommons.Org/licenses/by-nc-nd/4.0/).

Peer-review under responsibility of Academic World Education and Research Center. Keywords: Internship; Mobile application; Android OS; Cloud computing platform and infrastructure

1. Introduction

Cloud computing framework is defined as a wide range of cloud component such as processing elements, data centers, storageg, networking, Service Level Agreement (SLA) constraints, web-based applications, Service Oriented Architecture (SOA), virtualization, management and automation, and Business Process Management (BPM). Cloud computing is also a type of parallel and distributed system consisting of a collection of inter-

* Shutchapol Chopvitayakun. Tel.: +66846944878; fax: +6621601146 E-mail address: shutchapol.ch@ssru.ac.th

1877-0428 © 2015 Published by Elsevier Ltd. This is an open access article under the CC BY-NC-ND license (http://creativecommons.Org/licenses/by-nc-nd/4.0/).

Peer-review under responsibility of Academic World Education and Research Center. doi:10.1016/j.sbspro.2015.07.617

connected and virtualized computers. Its features are dynamically provisioned and presented as one or more unified computing resources based on service-level agreements established through negotiation between the service provider and consumers. Clouds are theoretically the combinations of clusters and Grids (Zhang, Cheng, & Boutaba, 2010). This technology has been adopted and deployed to many Information Technology projects over the last decade. In a next decade, it will be grown up more and more due to its strengths and benefits mentioned above. This study will deploy Cloud computing framework as the infrastructure of a mobile system called Internship Program Management or IPM. Mobile computing framework is defined as "computing systems that may be easily moved physically and whose computing capabilities may be used while they are being moved" (Gondaliya & Trivedi, 2012). Mobile computing has changed the way computers are used. In fact, it is expected that many devices will become smaller and even invisible in future. Technologies improvements in certain areas such as in Central Processing Unit (CPU), Memory, Screen, Touch-screen interface, battery, and wireless have driven the rapid advances in mobile computing. While the concept of mobile computing is well established, the research area and industry for Mobile Application Development has gained a lot of attention (Shahbudin & Chua, 2013). Many mobile applications available today provide different services and functionalities while previously, mobile applications were developed mainly to support productivity (i.e. email, calendar and contact databases). With the increasing demand and high user expectations, application such as mobile games, context-aware and location-based services, banking, and e-commerce have emerged. Hence, the combination of Mobile and Cloud computing technologies will create a new more sophisticated and more useful system to manage the internship program of students at the university level.

2. Literature review

2.1. Education and the cloud

The high rate at which information technology changes will continue to place a great deal of pressure on organizations' budgets. Continuous upgrades of software and hardware have become important items on many of those organizations' resource meetings and will continue to put pressure on the budgets of those organizations. This situation is likely to be made worse in the current difficult economic conditions. However, cloud computing services could provide many of those organizations with the opportunity to continue to take of new developments in information technologies at affordable costs. Cloud computing is likely to be an attractive proposition to startup and small to medium enterprises and educational establishments. The potential of cloud computing for improving efficiency, cost and convenience for the educational sector is being recognized by a number US educational (and official) establishments. The University of California (UC) at Berkeley, for example, found cloud computing to be attractive to use in one of their courses which was focused exclusively on developing and deploying SaaS applications. Helped by a donation from Amazon Web Services (AWS), Berkeley was able to move its course from locally owned infrastructure to the cloud. One of the main reasons was quoted as being the ability to acquire a huge amount of servers (needed for this course) in a matter of a few minutes (Fox, 2009). For some universities, the availability of an awesome computing power through cloud computing for research purposes was welcome. Researchers at the Medical College of Wisconsin Biotechnology and Bioengineering Center in Milwaukee are making protein research (a very expensive undertaking) more accessible to scientists' worldwide, thanks largely to renting processing time on Google's powerful cloud-based servers.

2.2. Cloud computing framework

CloudExp is one framework of Cloud computing technologies that integrates several new features and important components. These features make it a more comprehensive simulation environment for current cloud computing systems. The added components include a more-detailed workload generator Section, modules for MapReduce Section, modules for mobile cloud computing Section, extensions for SLA and BPM Section, a wide range of network topologies Section, and a Graphical User Interface (GUI). The new extensions and additions are explained in details in this section. A GUI extension is provided in order to make it convenient for users to conduct research experiments by creating the main components in a cloud system. For example, its shows the creation of virtual

machines and brokers in CloudExp (Jararweh et al., 2014).

2.3. Cloud platform comparison

There are many enterprises currently employ Cloud services in order to improve the scalability of their services and to deal with bursts in resource demands. However, at present, service providers have inflexible pricing, generally limited to flat rates or tariffs based on usage thresholds, and consumers are restricted to offerings from a single provider at a time. Also, many providers have proprietary interfaces to their services thus restricting the ability of consumers to swap one provider for another. Cloud computing uptake has only recently begun and many systems are in the proof-of-concept stage. Regulatory pressures also mean that enterprises have to be careful about where their data gets processed, and therefore, are not able to employ Cloud services from an open market. This could be mitigated through SLAs that specify strict constraints on the location of the resources. However, another open issue is how the participants in such a market can obtain restitution in case an SLA is violated (Buyya, Yeo, Venugopal, Broberg, & Brandic, 2009).

2.4. Windows Azure Platform

The Windows Azure public cloud platform is one of the three pillars of Microsoft's Cloud OS vision that will transform the traditional data center environment, help businesses unlock insights in data stored anywhere, enable the development of a wide range of modern business applications, and empower IT to support users who work anywhere on any device while being able to manage these devices in a secure and consistent way. The other two pillars of the Cloud OS are, of course, Windows Server 2012 R2 and Microsoft System Center 2012 R2, and Microsoft Press will soon be releasing free Introducing books on these platforms as well. Windows Azure is an open and flexible cloud platform that enables users to quickly build, deploy, and manage applications across a global network of Micro soft-managed data centers. Developers can build applications using any language, tool, or framework. And you can integrate your public cloud applications with your existing Information Technology environment (Tulloch, 2013).

Windows Azure services provides users with four basic categories of cloud-based services: Compute services, Network services, Data services, and App services.

• Windows Azure compute services provide the processing power required for cloud applications to be able to run.

• Windows Azure network services provide users with different options for how Windows Azure applications can be delivered to users and datacenters.

• Windows Azure data services provide you with different ways of storing, managing, safeguarding, analysing, and reporting business data.

• Windows Azure app services provide you with ways of enhancing the performance, security, discoverability, and integration of your cloud apps that are running.

2.5. Android application for internship program management.

Internship Program Management or IPM run on Android mobile operating system. It can manoeuvre raw data, processed information and provide higher performance system than the manual and web-based systems which are now most being currently used. It has 3 main functional modules; Advisor, Supervisor and Intern. For Advisor module, this modular system can retrieve and update interns' information regarding their practicing location, daily working task, problem inquiry, their supervisor's confirmation and suggestion, numbers of practicing cumulated hours. Supervisor module can retrieve and update the same data as seen in the Advisor module. However, this module for supervisor requires authenticated users to confirm daily working task by specific time or batch process depending on the convenience of each intern's supervisor. Last, Intern module, this is the most important part of this application due to all data must be supplied by this modular system. The Interns can provide their working location automatically by this application, filling up working task by writing work detail as paragraphs or using built-in

camera to record pictures or video regarding their works, recording time must be done at a certain time every day. Besides data insertion function, it also can retrieve information of daily working task, advisor's suggestion, supervisor's confirmation and suggestion, numbers of practicing hour accumulation and scoring (Chopvitayakun, 2014).

3. Methodology

3.1. Mobile cloud

Windows Azure lets developers build and deploy a back-end cloud solution for their mobile device applications. Developers can use popular development platforms such as .NET or NodeJS to create their solution, then deploy it to the cloud using Windows Azure Virtual Machines, Cloud Services, or Mobile Services. A List of Cloud services is shown in Fig. 1. Windows Azure Mobile Services, in particular, provides cross-platform support for developing solutions for almost any platform including Windows Phone, Windows Store, Android, Apple iOS, and HTML5. Windows Azure Notification Hubs lets developers push out notifications to users to enable real-time interactive applications, and they can use social media platforms from Microsoft, Google, Facebook, or Twitter for user authentication purposes.

Fig. 1. List of Cloud services created including Mobile Cloud service for this project

3.2. Development Tool

Eclipse is an integrated development environment (IDE). It contains a base workspace and an extensible plug-in system for customizing the environment. Written mostly in Java, Eclipse can be used to develop applications. By means of various plug-ins, Eclipse may also be used to develop applications in other programming languages: Ada, ABAP, C, C++, COBOL, Fortran, Haskell, JavaScript, Lasso, Natural, Perl, PHP, Python, R, Ruby (including Ruby on Rails framework), Scala, Clojure, Groovy, Scheme, and Erlang. It can also be used to develop packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++ and Eclipse PDT for PHP, among others. The initial codebase originated from IBM VisualAge (Ingale & Maharashtra, 2013). The Eclipse software development kit (SDK), which includes the Java development tools, is meant for Java developers. Users can extend its abilities by installing plug-ins written for the Eclipse Platform, such as development toolkits for other programming languages, and can write and contribute their own plug-in modules. Released under the terms of the Eclipse Public License, Eclipse SDK is free and open source software (although it is incompatible with the GNU General Public License). It was one of the first IDEs to run under GNU (Utpatadevi, Sudana, & Cahyawan, 2012). Last, Eclipse must be bundled with add-on fiels, Mobile Services SDK for Android (Android 2.2+ supported) in order to deploy various features of mobile services from many providers. After downloading, there are a lot of Jar files and they have to be extrated and copied in to project folder named libs.

3.3. Cloud storage and data manipulation

When storing data, Windows Azure Mobile Services or WAMS uses a SQL database. In order to facilitate rapid development, tables have a feature (enabled by default) called dynamic schema. Fig 2. shows how to create table for storing data on cloud. As developers consume data and save it to the table, WAMS will add columns automatically and try to predict the correct data type. If it guesses wrong and developers would like to change it (or delete columns), they can connect to the database and make modifications using T-SQL. Developers can edit the job (either the schedule or the script itself) by clicking it. Because it's an empty job, it just has a single method. JavaScript is a dynamic language so developers can simply make up any object developers would like on the fly, and the dynamic schema capabilities should figure out how to store that.

MOBILE SERVICES: DATA

Create New Table

TABLE NAME Ir'tl'irS

Table;; have changed; your existing client code may need to be modified. Learn more You can set a permission level against each operation for your table.

INSERT PERMISSION

Fig. 2. Main screen to create a new table on the mobile service on Windows Azure

JSON (JavaScript Object Notation) is an independent data exchange format (Tulloch, 2013). JSON is limited to text and numeric values. Binary values are not supported. JSON is a subset of the JavaScript Specification (ECME-Script) and it is therefore directly supported in JavaScript. Data structures in JSON are based on key / value pairs (Chua, Chana, & and Tiwari, 2012). The key is a string, the value can be a numerical value, a Boolean value (true or false) or an object. The JSON object is a set of key / value pairs which starts with "{" and ends with "}". More and more Internet API providers are offering JSON as a data-format option. JSON made a name for itself in the Ajax (Asynchronous JavaScript and XML) web-programming community. Windows Azure Mobile Services has SDKs to support Windows, Android, iOS and HTML developers on top of powerful REST APIs, enabling developers to build connected applications across a varied range of platforms and provide a consistent experience across devices. These services can enable a user to toggle between devices and continue where he/she last left off, enabling seamless device transitions. Mobile Services enable application developers to store data in the cloud, authenticate users efficiently, easily send push notification, easy customization to enable use of selected services, support for monitoring, alerting and auto scaling.

In order to manipulate data on the mobile cloud service site, developers must have Application key provided by Windows Azure and embed it in to Oncreate method, as part of the main activity class to access to the cloud service. It is working as same as connection string in the PHP programming language. Here is the Application key:

mClient = new MobileServiceClient( "https://shutchapol.azure-mobile.net/", "vrSCVARDrlRMTBRQegteXTAVKESkfZ16", this);

When developers require to manipulate data on the mobile cloud service site, in this case, data insertion is an example, a public class in the main activity class must be made in order to insert data in to a table. This class must be created in the same activity where you defined mClient. public class Item { public String Id; public String Text;}

Once the Application key and public class Item are created, developers can deploy those two key components by creating a method to insert a data set in to a table.

Item item = new Item(); item.Text = "New test item";

mClient.getTable(Item.class).insert(item, new TableOperationCallback<Item>() {

public void onCompleted(Item entity, Exception exception, ServiceFilterResponse response) { if (exception == null) { // Insert succeeded } else {

// Insert failed }

} }); 4. Result

This work modified Internship Program Management or IPM on its database and web server sections in to Mobile and Database cloud server. The result is this mobile application more agile and efficient than the previous version. It can be administrated and maintained by remote control anywhere anytime as long as the Internet is available. Moreover, the developers can also advocate, modify and create more features to this application via the Internet as well. Thanks to the great benefits of Cloud computing framework. Fig 3. shows all created tables on Cloud server and used in this application. Fig 4. shows attributes of Interns table: column name and data type of each field. Examples of inserted data in to Intern table is shown in Fig 5. Interaction between users and Cloud server through Internet connection is shown in Fig. 6. Main menu on Mobile application or home screen of application is shown in Fig. 7.

Fig. 3. List of created tables in Windows Azure mobile service site

Fig. 4. Data structure of Interns table and its field names

Fig. 5. Example of table records inserted in to Interns table

IPM Application

Fig. 6. Log in page of IPM responses with Mobile Cloud servers

Fig. 7. Main menu of Internship Program Management

5. Conclusion

Internship Program Management or IPM is a mobile transactional system was modified its background system from local database and web server to Mobile and Database Cloud server using Microsoft Windows Azure Platform. This new application can manage the internship program of senior students who enroll a course of internship more efficiently. Moreover, system administrators and developers are very proactive to run and modify this system online via the Internet. In term of Cloud computing framework, this system can also be adjusted its scale up and down to the traffic requirement and help to save a lot of cost of investment both hardware and software. Computing performance of this system is more utilized and more efficient due to the character of Cluster and Grid of the Cloud computing platform.

Acknowledgements

This study was financially supported by the Research and Development Institute, Suan Sunandha Rajabhat University.

References

Buyya, R., Yeo, C. S., Venugopal, S., Broberg, J., & Brandic, I. (2009). Cloud computing and emerging IT platforms: Vision, hype, and reality

for delivering computing as the 5th utility. Future Generation Computer Systems, 25, 599-616. Chopvitayakun, S. (2014). Development of mobile application for internship program management using the concept of Model View Controller (MVC) pattern. World Academy of Science, Engineering and Technology, International Science Index, Computer and Information Engineering, 2(3), 371.

Chua, S. K. W., Chana, C. K. K., & Tiwari, A. F. Y. (2012). Using blogs to support learning during internship. Computers & Education,58, 9891000.

Fox, A. (2009, March 17). Cloud computing in education. Berkeley iNews. Retrieved from https://inews.berkeley.edu/articles/Spring2009/cloud-computing.

Gondaliya, C. P., & Trivedi, K. D. (2012). Model to code transformation approach for android. International Journal of Research in IT & Management, 2 (2), 278-286.

Ingale, J., & Maharashtra, P. S. Android based WS security and MVC based UI representation of data. (2013). International Journal of Computer

Science, Engineering and Information Technology, 3 (1), 33-38. Shahbudin, F. E., & Chua, F. (2013). Design patterns for developing high efficiency mobile application. Information Technology & Software Engineering, 3 (2), 1-99.

Utpatadevi, N. L. P. P., Sudana A. A. K. O., &. Cahyawan, A. A. K. A. (2012). Implementation of MVC (Model-View-Controller) architectural

to academic management information system with Android platform base. International Journal of Computer, 57(8), 1-6. Jararweh, Y., Jarrah, M., kharbutli, M., Alshara, Z., Alsaleh, M. N., & Al-Ayyoub, M. (2014). CloudExp: A comprehensive cloud computing

experimental framework. Simulation Modelling Practice and Theory, 49, 180-192. Tulloch, M. (2013). Introducing Windows Azure for IT professionals. Washington: Microsoft Press

Zhang, Q., Cheng, L., & Boutaba, R. (2010). Cloud computing: state-of-the-art and research challenges, Journal Internet Services Applications, 1 (1), 7-18.