2. Google App Engine의 정의
SDK API
Operating system App Runtime
Fault tolerance Load balancing
Hardware Networking
• Google App Engine이란 Google의 인프라스트럭처를 이
용하여 원하는 웹 어플리케이션 등을 쉽게 개발/배포/관리
할 수 있는 Cloud Computing을 지원하는 플랫폼이다.
4. Google App Engine의 장단점
• Google App Engine을 사용할 경
우 다음과 같은 장단점이 있다.
• 장점
– 유지보수 비용 절감
– 전세계적인 확장의 용이성
– 관리의 용이성
• 단점
– GAE 관련 기술 종속
– 데이터 누수 및 안정성 부족
6. Google App Engine의 실행환경
Python기반의 실행 환경 Java 기반의 실행 환경
• Release: 2008.04 Release: 2009.08
• GAE SDK 1.4.2 GAE SDK 1.4.2
• Python 2.5.2 JDK 1.6
– C 기반의 확장을 지원하지 않 ◦ EJB와 같은 JavaEE 관련 기술
음. 을 모두 지원하지 않음.
• Django ◦ Thread 생성을 지원하지 않음.
– Webapp라는 간단한 웹 프레 Servlet(JSP)
임웍 지원 ◦ Google Web Toolkit(GWT)
7. GAE for Java 개발 환경
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
8. GAE for Java 지원 기술 사항
• Java Data Objects (JDO) XML processing APIs
• Java Persistence API (JPA) including DOM, SAX, and
XSLT
• Java Server Faces (JSF) 1.1
- 2.0 ** HTTP Session support
(need to enable explicitly)
• Java Server Pages (JSP) +
JSTL *** JRuby (Ruby)
Jython (Python)
• Java Servlet API 2.4
Quercus (PHP)
• JavaBeans™ Activation
Framework (JAF) Rhino (JavaScript)
• Java Architecture for XML Spring Framework
Binding (JAXB)
• JavaMail **: 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 enable
EL parsing, add <%@page isElIgnored="false" %>
to your JSP.
http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine
9. GAE for Java 미지원 기술 사항
• Enterprise Java Beans (EJB) Remote Method
• JAX-RPC Invocation (RMI)
• JAX-WS Apache POI
• Java Database Connectivity ICEFaces
(JDBC) ** Hibernate
• Java EE™ Connector
Architecture (JCA)
• Java Management
Extensions (JMX)
• Java Message Service (JMS)
보안 ‘sandbox’ 환경에서 구동
• Java Naming and Directory - 쓰레드를 독자적으로 실행할 수 없음
Interface (JNDI) - 로컬 파일 시스템에 접근할 수 없음
- Socket 오픈 할 수 없음
http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine
11. Google App Engine 아키텍처
Google App Engine SDK
Dev WEB
Uploader DEV API
Server
Virtual Java Virtual
Service Framework Data Store
Accoun Admin
t Python VM Java VM Console
Service
Cron URL 패치
Service Service
STD Lib Application
Google Application Engine Data Store
XMPP Image
Service Service
BigTable
Google File System
Mail
Memcache
Service
Google Server Cluster
11
13. Google Apps Marketplace
• The Google Apps Marketplace offers products and services designed for Google users,
including 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/
25. • 모리스와 퍼거슨(C. R. Morris and C. H. Ferguson, 1993)은 과거 컴퓨터 산업의 경쟁에서
유수한 업체들의 성공과 몰락의 원인분석을 바탕으로 앞으로 다양한 산업경쟁에서 기업들
이 어떠한 전략으로 기업을 운영해야하는지 제시하였습니다.
• 여기서 이들은 개방형시스템(Open System)의 독점적 아키텍처(Proprietary Architecture)
가 경쟁에서 승리하는데 가장 중요한 요소라고 이야기 하였습니다.
Service
Service Service
SaaS
Scalability
독점적인 서비스 아키텍처
Proprietary Service Architecture
New
서비스 기반의 개방형 시스템 Service Service
Service Based Open System
Service Service Service Service
Service Service Service Service
Multi-tenant efficient
Jang, Sun-Jin
(jangsunjin@softwareinlife.com)