26
Smart TV http://www.softwareinlife.com Google App Engine 대대대대 대대대 @jangsunjin - Mobile Phone: (+82) 010-4585-1770 - E-Mail: [email protected]

N02 gae v1.1_20110220

Embed Size (px)

Citation preview

Page 1: N02 gae v1.1_20110220

Smart TV

http://www.softwareinlife.com

Google App Engine

대표이사 장선진@jangsunjin

- Mobile Phone: (+82) 010-4585-1770- E-Mail: [email protected]

Page 2: N02 gae v1.1_20110220

Google App Engine 의 정의

• Google App Engine 이란 Google 의 인프라스트럭처를 이용하여 원하는 웹 어플리케이션 등을 쉽게 개발 / 배포 /관리 할 수 있는 Cloud Computing 을 지원하는 플랫폼이다 .

SDK API

Operating sys-tem

App Runtime

Fault tolerance Load balancing

Hardware Networking

Page 3: N02 gae v1.1_20110220

• Vertical Scalability

• Horizontal Scalability

Page 4: N02 gae v1.1_20110220

• Google App Engine 을 사용할 경우 다음과 같은 장단점이 있다 .

• 장점– 유지보수 비용 절감– 전세계적인 확장의 용이성– 관리의 용이성

• 단점– GAE 관련 기술 종속– 데이터 누수 및 안정성 부족

Google App Engine 의 장단점

Page 5: N02 gae v1.1_20110220

GAE 시스템 상태 모니터링

Page 6: N02 gae v1.1_20110220

• Release: 2008.04• GAE SDK 1.4.2• Python 2.5.2

– C 기반의 확장을 지원하지 않음 .

• Django– Webapp 라는 간단한 웹

프레임웍 지원

Google App Engine 의 실행환경

Java 기반의 실행 환경Python 기반의 실행 환경

Release: 2009.08 GAE SDK 1.4.2 JDK 1.6

◦ EJB 와 같은 JavaEE 관련 기술을 모두 지원하지 않음 .

◦ Thread 생성을 지원하지 않음 .

Servlet(JSP)◦ Google Web Toolkit(GWT)

Page 7: N02 gae v1.1_20110220

Java SDK◦ http://java.sun.com/javase/downloads/index.jsp

Google Web Toolkit◦ http://code.google.com/intl/ko-KR/webtoolkit/

Eclipse IDE◦ http://www.eclipse.org/downloads/

Google Plugin for Eclipse, for Eclipse 3.5 (Galileo): ◦ http://dl.google.com/eclipse/plugin/3.5

GAE for Java 개발 환경

Page 8: N02 gae v1.1_20110220

• Java Data Objects (JDO)• Java Persistence API (JPA)• Java Server Faces (JSF)

1.1 - 2.0 **• Java Server Pages (JSP) +

JSTL ***• Java Servlet API 2.4• JavaBeans™ Activation

Framework (JAF)• Java Architecture for XML

Binding (JAXB)• JavaMail

GAE for Java 지원 기술 사항 XML processing APIs in-

cluding DOM, SAX, and XSLT

HTTP Session support (need to enable explic-itly)

JRuby (Ruby) Jython (Python) Quercus (PHP) Rhino (JavaScript) Spring Framework

**: JSF 1.2 and JSF 2.0 should also work if you set the com.sun.faces.enableMultiThreadedStartup context parameter to false to your web.xml file.*** JSP session beans are not supported; to en-able EL parsing, add <%@page isElIgnored="false" %> to your JSP.

http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine

Page 9: N02 gae v1.1_20110220

• Enterprise Java Beans (EJB)

• JAX-RPC• JAX-WS• Java Database Connectiv-

ity (JDBC) **• Java EE™ Connector Ar-

chitecture (JCA)• Java Management Exten-

sions (JMX)• Java Message Service

(JMS)• Java Naming and Direc-

tory Interface (JNDI)

GAE for Java 미지원 기술 사항 Remote Method Invoca-

tion (RMI) Apache POI ICEFaces Hibernate

http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine

보안 ‘ sandbox’ 환경에서 구동- 쓰레드를 독자적으로 실행할 수 없음- 로컬 파일 시스템에 접근할 수 없음- Socket 오픈 할 수 없음

Page 10: N02 gae v1.1_20110220

• JSR 을 중심으로 다음과 같은 표준 기술을 지원한다 .

GAE for Java 의 기술 표준

Page 11: N02 gae v1.1_20110220

11

Google App Engine 아키텍처

Account Service

URL 패치 Ser-vice

Image Ser-vice

MemcacheMail Ser-vice

XMPP Ser-vice

Cron Ser-vice

Google Application Engine Data Store

BigTable

Google File System

Google Server Cluster

Python VM Java VM

STD Lib Applica-tion

Dev WEB Server Uploader DEV API

Virtual Ser-vice

Java Framework

Virtual Data Store

Google App Engine SDK

Admin Con-sole

Page 12: N02 gae v1.1_20110220

12

Google App Engine 컴포넌트 구성

Page 13: N02 gae v1.1_20110220

Google Apps Marketplace

• The Google Apps Marketplace offers products and services designed for Google users, in-cluding installable apps that integrate directly with Google Apps. Installable apps are easy to use because they include single sign-on, Google's universal navigation, and some even include features that integrate with your domain's data.

• http://www.google.com/enterprise/marketplace/

Page 14: N02 gae v1.1_20110220

GAE 활용

XML

Page 15: N02 gae v1.1_20110220

15

Google App Engine 홈• http://code.google.com/appengine/

Page 16: N02 gae v1.1_20110220

16

Eclipse GWT Plugin 설치• Eclipse 3.6 (Helios)

– http://dl.google.com/eclipse/plugin/3.6

• Eclipse 3.5 (Galileo)– http://dl.google.com/eclipse/plugin/3.5

• Eclipse 3.4 (Ganymede)– http://dl.google.com/eclipse/plugin/3.4

• Eclipse 3.3 (Europa)– http://dl.google.com/eclipse/plugin/3.3

Page 17: N02 gae v1.1_20110220

17

Google App Engine 계정 (1/2)• http://appengine.google.com

Page 18: N02 gae v1.1_20110220

18

Google App Engine 계정 (2/2)

Page 19: N02 gae v1.1_20110220

19

GAE 프로젝트 생성

Page 20: N02 gae v1.1_20110220

20

GAE 프로젝트 구동 (1/2)

Page 21: N02 gae v1.1_20110220

21

GAE 프로젝트 구동 (2/2)

Page 22: N02 gae v1.1_20110220

22

Google App Engine 배포 (1/3)

Page 23: N02 gae v1.1_20110220

23

Google App Engine 배포 (2/3)

Page 24: N02 gae v1.1_20110220

24

Google App Engine 배포 (3/3)

Page 25: N02 gae v1.1_20110220

• 모리스와 퍼거슨 (C. R. Morris and C. H. Ferguson, 1993) 은 과거 컴퓨터 산업의 경쟁에서 유수한 업체들의 성공과 몰락의 원인분석을 바탕으로 앞으로 다양한 산업경쟁에서 기업들이 어떠한 전략으로 기업을 운영해야하는지 제시하였습니다 .

• 여기서 이들은 개방형시스템 (Open System) 의 독점적 아키텍처 (Proprietary Architec-ture) 가 경쟁에서 승리하는데 가장 중요한 요소라고 이야기 하였습니다 .

Service Service

Service Service Service Service

Service Service Service Service

NewService Service

Sca

lability

Config

urab

le

Multi-tenant efficient

독점적인 서비스 아키텍처Proprietary Service Architecture

서비스 기반의 개방형 시스템Service Based Open System

SaaS

Serv

ice

Jang, Sun-Jin ([email protected])

Page 26: N02 gae v1.1_20110220

감사합니다 .

http://code.google.com/p/devmento-gae-seminar/