Runtime Environment for JAVA Technologies using Google App Engine

DOI : 10.17577/IJERTV2IS3086

Download Full-Text PDF Cite this Publication

Text Only Version

Runtime Environment for JAVA Technologies using Google App Engine

Maria Dominic1, Anthony Philomen Raj1, Sagayaraj Francis2, Xavier Pakkiam1

1 Department of MCA, Sacred Heart College, India

2 Department of Computer Science and Engineering, Pondicherry Engineering College, India

ABSTRACT

This paper introduces the steps to write and deploy applications using Google App engine. Google App engine is a platform which allows the users to develop, deploy/host and share an application using the Google cloud infrastructure. This is the benefit of using this app engine. It also supports applications written in a wide range of programming technologies like Java, JSP, Servlet, Python, Ruby and many frameworks like JSF, Struts, Hibernate and Spring.

Keywords: Cloud Computing, Cloud Services, Cloud Providers, Google Apps Engine, Java Technologies

INTRODUCTION

Cloud Computing

Cloud Computing is the way of sharing computing resources, both hardware and software that are delivered as a service through the network [1]. These services are offered from data centers all over the world, which collectively are referred to as the "cloud." Figure 1 depicts the interaction between Internet and Cloud [1].

Information

The Web

Information

The Web

The Internet

Connectivity

The Internet

Connectivity

The Cloud Services

Figure 1 Internet to Cloud Computing

Cloud computing allows clients and businesses to use applications without installation and allow them to share their files at any system with internet connections. This technology enables efficient computing through central data storage, processing and bandwidth [2]. Cloud computing is categorized into following three segments, application, storage and connectivity. Each segment provides the different services to businesses and individuals around the world.

Cloud Computing Services

Cloud Computing services as given in Figure 2 are classified as the following [3].

Software as a service (SaaS)

Software as a Service (SaaS) is a software distribution model in which applications are hosted by a vendor or service provider and made available to customers over a network, typically the Internet. So, it allows the clients to run any application without installing them on their system.

Hardware as a Service (HaaS)

Hardware as a Service (HaaS) provides your business with the ability to provide a complete end-to-end managed service solution.

Data as a Service as a service (DaaS)

Data in various formats and from multiple sources could be shared by users on the network. Access to the data is controlled through the data services, which tends to improve data quality because there is a single point for updates.

Package as a Service (PaaS)

Package as a Service (PaaS) is a combination of SaaS, HaaS and DaaS. The Google App Engine is a best example of the PaaS [4]. Figure 2 shows the relationship between the services [3].

Application

Application

PaaS

PaaS

SaaS

SaaS

DaaS

DaaS

HaaS

Cloud Resource

Figure 2 Cloud Services

CLOUD PROVIDERS

S.No

Cloud Providers

Offers

Cloud Services

1

Amazon

Amazon Web Services

IaaS

2

Google

Google Apps

PaaS & SaaS

3

VMware

vCloud

IaaS

4

Rackspace

Rackspace Cloud

IaaS

5

Salesforce.com

Salesforce

SaaS

6

Microsoft

Azure

PaaS

7

Joyent

Ecosystem

3 *aaS

8

IBM

Blue Cloud

PaaS & SaaS

S.No

Cloud Providers

Offers

Cloud Services

1

Amazon

Amazon Web Services

IaaS

2

Google

Google Apps

PaaS & SaaS

3

VMware

vCloud

IaaS

4

Rackspace

Rackspace Cloud

IaaS

5

Salesforce.com

Salesforce

SaaS

6

Microsoft

Azure

PaaS

7

Joyent

Ecosystem

3 *aaS

8

IBM

Blue Cloud

PaaS & SaaS

There are many cloud providers in India, the following table lists some of the major cloud service providers [5].

9

NetSuite

SuitCloud

SaaS

10

3Tera

CloudWare

PaaS

GOOGLE APPS ENGINE

Google App Engine is a platform which allows users for developing and hosting web applications on Googles infrastructure [7]. Google App Engine supports apps written in several programming languages. With App Engine's Java runtime environment, you can build your app using standard Java technologies including the JVM, Java servlets, and the Java programming language [8].

CREATE & DEPLOYING USING GOOGLE APPS ENGINE

The following step by step process will help to develop and deploy a simple Java based Servlet [9] program with Google App Engine.

Step 1

Install any one of the Eclipse [10] versions 3.3, 3.4, 3.5, 3.6, 3.7, and 4.2. The latest is eclipse-jee-juno-SR1-win32-x86_64.

Step 2

Install the Google Apps plugin using software update feature in Eclipse. The following steps are followed for Eclipse 4.2 (JUNO).

  1. Select the Help menu > Install New Software….

  2. In the Work with text box, enter:

    https://dl.google.com/eclipse/plugin/4.2.

  3. Click the Add… button. In the dialog box enter the Name as App Engine and Location as http://googleappengine.googlecode.co m/files/appengine-java-sdk-1.7.3.zip. Then click Archive button.

  4. Next select the Widows menu > Preferences > Google and then add the App Engine jar file.

Figure 3 Eclipse with Google icon

Step 3

Create a new project and select the Google icon and choose New Web Application as shown in Figure 4.

Figure 4 Create New Project

The next step is to add the projct and package name where all classes defined would be stored and the dialog box for this purpose is shown in Figure 5.

Figure 5 Configure App Engine

Figure 6 Google App Engine SDK

Step 4

We need to Install Google App Engine SDK for JAVA. This was already one Step 2 subdivision 4. So Step 4 can be skipped if the App Engine is already configured. Otherwise when the Configure SDK button in Figure 5 is clicked the following has to be entered in the Use Google App Engine TextBox.

http://googleappengine.googlecode.com/files/ appengine-java-sdk-1.7.3.zip

Step 5 Check the project file

Figure 7 Project File Structure

Step 6 Create App Engine bySign in the Gmail account as shown in Figure 8.

Figure 8 App Engine index page

Step 7 The next step is to create an Application by providing a Unique ID through which the application will be identified. The unique ID can be verified using the check availability feature

Figure 9 Register Application in App Engine

Figure 10 Application Successfully Registered

Here as an example the application ID used isapps-in12 and yet to be deployed and this status in shown in the Figure 11.

Select Browse to select the project SampleTest which was the name given to the project as shown in Figure 14.

Figure 11 Applications Registry

Step 8

.

Once completing the coding part in Eclipse the project has to be deployed into the App Engine, Figure 12 shows that activity.

Figure 12 Deploy to App Engine

Figure 13 Selece the Deploy Project to Google App Engine

Figure 14 Choose a Project to Deploy Select App Engine project settings

Figure 15 Configure Application Id with App Engine

Enter the required Application ID and click OK and click Deploy to deploy the project in Google Apps Engine. The application ID which was given earlier is apps-in12 which can be viewed in Figure 11. The process of deployment is shown in Figure 16.

Figure 16 Deploying Process

Once the SampleTest project has been deployed to execute the project, select Run as web Application as shown in Figure 17.

Figure 17 Run as Google App Engine

The output of the project can be viewed at two different location. The first location is the local host, and it can be viewed by typing http://localhost:8888/ in the browser. The Second location can be in http://apps- in12.appspot.com/. Figure 20 and Figure 21 shows this activity.

Figure 20 List the Applications in App Engine

Figure 21 Output

CONCLUSION

The main advantage of using Google App Engine is that our application can be accessed or used by our clients directly without the need of hosting the project by the developer. Google App engine provides space for ten applications free of cost and further more are charged. In our study we found out that Google App Engine can be used for many Java Technologies like JSP, EJB, frameworks like JSF, Struts, Hibernate, Spring etc

REFERENCES

  1. David C. Wyld, The Cloudy Future of Government It: Cloud Computing and the Public Sector around the World, International Journal of Web & Semantic Technology (IJWesT), Vol 1, Num 1, January 2010.

  2. http://www.wikinvest.com/concept/Cl oud_Computing

  3. Lizhe Wang and Gregor von Laszewski,Scientific Cloud Computing: Early Definition and Experience.

  4. http://www.ipnetworksystems.co.uk/cl oud-computing.php

  5. http://www.slideshare.net/grvineet/top

    -10-cloud-service-providers

  6. Torry Harris Business Solutions, Cloud Computing Services A comparison.

  7. Alexander Zahariev, Google App Engine, Helsinki University of Technology.

  8. Dan Sanderson, Programming Google App Engine, Published by OReilly Media, ISBN: 978-0-596- 52272-8.

  9. Marty Hall, Larry Brown, Core Servlets and JavaServer Pages: Volume 1: Core Technologies, 2nd Edition, Publisher: Prentice Hall PTR, ISBN: 0-13-009229-0.

  10. http://www.eclipse.org/downloads/

Leave a Reply