SlideShare a Scribd company logo
Hybrid Appand GAE RESTful Architecture대표이사 장선진@jangsunjinMobile Phone: (+82) 010-4585-1770
 E-Mail: jangsunjin@softwareinlife.comNetwork TrafficExabytes per Month of Mobile Data Traffic by 2015High-End Devices Can Multiply Traffic1 EB = 1,000,000,000,000,000,000 B = 1018 bytes = 1 billion gigabytes = 1 million terabytes
The Network EffectMetcalfe's law: Network value rises by the square of the number of terminals.Robert MetcalfeMetcalfe's law characterizes many of the network effects of communication technologies and networks such as the Internet, social networking, and the World Wide Web.http://en.wikipedia.org/wiki/Robert_Metcalfehttp://en.wikipedia.org/wiki/Metcalfe's_law
Google App Engine ArchitectureGAE SDKIDE         Your GAE ApplicationPython / Java FrameworkAdminConsoleBlobstoreCapabilitiesChannelURL FetchImagesMailMemcacheUsersMultitenancyOAuthTask QueuesXMPPGoogle App Engine Runtime (Python, Java, GO)Google App Engine DataStoreBigTableGoogle File SystemGoogle Server Cluster
Google File SystemGFS is optimized for Google's core data storage and usage needs (primarily the search engine), which can generate enormous amounts of data that needs to be retained;Google File System grew out of an earlier Google effort, "BigFiles", developed by Larry Page and Sergey Brin in the early days of Google, while it was still located in Stanford.Files are divided into chunks of 64 megabytes, which are only extremely rarely overwritten, or shrunk; files are usually appended to or read. It is also designed and optimized to run on Google's computing clusters, dense nodes which consist of cheap, "commodity" computers, which means precautions must be taken against the high failure rate of individual nodes and the subsequent data loss. Other design decisions select for high data throughputs, even when it comes at the cost of latency.http://labs.google.com/papers/gfs.html
     File A     (80M)Google File System ArchitectureChunk Data #1(64M)Chunk Data #2(16M)
Google App Engine의 실행환경Java 기반의 실행 환경Python기반의 실행 환경Release: 2008.04GAE SDK 1.5.1Python 2.5.2C 기반의 확장을 지원하지 않음.DjangoWebapp라는 간단한 웹 프레임웍 지원Release: 2009.08
GAE SDK 1.5.1
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.6 (Helios)

More Related Content

PPTX
S01 gae and_hybrid_app_v1.0
PPTX
S03 hybrid app_and_gae_datastore_v1.0
ODP
SilverStripe Meetup Presentation 03/03/2011
PPTX
Java EE vs Spring Framework
PDF
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
PPTX
성공적인 서비스로의 플랫폼 선택
ODP
JMP103 : Extending Your App Arsenal With OpenSocial
PDF
Google Web Toolkit
S01 gae and_hybrid_app_v1.0
S03 hybrid app_and_gae_datastore_v1.0
SilverStripe Meetup Presentation 03/03/2011
Java EE vs Spring Framework
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
성공적인 서비스로의 플랫폼 선택
JMP103 : Extending Your App Arsenal With OpenSocial
Google Web Toolkit

What's hot (9)

PPTX
If Hemingway Wrote JavaDocs
ODP
JMP102 Extending Your App Arsenal With OpenSocial
ODP
Spring Mvc,Java, Spring
PDF
26 top angular 8 interview questions to know in 2020 [www.full stack.cafe]
PDF
Google App Engine tutorial
PPTX
Metaworks4 intro
PPT
Java EE and Spring Side-by-Side
PPTX
A PRESENTATION ON STRUTS & HIBERNATE
PDF
Serverless orchestration and automation with Cloud Workflows
If Hemingway Wrote JavaDocs
JMP102 Extending Your App Arsenal With OpenSocial
Spring Mvc,Java, Spring
26 top angular 8 interview questions to know in 2020 [www.full stack.cafe]
Google App Engine tutorial
Metaworks4 intro
Java EE and Spring Side-by-Side
A PRESENTATION ON STRUTS & HIBERNATE
Serverless orchestration and automation with Cloud Workflows
Ad

Similar to S02 hybrid app_and_gae_restful_architecture_v2.0 (20)

PPTX
N01 cloud computing_and_gae
PPT
Google App Engine - Overview #1
PPTX
CloudPlatforms-Cloud PLatforms evaluation
PDF
Appscale at CLOUDCOMP '09
PPTX
Google Cloud Platform
PDF
Moving complex enterprise ecommerce systems to the cloud
PDF
Google App Engine
PDF
What's new in App Engine and intro to App Engine for Business
PPTX
Webtech googleapps
PDF
App Engine overview (Android meetup 06-10)
PPTX
[5]v.snaf 발표자료 장선진_v1.1_20110817
PPTX
Google Cloud Platform, Compute Engine, and App Engine
PDF
Cannibalising The Google App Engine
PDF
What is Google App Engine?
PPTX
Understanding Microservices
PPTX
Google app engine
PDF
Don Schwarz App Engine Talk
PPT
Google App Engine for Java
PPTX
The java enterprise edition (Servlet Basic)
PDF
Google App Engine: An Introduction
N01 cloud computing_and_gae
Google App Engine - Overview #1
CloudPlatforms-Cloud PLatforms evaluation
Appscale at CLOUDCOMP '09
Google Cloud Platform
Moving complex enterprise ecommerce systems to the cloud
Google App Engine
What's new in App Engine and intro to App Engine for Business
Webtech googleapps
App Engine overview (Android meetup 06-10)
[5]v.snaf 발표자료 장선진_v1.1_20110817
Google Cloud Platform, Compute Engine, and App Engine
Cannibalising The Google App Engine
What is Google App Engine?
Understanding Microservices
Google app engine
Don Schwarz App Engine Talk
Google App Engine for Java
The java enterprise edition (Servlet Basic)
Google App Engine: An Introduction
Ad

Recently uploaded (20)

PDF
Unlock new opportunities with location data.pdf
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
Five Habits of High-Impact Board Members
PDF
Getting Started with Data Integration: FME Form 101
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
1 - Historical Antecedents, Social Consideration.pdf
PPTX
Modernising the Digital Integration Hub
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
PDF
CloudStack 4.21: First Look Webinar slides
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
Unlock new opportunities with location data.pdf
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Benefits of Physical activity for teenagers.pptx
A novel scalable deep ensemble learning framework for big data classification...
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Five Habits of High-Impact Board Members
Getting Started with Data Integration: FME Form 101
A comparative study of natural language inference in Swahili using monolingua...
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Developing a website for English-speaking practice to English as a foreign la...
Hindi spoken digit analysis for native and non-native speakers
A contest of sentiment analysis: k-nearest neighbor versus neural network
1 - Historical Antecedents, Social Consideration.pdf
Modernising the Digital Integration Hub
NewMind AI Weekly Chronicles – August ’25 Week III
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
CloudStack 4.21: First Look Webinar slides
Taming the Chaos: How to Turn Unstructured Data into Decisions
Group 1 Presentation -Planning and Decision Making .pptx

S02 hybrid app_and_gae_restful_architecture_v2.0

  • 1. Hybrid Appand GAE RESTful Architecture대표이사 장선진@jangsunjinMobile Phone: (+82) 010-4585-1770
  • 2. E-Mail: jangsunjin@softwareinlife.comNetwork TrafficExabytes per Month of Mobile Data Traffic by 2015High-End Devices Can Multiply Traffic1 EB = 1,000,000,000,000,000,000 B = 1018 bytes = 1 billion gigabytes = 1 million terabytes
  • 3. The Network EffectMetcalfe's law: Network value rises by the square of the number of terminals.Robert MetcalfeMetcalfe's law characterizes many of the network effects of communication technologies and networks such as the Internet, social networking, and the World Wide Web.http://en.wikipedia.org/wiki/Robert_Metcalfehttp://en.wikipedia.org/wiki/Metcalfe's_law
  • 4. Google App Engine ArchitectureGAE SDKIDE Your GAE ApplicationPython / Java FrameworkAdminConsoleBlobstoreCapabilitiesChannelURL FetchImagesMailMemcacheUsersMultitenancyOAuthTask QueuesXMPPGoogle App Engine Runtime (Python, Java, GO)Google App Engine DataStoreBigTableGoogle File SystemGoogle Server Cluster
  • 5. Google File SystemGFS is optimized for Google's core data storage and usage needs (primarily the search engine), which can generate enormous amounts of data that needs to be retained;Google File System grew out of an earlier Google effort, "BigFiles", developed by Larry Page and Sergey Brin in the early days of Google, while it was still located in Stanford.Files are divided into chunks of 64 megabytes, which are only extremely rarely overwritten, or shrunk; files are usually appended to or read. It is also designed and optimized to run on Google's computing clusters, dense nodes which consist of cheap, "commodity" computers, which means precautions must be taken against the high failure rate of individual nodes and the subsequent data loss. Other design decisions select for high data throughputs, even when it comes at the cost of latency.http://labs.google.com/papers/gfs.html
  • 6. File A (80M)Google File System ArchitectureChunk Data #1(64M)Chunk Data #2(16M)
  • 7. Google App Engine의 실행환경Java 기반의 실행 환경Python기반의 실행 환경Release: 2008.04GAE SDK 1.5.1Python 2.5.2C 기반의 확장을 지원하지 않음.DjangoWebapp라는 간단한 웹 프레임웍 지원Release: 2009.08
  • 10. EJB와 같은 JavaEE관련 기술을 모두 지원하지 않음.
  • 19. Google Plugin for Eclipse, for Eclipse 3.6 (Helios)
  • 21. 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.4JavaBeans™ Activation Framework (JAF)Java Architecture for XML Binding (JAXB)JavaMailGAE for Java 지원 기술 사항XML processing APIs including DOM, SAX, and XSLT
  • 22. HTTP Session support (need to enable explicitly)
  • 27. 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 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
  • 28. Enterprise Java Beans (EJB)JAX-RPCJAX-WSJava Database Connectivity (JDBC) **Java EE™ Connector Architecture (JCA)Java Management Extensions (JMX)Java Message Service (JMS)Java Naming and Directory Interface (JNDI)GAE for Java미지원 기술 사항Remote Method Invocation (RMI)
  • 31. Hibernate보안 ‘sandbox’ 환경에서 구동- 쓰레드를 독자적으로 실행할 수 없음- 로컬 파일 시스템에 접근할 수 없음- Socket 오픈 할 수 없음http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine
  • 32. JSR을 중심으로 다음과 같은 표준 기술을 지원한다.GAE for Java의 기술 표준
  • 33. RESTful ArchitectureRepresentational State Transfer (REST) is a style of software architecture for distributed hypermedia systems such as the World Wide Web. The term Representational State Transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation.
  • 34. RESTful Architecture ConstraintsClient–serverClients are separated from servers by a uniform interface.StatelessThe client–server communication is further constrained by no client context being stored on the server between requests. Each request from any client contains all of the information necessary to service the request, and any session state is held in the client.CacheableAs on the World Wide Web, clients are able to cache responses.Layered systemA client cannot ordinarily tell whether it is connected directly to the end server, or to an intermediary along the way. Code on demand (optional)Servers are able to temporarily extend or customize the functionality of a client by transferring logic to it that it can execute.Uniform interfaceThe uniform interface between clients and servers, discussed below, simplifies and decouples the architecture, which enables each part to evolve independently.
  • 35. RESTful Web ServiceITEM 0001POST /item/0001GET /item/0001PUT /item/0001/01DELETE /item/0001/
  • 36. RESTful Web Service DesignDataStore(BigTable)JerseyOrSpring RESTSpringComponent(Bean)JDO(PMF)
  • 37. Demo
  • 38. XML BindingXMLSimple FrameworkSimple is a high performance XML serialization and configuration framework for JavaIts goal is to provide an XML framework that enables rapid development of XML configuration and communication systems.Jersey
  • 39. Jersey is the open source, production quality, JAX-RS (JSR 311) Reference Implementation for building RESTful Web services.
  • 40. But, it is also more than the Reference Implementation. Jersey provides an API so that developers may extend Jersey to suit their needs.http://jersey.java.net/http://simple.sourceforge.net/
  • 41. Thanks!모리스와퍼거슨(C. R. Morris and C. H. Ferguson, 1993)은 과거 컴퓨터 산업의 경쟁에서 유수한 업체들의 성공과 몰락의 원인분석을 바탕으로 앞으로 다양한 산업경쟁에서 기업들이 어떠한 전략으로 기업을 운영해야하는지 제시하였습니다.
  • 42. 여기서 이들은 개방형시스템(Open System)의 독점적 아키텍처(Proprietary Architecture)가 경쟁에서 승리하는데 가장 중요한 요소라고 이야기 하였습니다. ServiceServiceSaaSService독점적인 서비스 아키텍처Proprietary Service ArchitectureScalabilityNewServiceService서비스 기반의 개방형 시스템Service Based Open SystemServiceServiceServiceServiceServiceServiceServiceServiceConfigurableMulti-tenant efficientJang, Sun-Jin (jangsunjin@softwareinlife.com)