- Open Access
- Total Downloads : 866
- Authors : Maria Dominic, Anthony Philomen Raj, Sagayaraj Francis, Xavier Pakkiam
- Paper ID : IJERTV2IS3086
- Volume & Issue : Volume 02, Issue 03 (March 2013)
- Published (First Online): 07-03-2013
- ISSN (Online) : 2278-0181
- Publisher Name : IJERT
- License: This work is licensed under a Creative Commons Attribution 4.0 International License
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 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 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).
-
Select the Help menu > Install New Software….
-
In the Work with text box, enter:
https://dl.google.com/eclipse/plugin/4.2.
-
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.
-
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
-
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.
-
http://www.wikinvest.com/concept/Cl oud_Computing
-
Lizhe Wang and Gregor von Laszewski,Scientific Cloud Computing: Early Definition and Experience.
-
http://www.ipnetworksystems.co.uk/cl oud-computing.php
-
http://www.slideshare.net/grvineet/top
-10-cloud-service-providers
-
Torry Harris Business Solutions, Cloud Computing Services A comparison.
-
Alexander Zahariev, Google App Engine, Helsinki University of Technology.
-
Dan Sanderson, Programming Google App Engine, Published by OReilly Media, ISBN: 978-0-596- 52272-8.
-
Marty Hall, Larry Brown, Core Servlets and JavaServer Pages: Volume 1: Core Technologies, 2nd Edition, Publisher: Prentice Hall PTR, ISBN: 0-13-009229-0.
-
http://www.eclipse.org/downloads/