SlideShare a Scribd company logo
1 of 40
Cloud Service and
GAE for Java(GAE/J)
Speaker: Roy Chen
outline
• 1. What’s Cloud Service?
• 2. PaaS features (GAE)
• 3. IaaS features (EC2)
• 4. Comparison: PaaS and IaaS
• 5. implement and deme a tiny Project
(目標:
• gae/j 開發環境設置
• 、基本jave web(servlet, jsp)
• 、將專案deploy到google gae)
•What’s Cloud
Service?
Cloud Service
Because a lot of demand for cloud computing, and
technologies of cloud is getting better, many companies
have released some services that basic on Cloud, we
called it “Cloud Service”.
• Web service (Amazon EC2, GAE…)
• Storage (Amazon s3, hicloud s3, Google Cloud
Storage…)
• Music, movie (itunes)
3-layer in Cloud Service
Web browser, mobile app…
SaaS (Software as a Service)
PaaS (Platform as a Service)
IaaS (Infrastructure as a Service)
•PaaS features (GAE)
Explore features!
PaaS - GAE
1. Api
2. Auth
3. Monitoring – Logs
4. Storage
5. …
1. Support some useful APIs
Based on PaaS, GAE support
many useful APIs
For developers
Such as mail, map, youtube, and
most powerful is auth!
2. OAuth2.0
Think about this Scenario:
Your app(third party) wants
to access user’s photo
placed in Google Storage,
The safest way is by Oauth,
but how the Oauth do it?
If you Use a non-OAuth app…
WHAT CONSEQUENCES YOU WILL
ENCOUNTER???
3. Monitoring – Logs
You don’t need to implement a log record
system, GAE provides you a log control panel
which has a pretty UI, and useful filter.
4. Storage
Store and manage data using a fully-managed, relational
MySQL database
Cloud Datastore provides a managed, NoSQL,
schemaless database for
storing non-relational data.
provides developers and IT teams with secure, durable,
highly-scalable object storage. with a simple web
services interface to store and retrieve any
amount of data from anywhere on the web.
Common Architecture
HTTP GET
IaaS example – Amazon EC2
IaaS example – Amazon EC2
Instagram
Comparison: PaaS and IaaS
PaaS
IaaS
Google App Engine (GAE)
Microsoft Azure
Amazon EC2
Good Part of PaaS: machine and software configurations
has been set, moreover, the vendor may provide many
good api for you.
Bad Part: you need to allow the vender’s rules of environments
settings, programming languages, db. And PaaS project has bad
portability and hard to rework.
Good stuff… GCE
I prefer to use IaaS
production, but I hate AWS,
I want to use Google
production!
Let me show
you
something
good!
Project:真男人
簡介:
從前端的radio button選一個你想要的男人,
按下送出,你選的人名會送到後端servlet,經
過篩選之後,會將頁面導到該男人的頁面。
(將前端資料post到servlet,servlet計算之後得
到新的結果,在把新的結果由servlet傳回jsp,
並使用jsp tag取得資料 )
2 ways to set ur dev environment
• 1. use MAVEN
• 2. use eclipse
The Google App Engine SDK and
Maven
• When you use Maven, you don't need to
download the Google App Engine SDK. Maven
does that for you. You'll also use Maven to test
your app locally and upload (deploy) it to
production App Engine.
Getting Eclipse
Installing the Google Plugin for Eclipse
環境設置完成
Creating a project
Click
Web Application Project
測試一下
成功
新增html
設定router
Front-end
在主servlet產生一個doPost 方法
把預設的servlet改成這樣
需要一個jsp去接servlet丟過來的東
西
Apply gae service
• 接下來要上傳到GAE SERVER,但在這之前
你需要去google開發者網站一下。
• https://console.developers.google.com/projec
t
• 直接使用您原本的gmail帳號即可,將gae的
服務打開。
Projectid 將會是你domain name
其中一部分
• 去 appengine-web.xml
• 把application tag中間加上你的id
• <application>oh20141030</application>
Finally…
http://oh20141030.appspot.com/

More Related Content

What's hot

使用 AWS Step Functions 開發 Serverless 服務
使用 AWS Step Functions 開發 Serverless 服務使用 AWS Step Functions 開發 Serverless 服務
使用 AWS Step Functions 開發 Serverless 服務Amazon Web Services
 
AWS Big Data combo
AWS Big Data comboAWS Big Data combo
AWS Big Data comboJulien SIMON
 
利用 Amazon QuickSight 視覺化分析服務剖析資料
利用 Amazon QuickSight 視覺化分析服務剖析資料利用 Amazon QuickSight 視覺化分析服務剖析資料
利用 Amazon QuickSight 視覺化分析服務剖析資料Amazon Web Services
 
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)Amazon Web Services Korea
 
Big Data answers in seconds with Amazon Athena
Big Data answers in seconds with Amazon AthenaBig Data answers in seconds with Amazon Athena
Big Data answers in seconds with Amazon AthenaJulien SIMON
 
Using Amazon CloudWatch Events, AWS Lambda and Spark Streaming to Process E...
Using Amazon CloudWatch Events,  AWS Lambda and Spark Streaming  to Process E...Using Amazon CloudWatch Events,  AWS Lambda and Spark Streaming  to Process E...
Using Amazon CloudWatch Events, AWS Lambda and Spark Streaming to Process E...Julien SIMON
 
Rapid deployment of Sitecore on AWS
Rapid deployment of Sitecore on AWSRapid deployment of Sitecore on AWS
Rapid deployment of Sitecore on AWSGaurav "GP" Pal
 
AWS Office Hours: Amazon Elastic MapReduce
AWS Office Hours: Amazon Elastic MapReduce AWS Office Hours: Amazon Elastic MapReduce
AWS Office Hours: Amazon Elastic MapReduce Amazon Web Services
 
Armazenamento em Amazon Web Service para Setor Publico
 Armazenamento em Amazon Web Service para Setor Publico  Armazenamento em Amazon Web Service para Setor Publico
Armazenamento em Amazon Web Service para Setor Publico Amazon Web Services LATAM
 
Deep Learning on AWS (November 2016)
Deep Learning on AWS (November 2016)Deep Learning on AWS (November 2016)
Deep Learning on AWS (November 2016)Julien SIMON
 
클라우드 기반 데이터 분석 및 인공 지능을 위한 비지니스 혁신 - 윤석찬 (AWS 테크에반젤리스트)
클라우드 기반 데이터 분석 및 인공 지능을 위한 비지니스 혁신 - 윤석찬 (AWS 테크에반젤리스트)클라우드 기반 데이터 분석 및 인공 지능을 위한 비지니스 혁신 - 윤석찬 (AWS 테크에반젤리스트)
클라우드 기반 데이터 분석 및 인공 지능을 위한 비지니스 혁신 - 윤석찬 (AWS 테크에반젤리스트)Amazon Web Services Korea
 
AWS re:Invent 2016: Busting the Myth of Vendor Lock-In: How D2L Embraced the...
AWS re:Invent 2016: Busting the Myth of Vendor Lock-In:  How D2L Embraced the...AWS re:Invent 2016: Busting the Myth of Vendor Lock-In:  How D2L Embraced the...
AWS re:Invent 2016: Busting the Myth of Vendor Lock-In: How D2L Embraced the...Amazon Web Services
 
(SDD420) Amazon WorkSpaces: Advanced Topics and Deep Dive | AWS re:Invent 2014
(SDD420) Amazon WorkSpaces: Advanced Topics and Deep Dive | AWS re:Invent 2014(SDD420) Amazon WorkSpaces: Advanced Topics and Deep Dive | AWS re:Invent 2014
(SDD420) Amazon WorkSpaces: Advanced Topics and Deep Dive | AWS re:Invent 2014Amazon Web Services
 
Scale, baby, scale! (June 2016)
Scale, baby, scale! (June 2016)Scale, baby, scale! (June 2016)
Scale, baby, scale! (June 2016)Julien SIMON
 
STG206_Big Data Data Lakes and Data Oceans
STG206_Big Data Data Lakes and Data OceansSTG206_Big Data Data Lakes and Data Oceans
STG206_Big Data Data Lakes and Data OceansAmazon Web Services
 
Sitecore 8 Azure PaaS Module Blueprint
Sitecore 8 Azure PaaS Module BlueprintSitecore 8 Azure PaaS Module Blueprint
Sitecore 8 Azure PaaS Module BlueprintMark Taylor
 
Cloud computing by Google Cloud Platform - Presentation
Cloud computing by Google Cloud Platform - PresentationCloud computing by Google Cloud Platform - Presentation
Cloud computing by Google Cloud Platform - PresentationTinarivosoaAbaniaina
 
Modern Data Platforms - Thinking Data Flywheel on the Cloud
Modern Data Platforms - Thinking Data Flywheel on the CloudModern Data Platforms - Thinking Data Flywheel on the Cloud
Modern Data Platforms - Thinking Data Flywheel on the CloudAlluxio, Inc.
 
Databases & Analytics - re:Invent Come to London 2.0
Databases & Analytics - re:Invent Come to London 2.0Databases & Analytics - re:Invent Come to London 2.0
Databases & Analytics - re:Invent Come to London 2.0Amazon Web Services
 

What's hot (20)

使用 AWS Step Functions 開發 Serverless 服務
使用 AWS Step Functions 開發 Serverless 服務使用 AWS Step Functions 開發 Serverless 服務
使用 AWS Step Functions 開發 Serverless 服務
 
AWS Big Data combo
AWS Big Data comboAWS Big Data combo
AWS Big Data combo
 
利用 Amazon QuickSight 視覺化分析服務剖析資料
利用 Amazon QuickSight 視覺化分析服務剖析資料利用 Amazon QuickSight 視覺化分析服務剖析資料
利用 Amazon QuickSight 視覺化分析服務剖析資料
 
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
 
Big Data answers in seconds with Amazon Athena
Big Data answers in seconds with Amazon AthenaBig Data answers in seconds with Amazon Athena
Big Data answers in seconds with Amazon Athena
 
Using Amazon CloudWatch Events, AWS Lambda and Spark Streaming to Process E...
Using Amazon CloudWatch Events,  AWS Lambda and Spark Streaming  to Process E...Using Amazon CloudWatch Events,  AWS Lambda and Spark Streaming  to Process E...
Using Amazon CloudWatch Events, AWS Lambda and Spark Streaming to Process E...
 
Rapid deployment of Sitecore on AWS
Rapid deployment of Sitecore on AWSRapid deployment of Sitecore on AWS
Rapid deployment of Sitecore on AWS
 
AWS Office Hours: Amazon Elastic MapReduce
AWS Office Hours: Amazon Elastic MapReduce AWS Office Hours: Amazon Elastic MapReduce
AWS Office Hours: Amazon Elastic MapReduce
 
Armazenamento em Amazon Web Service para Setor Publico
 Armazenamento em Amazon Web Service para Setor Publico  Armazenamento em Amazon Web Service para Setor Publico
Armazenamento em Amazon Web Service para Setor Publico
 
Deep Learning on AWS (November 2016)
Deep Learning on AWS (November 2016)Deep Learning on AWS (November 2016)
Deep Learning on AWS (November 2016)
 
클라우드 기반 데이터 분석 및 인공 지능을 위한 비지니스 혁신 - 윤석찬 (AWS 테크에반젤리스트)
클라우드 기반 데이터 분석 및 인공 지능을 위한 비지니스 혁신 - 윤석찬 (AWS 테크에반젤리스트)클라우드 기반 데이터 분석 및 인공 지능을 위한 비지니스 혁신 - 윤석찬 (AWS 테크에반젤리스트)
클라우드 기반 데이터 분석 및 인공 지능을 위한 비지니스 혁신 - 윤석찬 (AWS 테크에반젤리스트)
 
AWS re:Invent 2016: Busting the Myth of Vendor Lock-In: How D2L Embraced the...
AWS re:Invent 2016: Busting the Myth of Vendor Lock-In:  How D2L Embraced the...AWS re:Invent 2016: Busting the Myth of Vendor Lock-In:  How D2L Embraced the...
AWS re:Invent 2016: Busting the Myth of Vendor Lock-In: How D2L Embraced the...
 
PHP Office Hours
PHP Office HoursPHP Office Hours
PHP Office Hours
 
(SDD420) Amazon WorkSpaces: Advanced Topics and Deep Dive | AWS re:Invent 2014
(SDD420) Amazon WorkSpaces: Advanced Topics and Deep Dive | AWS re:Invent 2014(SDD420) Amazon WorkSpaces: Advanced Topics and Deep Dive | AWS re:Invent 2014
(SDD420) Amazon WorkSpaces: Advanced Topics and Deep Dive | AWS re:Invent 2014
 
Scale, baby, scale! (June 2016)
Scale, baby, scale! (June 2016)Scale, baby, scale! (June 2016)
Scale, baby, scale! (June 2016)
 
STG206_Big Data Data Lakes and Data Oceans
STG206_Big Data Data Lakes and Data OceansSTG206_Big Data Data Lakes and Data Oceans
STG206_Big Data Data Lakes and Data Oceans
 
Sitecore 8 Azure PaaS Module Blueprint
Sitecore 8 Azure PaaS Module BlueprintSitecore 8 Azure PaaS Module Blueprint
Sitecore 8 Azure PaaS Module Blueprint
 
Cloud computing by Google Cloud Platform - Presentation
Cloud computing by Google Cloud Platform - PresentationCloud computing by Google Cloud Platform - Presentation
Cloud computing by Google Cloud Platform - Presentation
 
Modern Data Platforms - Thinking Data Flywheel on the Cloud
Modern Data Platforms - Thinking Data Flywheel on the CloudModern Data Platforms - Thinking Data Flywheel on the Cloud
Modern Data Platforms - Thinking Data Flywheel on the Cloud
 
Databases & Analytics - re:Invent Come to London 2.0
Databases & Analytics - re:Invent Come to London 2.0Databases & Analytics - re:Invent Come to London 2.0
Databases & Analytics - re:Invent Come to London 2.0
 

Similar to Cloud service and gae for java(gae:j)

Leo Zhadanovsky - Building Web Apps with AWS CodeStar and AWS Elastic Beansta...
Leo Zhadanovsky - Building Web Apps with AWS CodeStar and AWS Elastic Beansta...Leo Zhadanovsky - Building Web Apps with AWS CodeStar and AWS Elastic Beansta...
Leo Zhadanovsky - Building Web Apps with AWS CodeStar and AWS Elastic Beansta...Amazon Web Services
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAmazon Web Services
 
AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...
AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...
AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...Amazon Web Services
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAmazon Web Services
 
AWS Summit 2014 - Perth - Keynote
AWS Summit 2014 - Perth - KeynoteAWS Summit 2014 - Perth - Keynote
AWS Summit 2014 - Perth - KeynoteAmazon Web Services
 
Continuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventContinuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventJohn Schneider
 
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Amazon Web Services
 
Cloud computing overview & running your code on Google Cloud
Cloud computing overview & running your code on Google CloudCloud computing overview & running your code on Google Cloud
Cloud computing overview & running your code on Google Cloudwesley chun
 
Netflix in the Cloud at SV Forum
Netflix in the Cloud at SV ForumNetflix in the Cloud at SV Forum
Netflix in the Cloud at SV ForumAdrian Cockcroft
 
SRV313 Introduction to Building Web Apps on AWS
 SRV313 Introduction to Building Web Apps on AWS SRV313 Introduction to Building Web Apps on AWS
SRV313 Introduction to Building Web Apps on AWSAmazon Web Services
 
AWS re:Invent 2016 recap (part 2)
AWS re:Invent 2016 recap (part 2) AWS re:Invent 2016 recap (part 2)
AWS re:Invent 2016 recap (part 2) Julien SIMON
 
Aws-What You Need to Know_Simon Elisha
Aws-What You Need to Know_Simon ElishaAws-What You Need to Know_Simon Elisha
Aws-What You Need to Know_Simon ElishaHelen Rogers
 
Concevoir une application scalable dans le Cloud
Concevoir une application scalable dans le CloudConcevoir une application scalable dans le Cloud
Concevoir une application scalable dans le CloudStéphanie Hertrich
 
Current state of affairs cloud computing
Current state of affairs   cloud computingCurrent state of affairs   cloud computing
Current state of affairs cloud computingChirag Jog
 
AWS DevOps: Introduction to DevOps on AWS
  AWS DevOps: Introduction to DevOps on AWS  AWS DevOps: Introduction to DevOps on AWS
AWS DevOps: Introduction to DevOps on AWSDatacademy.ai
 
Batch Processing with Containers on AWS - CON304 - re:Invent 2017
Batch Processing with Containers on AWS - CON304 - re:Invent 2017Batch Processing with Containers on AWS - CON304 - re:Invent 2017
Batch Processing with Containers on AWS - CON304 - re:Invent 2017Amazon Web Services
 
Google Compute Engine
Google Compute EngineGoogle Compute Engine
Google Compute EngineCsaba Toth
 
Customer Sharing: Trend Micro - Analytic Engine - A common Big Data computati...
Customer Sharing: Trend Micro - Analytic Engine - A common Big Data computati...Customer Sharing: Trend Micro - Analytic Engine - A common Big Data computati...
Customer Sharing: Trend Micro - Analytic Engine - A common Big Data computati...Amazon Web Services
 

Similar to Cloud service and gae for java(gae:j) (20)

Leo Zhadanovsky - Building Web Apps with AWS CodeStar and AWS Elastic Beansta...
Leo Zhadanovsky - Building Web Apps with AWS CodeStar and AWS Elastic Beansta...Leo Zhadanovsky - Building Web Apps with AWS CodeStar and AWS Elastic Beansta...
Leo Zhadanovsky - Building Web Apps with AWS CodeStar and AWS Elastic Beansta...
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
Building Web Apps on AWS
Building Web Apps on AWSBuilding Web Apps on AWS
Building Web Apps on AWS
 
AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...
AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...
AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
Cloud PaaS with Java
Cloud PaaS with JavaCloud PaaS with Java
Cloud PaaS with Java
 
AWS Summit 2014 - Perth - Keynote
AWS Summit 2014 - Perth - KeynoteAWS Summit 2014 - Perth - Keynote
AWS Summit 2014 - Perth - Keynote
 
Continuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventContinuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:Invent
 
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
 
Cloud computing overview & running your code on Google Cloud
Cloud computing overview & running your code on Google CloudCloud computing overview & running your code on Google Cloud
Cloud computing overview & running your code on Google Cloud
 
Netflix in the Cloud at SV Forum
Netflix in the Cloud at SV ForumNetflix in the Cloud at SV Forum
Netflix in the Cloud at SV Forum
 
SRV313 Introduction to Building Web Apps on AWS
 SRV313 Introduction to Building Web Apps on AWS SRV313 Introduction to Building Web Apps on AWS
SRV313 Introduction to Building Web Apps on AWS
 
AWS re:Invent 2016 recap (part 2)
AWS re:Invent 2016 recap (part 2) AWS re:Invent 2016 recap (part 2)
AWS re:Invent 2016 recap (part 2)
 
Aws-What You Need to Know_Simon Elisha
Aws-What You Need to Know_Simon ElishaAws-What You Need to Know_Simon Elisha
Aws-What You Need to Know_Simon Elisha
 
Concevoir une application scalable dans le Cloud
Concevoir une application scalable dans le CloudConcevoir une application scalable dans le Cloud
Concevoir une application scalable dans le Cloud
 
Current state of affairs cloud computing
Current state of affairs   cloud computingCurrent state of affairs   cloud computing
Current state of affairs cloud computing
 
AWS DevOps: Introduction to DevOps on AWS
  AWS DevOps: Introduction to DevOps on AWS  AWS DevOps: Introduction to DevOps on AWS
AWS DevOps: Introduction to DevOps on AWS
 
Batch Processing with Containers on AWS - CON304 - re:Invent 2017
Batch Processing with Containers on AWS - CON304 - re:Invent 2017Batch Processing with Containers on AWS - CON304 - re:Invent 2017
Batch Processing with Containers on AWS - CON304 - re:Invent 2017
 
Google Compute Engine
Google Compute EngineGoogle Compute Engine
Google Compute Engine
 
Customer Sharing: Trend Micro - Analytic Engine - A common Big Data computati...
Customer Sharing: Trend Micro - Analytic Engine - A common Big Data computati...Customer Sharing: Trend Micro - Analytic Engine - A common Big Data computati...
Customer Sharing: Trend Micro - Analytic Engine - A common Big Data computati...
 

More from Roy Chen

The Power of Variable Names
The Power of Variable NamesThe Power of Variable Names
The Power of Variable NamesRoy Chen
 
培養深度工作力
培養深度工作力培養深度工作力
培養深度工作力Roy Chen
 
Svm and libsvm
Svm  and libsvmSvm  and libsvm
Svm and libsvmRoy Chen
 
Phonegap入門
Phonegap入門Phonegap入門
Phonegap入門Roy Chen
 
WiFi direct
WiFi directWiFi direct
WiFi directRoy Chen
 
Nfc tutorial
Nfc tutorialNfc tutorial
Nfc tutorialRoy Chen
 
Processing for fun
Processing for funProcessing for fun
Processing for funRoy Chen
 
聽障朋友科技應用
聽障朋友科技應用聽障朋友科技應用
聽障朋友科技應用Roy Chen
 
Phonegap tricky
Phonegap trickyPhonegap tricky
Phonegap trickyRoy Chen
 

More from Roy Chen (11)

The Power of Variable Names
The Power of Variable NamesThe Power of Variable Names
The Power of Variable Names
 
培養深度工作力
培養深度工作力培養深度工作力
培養深度工作力
 
Svm and libsvm
Svm  and libsvmSvm  and libsvm
Svm and libsvm
 
Phonegap入門
Phonegap入門Phonegap入門
Phonegap入門
 
WiFi direct
WiFi directWiFi direct
WiFi direct
 
Nfc tutorial
Nfc tutorialNfc tutorial
Nfc tutorial
 
Gwt rpc
Gwt rpcGwt rpc
Gwt rpc
 
Processing for fun
Processing for funProcessing for fun
Processing for fun
 
個資法
個資法個資法
個資法
 
聽障朋友科技應用
聽障朋友科技應用聽障朋友科技應用
聽障朋友科技應用
 
Phonegap tricky
Phonegap trickyPhonegap tricky
Phonegap tricky
 

Recently uploaded

Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 

Recently uploaded (20)

Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 

Cloud service and gae for java(gae:j)

Editor's Notes

  1. 因為雲端計算的需求越來越多,和一些技術的純熟,很多公司都推出了一些基於雲端的服務,統稱為雲端服務,雲端服務又可細分很多種, 像是web相關的服務,Amazon, Google, MS…等非常多大大小小的公司都有在做web service, 很多大小公司把它們的server host在這些服務上,所以他們只要專心於開發就好,除了省時間,也可以少請幾位Msi,節省成本。 另外一種像是雲端儲存服務,就是儲放檔案的空間,像以前很多人會自己架server讓別人用ftp抓東西,現在可以不用自己架,用一些大公司提供的雲端儲存服務就可以了,而且一些新的儲存雲服務除了使用依傳統的ftp作為client之外,還支援REST API的方式存取資料,REST API簡單來講就是把HTTP的GET POST PUT DELETE寫成api的方式,讓client user可以更簡單的存取server資源。 通常 web service跟 Storage service會它配再一起用,比如說像一個類似instragram的專案,他的web server可能就會使用ec2,然後再使用amazon s3去存取圖片。 另外像是提供音樂影片的服務也算是雲端服務的一種,最有名的應該就是apple的 itunes。
  2. 上一張是簡單介紹雲端服務的種類,這裡則是要介紹雲端服務的階層,雲端服務主要是三層,就是這張投影片我用藍色圈起來的部分,至於最上面那層是client,不屬於雲端服務,就是我們用戶端,像是瀏覽器,或是app之類的, 那我們就來看雲端服務的第一層,應應層,這層跟這次主題GAE並沒有太大關聯,這層主要是直接提供軟體給客戶用,只是說軟體不是放在client,是放在某個cloud server上,像是Facebook, google map, youtube都是此層的應用。 接下來是platform跟infrastructure的這兩層就跟應用層有很明顯的差別了,下面這兩層主要是給開發者使用,也是跟這次主題GAE最有關連的兩層, 先看platform這層,這一層主要提供平台服務,這個平台有廠商提供給你的設備,還有廠商幫你設置好的Server,甚至連你可能會用到的API都幫你寫好了,開發者需要遵循廠商的部署規範,和api的使用方法來開發你的專案,最後在放上平台運作。使用這個架構來提供服務的有 Google的gae,也就是這次的主題,和MS azure。 接著要看的是infrastructure這層,這層翻譯較基礎建設,但這樣講很怪,簡單來說就是提供你主機跟設備還有網路等等,至於要跑什麼軟體,做什麼服務都是你自己決定的,可以把它想像成廠商直接提供你一台乾淨的windows或是osx 或是linux,讓你遠端連過去用。有名的像是Amazon的ec2。
  3. 額 前面有說到PaaS的服務會幫你把serer設置好,你需要的只是遵守開發商的佈署規則,和遵循開發商釋出的api呼叫方法,就可以開發你的專案了,在這裡我要開始介紹GAE的一些特色,但其實GAE可以使用的東西實在太多,在這次的分享講不完,所以我會快速的帶過幾個比較常見的特色,讓大家更了解GAE是在幹什麼。
  4. 因為GAE是PaaS的一種,所以它幫妳寫好很多API讓你方便使用,你省了很多時間自己寫。 舉例像是gmail的api,
  5. Oauth的機制可以讓user更安心地把存取資料的權限交給第三方的應用程式,舉個例子,當有app要存取你fb的圖片時,你的帳號密碼經過這個app,而是給app一個token,類似金鑰的東西,這樣就不用擔心你的個資在經過別人的server時被偷存起來。 Facebook twitter google等大廠都有使用這個機制,那GAE提供了方便使用的api,讓你的專案可以使用Oauth這個東c 像金流的網站幾乎都有用到這個機制,好處是你線上付款時,你的個資 你的卡號 不會經過賣家的server 例子 你做了一個app,功能是取得你用戶fb的照片,這個app不需要用戶索取帳號跟密碼,app需要的是一組token,此時app會去跟fb server要token,fb server認證你這個app是合法的之後,fbserver會給app一組token,app就可以用token去跟fb索取你的照片, 它強大的地方式在於,每組token都有特定的功用,比如說 app想要拿到你的相簿,它需要有一組專門取得相簿的token,如果app想要拿到你設為隱私的留言,app就需要一組專門取得隱私留言的token,除此之外,每個token都有它的有效期限,可能是幾小時或者是幾天。 使用Oauth機制的服務,使用者會很安心,這也就是為什麼很多應用程式的登入都直接拿fb, twitter google+的來用。 那如果你想要自己做登入系統,GAE提供了API讓你很方便的使用Oauth。
  6. http://instagram-engineering.tumblr.com/ PaaS 優點 硬體軟體都幫你設定好,甚至提供了很多實用的api,比IaaS能更快的進入開發狀態。 缺點 必須遵照PaaS開發指定的某些開發環境、程式語言、資料庫,而且專案到後期太依賴開發商給的api,移植性變得不容易,rework也相對難。
  7. 其實google在2008先推出PaaS的GAE,amazon則是在2006推出IaaS的EC2,但google發現這樣不行cloud service的市占率都被amazon拿走了,於是google在2012推出了跟ec2很像的GCE,要來pk, 至於gae跟gce哪個好,其實都很好,看需求決定要用什麼。 對了 google跟amazon在台灣都有data center,所以速度都很快。
  8. The Eclipse IDE is available in several packages. The "Eclipse IDE for Java EE Developers" package includes all of the components you will need for web application development. In addition to the Google Plugin for Eclipse, we recommend the Eclipse Web Tools Platform (WTP) plugins for web development. Among other things, WTP provides editing modes for JSP and HTML files. Eclipese版本有很多,你要去下載的是Eclipse IDE for Java EE Developers,這個版本包含一些寫java web需要用到的東西 //Luna…月神
  9. Start Eclipse Select Help > Install New Software... In the dialog that appears, enter the update site URL into the Work with text box: https://dl.google.com/eclipse/plugin/4.4 And press the enter key. 只需要安裝  Google Plugin for Eclipse(required) 和 SDK -> Google App Engine Java SDK (1.9.4), 這兩個即可,但如果你很熟悉用dreamweaver這種拖拉式的網頁ide來寫網頁的話,你可以考慮安裝 Google web toolkit SDK 2.6.0,有了它,你要radio btn, table, div, inputbox,都可以直接拖拉來完成。
  10. Using the Google Plugin for Eclipse It's easy to use the Eclipse development environment to develop your Java App Engine application, just as you can to develop any other servlet-based web application. With the Google Plugin for Eclipse, it's even easier. The plugin lets you create, test, and upload App Engine applications from within Eclipse. You can also import an App Engine application packaged as a Maven project, and let Eclipse use Maven to manage dependencies and builds. (For more information, see Using Apache Maven.) The Google Plugin for Eclipse also makes it easy to develop applications using Google Web Toolkit (GWT), to run on App Engine or in any other environment. This article describes how to install the Google Plugin for Eclipse, create or import a new App Engine project, and debug it using the development server running within Eclipse. The article also describes how to use the plugin to upload your project to App Engine. For more information about the plugin, including how to use it for Google Web Toolkit projects, see the Google Plugin for Eclipse documentation. Getting Eclipse Installing the Google Plugin for Eclipse Creating a project Importing a Maven project Running the project Uploading to Google App Engine Running the command line tools Getting Eclipse The Eclipse IDE is available in several packages. The "Eclipse IDE for Java EE Developers" package includes all of the components you will need for web application development. In addition to the Google Plugin for Eclipse, we recommend the Eclipse Web Tools Platform (WTP) plugins for web development. Among other things, WTP provides editing modes for JSP and HTML files. Installing the Google Plugin for Eclipse To use the plugin you must be running Java version 7 and a recent version of Eclipse. You can install the Google Plugin for Eclipse using the software update feature of Eclipse. Be sure to use the plugin that corresponds to your version of Eclipse. Follow the installation instructions provided at the links below or, if you are familiar with installing Eclipse plugins, you can simply paste the appropriate plugin link directly into Eclipse. Eclipse versionInstallation instructionsDirect plugin linkEclipse 4.4 (Luna)Plugin for Eclipse 4.4 (Luna)https://dl.google.com/eclipse/plugin/4.4Eclipse 4.3 (Kepler)Plugin for Eclipse 4.3 (Kepler)https://dl.google.com/eclipse/plugin/4.3Eclipse 3.8/4.2 (Juno)Plugin for Eclipse 3.8/4.2 (Juno)https://dl.google.com/eclipse/plugin/4.2If you are looking for older versions of the plugin, click here. If you are having trouble installing from the update sites (due to firewall issues, for instance), please see this FAQ entry. As an alternative to installing from the update site, you can install the Google Plugin for Eclipse by downloading and installing an archive of the update site. Creating a project To create a new App Engine project: Select the File menu > New > Web Application Project . If you do not see this menu option, select theWindow menu > Reset Perspective..., click OK, then try the File menu again. Alternatively, click the Google button  in the Eclipse toolbar and select New Web Application Project. The "Create a Web Application Project" wizard opens. For "Project name," enter a name for your project, such as Guestbook for the project described in the Getting Started Guide. For "Package," enter an appropriate package name, such as guestbook. If you're not using Google Web Toolkit, uncheck "Use Google Web Toolkit." Verify that "Use Google App Engine" is checked. If you installed the App Engine SDK using Software Update, the plugin is already configured to use the SDKs that were installed. If you would like to use a separate installation of the App Engine SDK, clickConfigure SDKs..., and follow the prompts to add a configuration with your SDK's appengine-java-sdk/directory. Click Finish to create the project. The wizard creates a directory structure for the project, including a src/ directory for Java source files, and awar/ directory for compiled classes and other files for the application, libraries, configuration files, static files such as images and CSS, and other data files. The wizard also creates a servlet source file and two configuration files. The complete directory structure looks like this:
  11. 到這裡沒問題的話,表示你環境設置ok了,可以開始動工了!
  12. 瀏覽器輸入url,這個檔案會幫你找到哪個url應該對應到那些page,應該執行那些code。 可以把它想像成是路油表 router table,一四是,當有人對url-pattern裡的那段做出request時,servlet-mapping裡的servlet-name就會去找s
  13. MisterUniverseServlet.java 去增加一個do post
  14. Create jsp to shwo man 前端有種東西叫做表單 form,有一個屬性較method,method的值主要有四種,GET POST DELETE PUT,當你送出表單時,server side也就是 servlet要有相對應的method去接他,不然會有錯。 這段code是預設一個有著radio btn的表單Post到server時要做的事情, Req.gerParameter會把表單中name屬性為boy的值取出來,另一個就是下面req.setAttribute
  15. 先來看看 錢號跟一組中括號的那個東西,是JSP的特殊用法,它可以直接把servlet的變數印出來,通常會把它稱為slot, 印完之後,JSP會隨著被填滿的slot被render成html,再經由瀏覽器秀出來。