Upload
software-in-life
View
356
Download
8
Embed Size (px)
Citation preview
Smart TV
http://www.softwareinlife.com
Google App Engine
대표이사 장선진@jangsunjin
- Mobile Phone: (+82) 010-4585-1770- E-Mail: [email protected]
Google App Engine 의 정의
• Google App Engine 이란 Google 의 인프라스트럭처를 이용하여 원하는 웹 어플리케이션 등을 쉽게 개발 / 배포 /관리 할 수 있는 Cloud Computing 을 지원하는 플랫폼이다 .
SDK API
Operating sys-tem
App Runtime
Fault tolerance Load balancing
Hardware Networking
• Vertical Scalability
• Horizontal Scalability
• Google App Engine 을 사용할 경우 다음과 같은 장단점이 있다 .
• 장점– 유지보수 비용 절감– 전세계적인 확장의 용이성– 관리의 용이성
• 단점– GAE 관련 기술 종속– 데이터 누수 및 안정성 부족
Google App Engine 의 장단점
GAE 시스템 상태 모니터링
• 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)
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 개발 환경
• 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
• 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 오픈 할 수 없음
• JSR 을 중심으로 다음과 같은 표준 기술을 지원한다 .
GAE for Java 의 기술 표준
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
12
Google App Engine 컴포넌트 구성
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/
GAE 활용
XML
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
17
Google App Engine 계정 (1/2)• http://appengine.google.com
18
Google App Engine 계정 (2/2)
19
GAE 프로젝트 생성
20
GAE 프로젝트 구동 (1/2)
21
GAE 프로젝트 구동 (2/2)
22
Google App Engine 배포 (1/3)
23
Google App Engine 배포 (2/3)
24
Google App Engine 배포 (3/3)
• 모리스와 퍼거슨 (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])
감사합니다 .
http://code.google.com/p/devmento-gae-seminar/