SlideShare a Scribd company logo
Initiation the Java web application
project in Google App Engine
Artur Machura
24.12.2022, Katowice
Abstract
• Opening the presentation
• Introduction
• Main part
• Conclusion
Milestones
1. Create your project
2. Install the software needed for programming
3. Write your web service
4. Deploy your web service
5. Additionally - Continued work in STS4
Understand the basics concepts before
you start
1. Google App Engine GAE (at https://cloud.google.com/appengine,
distinguish at the outset the Google Web Toolkit GWT)
2. JAVA (this is one of the languages supported by GAE, the others are for
example Python, Go etc. https://www.java.com/ )
3. Spring (there are many projects related to this concept, e.g. spring
framework, spring boot and others https://spring.io/projects )
4. Apache Maven and Apache Tomcat (https://www.apache.org/ )
5. REST (Representational State Transfer,
https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm )
Create your project (an option based on a web
browser is described, another is based on the
google CLI)
1. Log in to your google account (or create an account)
https://bit.ly/3GgoEYF
2. Create your first Google cloud project (https://bit.ly/3VqMCVg )
3. Activate your billing account (you get $300 initially,
https://bit.ly/3WJHgFY )
4. Enable the API (https://bit.ly/3ji2Dzu )
5. Create an App Engine application for your Cloud project
(https://bit.ly/3jlLzsl )
Install the software needed for
programming (step 1 -2)
1. Google Cloud CLI (https://cloud.google.com/sdk/docs/install )
• You must initialize it https://cloud.google.com/sdk/docs/initializing
(include command: gcloud components update)
2. Java SE 17 Development Kit
(https://www.oracle.com/java/technologies/downloads/ )
Install the software needed for
programming (step 3)
3. Apache Maven (https://maven.apache.org/download.cgi )
• To deploy using Maven, you will need to add the App Engine Maven Plugin
to yout pom.xml file
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>2.4.4</version>
</plugin>
Write your first web service, step 1 - 3
(locally on your computer)
1. Go to the Spring Iinitializr
page (https://start.spring.io/ )
2. Generate a Spring Boot
project (options in this case
are: maven, java 17)
3. Unpack it in a local folder
(to user's home directory
.m2repository)
Write your first web service, step 4
4. Modify the main class
SpringbootApplication.java (note
the filename - which is different by
default)
import org.springframework.boot.SpringApplication;
import
org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class SpringbootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
}
@GetMapping("/")
public String hello() {
return "Hello world!";
}
}
„The modified class is a controller
that starts Spring Boot's embedded
Tomcat server and responds
to GET requests at the root path
('/') with the text "Hello world!”
Write your first web service, step 4
1. Running the server locally (google CLI)
mvn spring-boot:run
2. In your web browser, enter the following address:
http://localhost:8080
! The Hello World message from the sample app displays on the page. In
your terminal window, press Ctrl+C to exit the web server.
Deploy your web service (to the cloud
platform) step 1-2
1. Add an app.yaml file to deploy your service to App Engine
(to user's home directory.m2repositoryspringbootsrcmainappengine)
2. Edit an app.yaml file
runtime: java17
Deploy your web service (to the cloud
platform) step 3
1. In your java folder, where your Maven pom.xml file is located, run the
followien command in you terminal:
gcloud app deploy
2. Viewing your service, use the following command:
gcloud app browse
Continue work in STS4 (step 1)
1. Download and install STS 4
https://spring.io/tools
2. Import your first project
(file>import>Maven>Existing
Projects)
Continue work in STS4 (step 2)
1. Make any changes, e.g. the text
„Hello world! STS4” (it was in
SpringbootApplication.java class)
2. Check on your local server to see if
it works
• Run „Spring Boot App” (from menu
STS4)
• Check website (by default it is an
adress http://localhost:8080/)
Continue work in STS4 (step 3)
1. In google CLI deploy your service (but if you have been logged out in
the meantime, you will have to log in and set up the project).
• gcloud auth login
• gcloud config set project …
• gcloud app deploy (make sure you are in the project directory where the
pom.xml file is located)
2. Check you project address
• gcloud app browse
Source
• Java 11/17 runtime environment
https://cloud.google.com/appengine/docs/standard/java-gen2/runtime
• and others mentioned in the presentation
Thank you for your attention! Please
submit any comments on the
software-engineers.org
PhD Artur Machura
arturmachura.info
InitiateAEv2.pdf

More Related Content

What's hot

Veeam Availability top 10 reasons to choose veeam - long
Veeam Availability top 10 reasons to choose veeam - longVeeam Availability top 10 reasons to choose veeam - long
Veeam Availability top 10 reasons to choose veeam - long
S. Hanau
 
Station Number
Station NumberStation Number
Station Number
Elaine Moran
 
Vps Hosting
Vps HostingVps Hosting
Vps Hosting
Shahid Lashari
 
OpenStack Ironic - Bare Metal-as-a-Service
OpenStack Ironic - Bare Metal-as-a-ServiceOpenStack Ironic - Bare Metal-as-a-Service
OpenStack Ironic - Bare Metal-as-a-Service
Ramon Acedo Rodriguez
 
โครงงานคอมพิวเตอร์ ม.3 โรงเรียนไทยรัฐวิทยา ๓๓(บ้านทุ่งพร้าว)
โครงงานคอมพิวเตอร์ ม.3 โรงเรียนไทยรัฐวิทยา ๓๓(บ้านทุ่งพร้าว)โครงงานคอมพิวเตอร์ ม.3 โรงเรียนไทยรัฐวิทยา ๓๓(บ้านทุ่งพร้าว)
โครงงานคอมพิวเตอร์ ม.3 โรงเรียนไทยรัฐวิทยา ๓๓(บ้านทุ่งพร้าว)
ภาคภูมิ สิทธิชุม
 
Podman - The Next Generation of Linux Container Tools
Podman - The Next Generation of Linux Container ToolsPodman - The Next Generation of Linux Container Tools
Podman - The Next Generation of Linux Container Tools
I Putu Hariyadi
 
Seminar on Internet security
Seminar on Internet securitySeminar on Internet security
Seminar on Internet security
Rahul Sah
 
Group seminar report on cloud computing
Group seminar report on cloud computingGroup seminar report on cloud computing
Group seminar report on cloud computing
Sandhya Rathi
 
Blog คืออะไร
Blog คืออะไรBlog คืออะไร
Blog คืออะไร
สหชัย คำแอ่น
 
BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully
BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully
BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully
BlueHat Security Conference
 
Tomcat Server
Tomcat ServerTomcat Server
Tomcat Server
Anirban Majumdar
 
Weather now
Weather   nowWeather   now
Weather now
Amila Wijayarathna
 
Campus news feed
Campus news feedCampus news feed
Campus news feed
Noopur Koli
 
Solar and wind power forecasting
Solar and wind power forecastingSolar and wind power forecasting
Solar and wind power forecasting
RCREEE
 
Install-Doc-BIP.docx
Install-Doc-BIP.docxInstall-Doc-BIP.docx
Install-Doc-BIP.docx
AdityaDas899782
 
IP PROJECT E-GOVERNMENTAL HELPLINE
IP PROJECT E-GOVERNMENTAL HELPLINEIP PROJECT E-GOVERNMENTAL HELPLINE
IP PROJECT E-GOVERNMENTAL HELPLINE
Mathesh T
 
Aws web application architecture
Aws web application architectureAws web application architecture
Aws web application architecture
Rajeshbabu88
 
3D + MongoDB = 3D Repo
3D + MongoDB = 3D Repo3D + MongoDB = 3D Repo
3D + MongoDB = 3D Repo
MongoDB
 

What's hot (20)

Veeam Availability top 10 reasons to choose veeam - long
Veeam Availability top 10 reasons to choose veeam - longVeeam Availability top 10 reasons to choose veeam - long
Veeam Availability top 10 reasons to choose veeam - long
 
Station Number
Station NumberStation Number
Station Number
 
Vps Hosting
Vps HostingVps Hosting
Vps Hosting
 
OpenStack Ironic - Bare Metal-as-a-Service
OpenStack Ironic - Bare Metal-as-a-ServiceOpenStack Ironic - Bare Metal-as-a-Service
OpenStack Ironic - Bare Metal-as-a-Service
 
โครงงานคอมพิวเตอร์ ม.3 โรงเรียนไทยรัฐวิทยา ๓๓(บ้านทุ่งพร้าว)
โครงงานคอมพิวเตอร์ ม.3 โรงเรียนไทยรัฐวิทยา ๓๓(บ้านทุ่งพร้าว)โครงงานคอมพิวเตอร์ ม.3 โรงเรียนไทยรัฐวิทยา ๓๓(บ้านทุ่งพร้าว)
โครงงานคอมพิวเตอร์ ม.3 โรงเรียนไทยรัฐวิทยา ๓๓(บ้านทุ่งพร้าว)
 
Podman - The Next Generation of Linux Container Tools
Podman - The Next Generation of Linux Container ToolsPodman - The Next Generation of Linux Container Tools
Podman - The Next Generation of Linux Container Tools
 
Seminar on Internet security
Seminar on Internet securitySeminar on Internet security
Seminar on Internet security
 
Group seminar report on cloud computing
Group seminar report on cloud computingGroup seminar report on cloud computing
Group seminar report on cloud computing
 
Blog คืออะไร
Blog คืออะไรBlog คืออะไร
Blog คืออะไร
 
BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully
BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully
BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully
 
Tomcat Server
Tomcat ServerTomcat Server
Tomcat Server
 
Poster presentation
Poster presentationPoster presentation
Poster presentation
 
Weather now
Weather   nowWeather   now
Weather now
 
Campus news feed
Campus news feedCampus news feed
Campus news feed
 
Solar and wind power forecasting
Solar and wind power forecastingSolar and wind power forecasting
Solar and wind power forecasting
 
Install-Doc-BIP.docx
Install-Doc-BIP.docxInstall-Doc-BIP.docx
Install-Doc-BIP.docx
 
IP PROJECT E-GOVERNMENTAL HELPLINE
IP PROJECT E-GOVERNMENTAL HELPLINEIP PROJECT E-GOVERNMENTAL HELPLINE
IP PROJECT E-GOVERNMENTAL HELPLINE
 
PROJECT REPORT
PROJECT REPORTPROJECT REPORT
PROJECT REPORT
 
Aws web application architecture
Aws web application architectureAws web application architecture
Aws web application architecture
 
3D + MongoDB = 3D Repo
3D + MongoDB = 3D Repo3D + MongoDB = 3D Repo
3D + MongoDB = 3D Repo
 

Similar to InitiateAEv2.pdf

Initiation the Java web application project in the Google App Engine
Initiation the Java web application project in the Google App EngineInitiation the Java web application project in the Google App Engine
Initiation the Java web application project in the Google App Engine
University of Economics in Katowice
 
Introduction to spring boot
Introduction to spring bootIntroduction to spring boot
Introduction to spring boot
Santosh Kumar Kar
 
dokumen.tips_introduction-to-spring-boot-58bb649a21ce5.pptx
dokumen.tips_introduction-to-spring-boot-58bb649a21ce5.pptxdokumen.tips_introduction-to-spring-boot-58bb649a21ce5.pptx
dokumen.tips_introduction-to-spring-boot-58bb649a21ce5.pptx
Appster1
 
Spring hibernate tutorial
Spring hibernate tutorialSpring hibernate tutorial
Spring hibernate tutorial
Rohit Jagtap
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
Sandeep Chawla
 
Django simplified : by weever mbakaya
Django simplified : by weever mbakayaDjango simplified : by weever mbakaya
Django simplified : by weever mbakaya
Mbakaya Kwatukha
 
Selenium-Browser-Based-Automated-Testing-for-Grails-Apps
Selenium-Browser-Based-Automated-Testing-for-Grails-AppsSelenium-Browser-Based-Automated-Testing-for-Grails-Apps
Selenium-Browser-Based-Automated-Testing-for-Grails-Apps
chrisb206 chrisb206
 
BLCN532 Lab 1Set up your development environmentV2.0.docx
BLCN532 Lab 1Set up your development environmentV2.0.docxBLCN532 Lab 1Set up your development environmentV2.0.docx
BLCN532 Lab 1Set up your development environmentV2.0.docx
moirarandell
 
Installing the java sdk
Installing the java sdkInstalling the java sdk
Installing the java sdk
Kennedy Kiprono
 
Opensource gis development - part 1
Opensource gis development - part 1Opensource gis development - part 1
Opensource gis development - part 1Andrea Antonello
 
Maven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable ResultsMaven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable Results
Steve Keener
 
How to use_cucumber_rest-assured_api_framework
How to use_cucumber_rest-assured_api_frameworkHow to use_cucumber_rest-assured_api_framework
How to use_cucumber_rest-assured_api_framework
Harshad Ingle
 
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...
Sencha
 
Testing Java Web Apps With Selenium
Testing Java Web Apps With SeleniumTesting Java Web Apps With Selenium
Testing Java Web Apps With Selenium
Marakana Inc.
 
Spring Live Sample Chapter
Spring Live Sample ChapterSpring Live Sample Chapter
Spring Live Sample ChapterSyed Shahul
 
Building a Spring Boot Application - Ask the Audience!
Building a Spring Boot Application - Ask the Audience!Building a Spring Boot Application - Ask the Audience!
Building a Spring Boot Application - Ask the Audience!
🎤 Hanno Embregts 🎸
 
Flask
FlaskFlask
What's new in p2 (2009)?
What's new in p2 (2009)?What's new in p2 (2009)?
What's new in p2 (2009)?
Pascal Rapicault
 

Similar to InitiateAEv2.pdf (20)

Initiation the Java web application project in the Google App Engine
Initiation the Java web application project in the Google App EngineInitiation the Java web application project in the Google App Engine
Initiation the Java web application project in the Google App Engine
 
Introduction to spring boot
Introduction to spring bootIntroduction to spring boot
Introduction to spring boot
 
dokumen.tips_introduction-to-spring-boot-58bb649a21ce5.pptx
dokumen.tips_introduction-to-spring-boot-58bb649a21ce5.pptxdokumen.tips_introduction-to-spring-boot-58bb649a21ce5.pptx
dokumen.tips_introduction-to-spring-boot-58bb649a21ce5.pptx
 
Spring hibernate tutorial
Spring hibernate tutorialSpring hibernate tutorial
Spring hibernate tutorial
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Django simplified : by weever mbakaya
Django simplified : by weever mbakayaDjango simplified : by weever mbakaya
Django simplified : by weever mbakaya
 
Selenium-Browser-Based-Automated-Testing-for-Grails-Apps
Selenium-Browser-Based-Automated-Testing-for-Grails-AppsSelenium-Browser-Based-Automated-Testing-for-Grails-Apps
Selenium-Browser-Based-Automated-Testing-for-Grails-Apps
 
BLCN532 Lab 1Set up your development environmentV2.0.docx
BLCN532 Lab 1Set up your development environmentV2.0.docxBLCN532 Lab 1Set up your development environmentV2.0.docx
BLCN532 Lab 1Set up your development environmentV2.0.docx
 
Installing the java sdk
Installing the java sdkInstalling the java sdk
Installing the java sdk
 
Opensource gis development - part 1
Opensource gis development - part 1Opensource gis development - part 1
Opensource gis development - part 1
 
Maven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable ResultsMaven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable Results
 
How to use_cucumber_rest-assured_api_framework
How to use_cucumber_rest-assured_api_frameworkHow to use_cucumber_rest-assured_api_framework
How to use_cucumber_rest-assured_api_framework
 
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...
 
Testing Java Web Apps With Selenium
Testing Java Web Apps With SeleniumTesting Java Web Apps With Selenium
Testing Java Web Apps With Selenium
 
Exploring Maven SVN GIT
Exploring Maven SVN GITExploring Maven SVN GIT
Exploring Maven SVN GIT
 
Spring Live Sample Chapter
Spring Live Sample ChapterSpring Live Sample Chapter
Spring Live Sample Chapter
 
Building a Spring Boot Application - Ask the Audience!
Building a Spring Boot Application - Ask the Audience!Building a Spring Boot Application - Ask the Audience!
Building a Spring Boot Application - Ask the Audience!
 
Flask
FlaskFlask
Flask
 
What's new in p2 (2009)?
What's new in p2 (2009)?What's new in p2 (2009)?
What's new in p2 (2009)?
 
Google app engine
Google app engineGoogle app engine
Google app engine
 

More from University of Economics in Katowice

python_function.pdf
python_function.pdfpython_function.pdf
python_p4_v2.pdf
python_p4_v2.pdfpython_p4_v2.pdf
python_p3.pdf
python_p3.pdfpython_p3.pdf
python_p2v2_publikacja.pdf
python_p2v2_publikacja.pdfpython_p2v2_publikacja.pdf
python_p2v2_publikacja.pdf
University of Economics in Katowice
 
python_p1.pdf
python_p1.pdfpython_p1.pdf
barplotv4.pdf
barplotv4.pdfbarplotv4.pdf
ie.pdf
ie.pdfie.pdf
puś.ppt
puś.pptpuś.ppt
swd.pdf
swd.pdfswd.pdf
EARv3.pdf
EARv3.pdfEARv3.pdf
Projektowanie i implementacja usług sieciowych
Projektowanie i implementacja usług sieciowychProjektowanie i implementacja usług sieciowych
Projektowanie i implementacja usług sieciowych
University of Economics in Katowice
 
Angular10302021
Angular10302021Angular10302021
Środowisko PWA
Środowisko PWAŚrodowisko PWA
Kolo REST
Kolo RESTKolo REST
Inicjacja wg OpenUP
Inicjacja wg OpenUPInicjacja wg OpenUP
Dyscyplina zarządzania projektami wg OpenUP
Dyscyplina zarządzania projektami wg OpenUPDyscyplina zarządzania projektami wg OpenUP
Dyscyplina zarządzania projektami wg OpenUP
University of Economics in Katowice
 
Atrybut zgodności
Atrybut zgodnościAtrybut zgodności
Wstęp do dyscypliny wymagań w projektach IT
Wstęp do dyscypliny wymagań w projektach ITWstęp do dyscypliny wymagań w projektach IT
Wstęp do dyscypliny wymagań w projektach IT
University of Economics in Katowice
 
Projektowanie systemowinformatycznychprezentacjabazowa
Projektowanie systemowinformatycznychprezentacjabazowaProjektowanie systemowinformatycznychprezentacjabazowa
Projektowanie systemowinformatycznychprezentacjabazowa
University of Economics in Katowice
 
Inżynieria oprogramowania - prezentacja bazowa
Inżynieria oprogramowania - prezentacja bazowaInżynieria oprogramowania - prezentacja bazowa
Inżynieria oprogramowania - prezentacja bazowa
University of Economics in Katowice
 

More from University of Economics in Katowice (20)

python_function.pdf
python_function.pdfpython_function.pdf
python_function.pdf
 
python_p4_v2.pdf
python_p4_v2.pdfpython_p4_v2.pdf
python_p4_v2.pdf
 
python_p3.pdf
python_p3.pdfpython_p3.pdf
python_p3.pdf
 
python_p2v2_publikacja.pdf
python_p2v2_publikacja.pdfpython_p2v2_publikacja.pdf
python_p2v2_publikacja.pdf
 
python_p1.pdf
python_p1.pdfpython_p1.pdf
python_p1.pdf
 
barplotv4.pdf
barplotv4.pdfbarplotv4.pdf
barplotv4.pdf
 
ie.pdf
ie.pdfie.pdf
ie.pdf
 
puś.ppt
puś.pptpuś.ppt
puś.ppt
 
swd.pdf
swd.pdfswd.pdf
swd.pdf
 
EARv3.pdf
EARv3.pdfEARv3.pdf
EARv3.pdf
 
Projektowanie i implementacja usług sieciowych
Projektowanie i implementacja usług sieciowychProjektowanie i implementacja usług sieciowych
Projektowanie i implementacja usług sieciowych
 
Angular10302021
Angular10302021Angular10302021
Angular10302021
 
Środowisko PWA
Środowisko PWAŚrodowisko PWA
Środowisko PWA
 
Kolo REST
Kolo RESTKolo REST
Kolo REST
 
Inicjacja wg OpenUP
Inicjacja wg OpenUPInicjacja wg OpenUP
Inicjacja wg OpenUP
 
Dyscyplina zarządzania projektami wg OpenUP
Dyscyplina zarządzania projektami wg OpenUPDyscyplina zarządzania projektami wg OpenUP
Dyscyplina zarządzania projektami wg OpenUP
 
Atrybut zgodności
Atrybut zgodnościAtrybut zgodności
Atrybut zgodności
 
Wstęp do dyscypliny wymagań w projektach IT
Wstęp do dyscypliny wymagań w projektach ITWstęp do dyscypliny wymagań w projektach IT
Wstęp do dyscypliny wymagań w projektach IT
 
Projektowanie systemowinformatycznychprezentacjabazowa
Projektowanie systemowinformatycznychprezentacjabazowaProjektowanie systemowinformatycznychprezentacjabazowa
Projektowanie systemowinformatycznychprezentacjabazowa
 
Inżynieria oprogramowania - prezentacja bazowa
Inżynieria oprogramowania - prezentacja bazowaInżynieria oprogramowania - prezentacja bazowa
Inżynieria oprogramowania - prezentacja bazowa
 

Recently uploaded

Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Atul Kumar Singh
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
MIRIAMSALINAS13
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
Sandy Millin
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
joachimlavalley1
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
Tamralipta Mahavidyalaya
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
timhan337
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
Peter Windle
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
camakaiclarkmusic
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
vaibhavrinwa19
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 

Recently uploaded (20)

Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 

InitiateAEv2.pdf

  • 1. Initiation the Java web application project in Google App Engine Artur Machura 24.12.2022, Katowice
  • 2. Abstract • Opening the presentation • Introduction • Main part • Conclusion
  • 3. Milestones 1. Create your project 2. Install the software needed for programming 3. Write your web service 4. Deploy your web service 5. Additionally - Continued work in STS4
  • 4. Understand the basics concepts before you start 1. Google App Engine GAE (at https://cloud.google.com/appengine, distinguish at the outset the Google Web Toolkit GWT) 2. JAVA (this is one of the languages supported by GAE, the others are for example Python, Go etc. https://www.java.com/ ) 3. Spring (there are many projects related to this concept, e.g. spring framework, spring boot and others https://spring.io/projects ) 4. Apache Maven and Apache Tomcat (https://www.apache.org/ ) 5. REST (Representational State Transfer, https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm )
  • 5. Create your project (an option based on a web browser is described, another is based on the google CLI) 1. Log in to your google account (or create an account) https://bit.ly/3GgoEYF 2. Create your first Google cloud project (https://bit.ly/3VqMCVg ) 3. Activate your billing account (you get $300 initially, https://bit.ly/3WJHgFY ) 4. Enable the API (https://bit.ly/3ji2Dzu ) 5. Create an App Engine application for your Cloud project (https://bit.ly/3jlLzsl )
  • 6. Install the software needed for programming (step 1 -2) 1. Google Cloud CLI (https://cloud.google.com/sdk/docs/install ) • You must initialize it https://cloud.google.com/sdk/docs/initializing (include command: gcloud components update) 2. Java SE 17 Development Kit (https://www.oracle.com/java/technologies/downloads/ )
  • 7. Install the software needed for programming (step 3) 3. Apache Maven (https://maven.apache.org/download.cgi ) • To deploy using Maven, you will need to add the App Engine Maven Plugin to yout pom.xml file <plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>appengine-maven-plugin</artifactId> <version>2.4.4</version> </plugin>
  • 8. Write your first web service, step 1 - 3 (locally on your computer) 1. Go to the Spring Iinitializr page (https://start.spring.io/ ) 2. Generate a Spring Boot project (options in this case are: maven, java 17) 3. Unpack it in a local folder (to user's home directory .m2repository)
  • 9. Write your first web service, step 4 4. Modify the main class SpringbootApplication.java (note the filename - which is different by default) import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class SpringbootApplication { public static void main(String[] args) { SpringApplication.run(SpringbootApplication.class, args); } @GetMapping("/") public String hello() { return "Hello world!"; } } „The modified class is a controller that starts Spring Boot's embedded Tomcat server and responds to GET requests at the root path ('/') with the text "Hello world!”
  • 10. Write your first web service, step 4 1. Running the server locally (google CLI) mvn spring-boot:run 2. In your web browser, enter the following address: http://localhost:8080 ! The Hello World message from the sample app displays on the page. In your terminal window, press Ctrl+C to exit the web server.
  • 11. Deploy your web service (to the cloud platform) step 1-2 1. Add an app.yaml file to deploy your service to App Engine (to user's home directory.m2repositoryspringbootsrcmainappengine) 2. Edit an app.yaml file runtime: java17
  • 12. Deploy your web service (to the cloud platform) step 3 1. In your java folder, where your Maven pom.xml file is located, run the followien command in you terminal: gcloud app deploy 2. Viewing your service, use the following command: gcloud app browse
  • 13. Continue work in STS4 (step 1) 1. Download and install STS 4 https://spring.io/tools 2. Import your first project (file>import>Maven>Existing Projects)
  • 14. Continue work in STS4 (step 2) 1. Make any changes, e.g. the text „Hello world! STS4” (it was in SpringbootApplication.java class) 2. Check on your local server to see if it works • Run „Spring Boot App” (from menu STS4) • Check website (by default it is an adress http://localhost:8080/)
  • 15. Continue work in STS4 (step 3) 1. In google CLI deploy your service (but if you have been logged out in the meantime, you will have to log in and set up the project). • gcloud auth login • gcloud config set project … • gcloud app deploy (make sure you are in the project directory where the pom.xml file is located) 2. Check you project address • gcloud app browse
  • 16. Source • Java 11/17 runtime environment https://cloud.google.com/appengine/docs/standard/java-gen2/runtime • and others mentioned in the presentation
  • 17. Thank you for your attention! Please submit any comments on the software-engineers.org PhD Artur Machura arturmachura.info