본문 바로가기

Google Apps Engine

Google Apps Engine을 통해 응용 프로그램 설계 시 주의사항 앞서 포스팅한 글에서 언급한 문제에 대해서 자세히 설명을 하려고 한다. 아마도 Google Apps Engine은 아마존이나 MS와는 다르게 초기 진행은 완전 무료로 진행되기 때문에, 어중이 떠중이(필자를 포함한) 다양한 사람들이 접근하기 때문에, CPU에 큰 무리가 될 작업은 아예 배제하고 출발한 것 같다. (아니면 단순히 설계에서 고려 사항에서 제외하고 출시 한 것일지 모른다.) 지금 현재 관점으로 바라볼때 Google Apps Engine은 다음과 같은 구조를 가지고 있다. 아주 단순한 모양인데, GAE 위에 얹어 놓은 모든 응용 프로그램은 Request/Response 기반으로 동작하게 된다. 자 여기서 함정이다. 즉 Request와 Reponse 사이에 Web Browser에서는 Time-Out.. 더보기
[Google Apps Engine] 응용 프로그램 올리기. 관리자 콘솔(Administration Console)를 사용하여 App Engine 안의 각종 응용 프로그램을 생성하고, 관리할 수 있습니다. 응용 프로그램에 대한 응용 프로그램 ID를 한번 등록하면, 다른 이클립스 플러그인이든, SDK 에서 제공하는 명령줄 도구를 사용하든, App Engine으로 업로드 할 수 있습니다. NOTES: 응용 프로그램 ID를 한번 등록한 뒤, 그 응용 프로그램을 삭제하면, 나중에 그 ID로 같은 응용 프로그램을 올리지 못합니다. 만일 지금 등록하지 않으려면, 이 단계를 건너 뛰시기 바랍니다. 응용 프로그램 등록하기. App Engine 관리자 콘솔에서 App Engine 웹 응용 프로그램들을 생성하고 관리할 수 있습니다. 이 App Engine 관리자 콘솔에 접속하려면 .. 더보기
[Google Apps Engine] 정적 파일 사용하기. 보통 웹 브라우저로 정적 파일을 그대로 전달하는 방법은 다양하게 있습니다. 이미지, CSS 스타일시트, 자바스크립트 코드, 동영상 및 플래쉬 애니메이션 등은 일반적으로 브라우저에서 내용 그대로 받게 됩니다. 그러므로 보다 효율적인 App Engine 운영을 하려면, 이런 정적 파일들을 각 서블릿과는 별개로 제공하는 방법이 좋습니다. 기본적으로 App Engine은 JSP와 WEB-INF/ 안의 파일들을 제외한 정적 파일들 모두 WAR 안에 만들게 됩니다. URL에 대한 요청들 중 정적 파일들에 해당하는 경로가 있으면, 그에 맞는 정적 파일들을 제공하게 됩니다. 서블릿 또는 필터된 매핑 또한 그런 규칙에 맞게 진행됩니다. 이것을 각 파일 별로 별도 구성하여 App Engine이 정적 파일들에 대해서 처리하.. 더보기
[Google Apps Engine] JDO를 이용하여 Datastore를 사용하기 원본글 : http://code.google.com/appengine/docs/java/gettingstarted/usingdatastore.html NOTES: 지금까지 개인적으로 Google Apps를 이용하여 간단한 Application을 개발하고, 배포해서 적용해 봤습니다. 초라하고 엉성하기 그지 없지만, 나름 Google Apps Engine에 대한 생각이 정리되기 시작했습니다. 사실 이거 2009년 말에 모두 번역에서 등록하려고 했는데, 이 데이터 저장 부분은 번역하면서 막히기도 하고, 개념도 이해가 안가, 상당히 망설인 부분 이였습니다. 그래서 직접 몸으로 체험을 해봤습니다. 하지만 여전히 내용이 무척 어렵습니다. 짧은 Java 실력 때문에, 20세기 말에서 부터 지금까지 만들어진 각종 Ja.. 더보기
[Google Apps Engine] JSP 사용하기 원본글 : http://code.google.com/appengine/docs/java/gettingstarted/usingjsps.html Java 서블릿 코드로만 직접 HTML 코드를 작성하여 구성하려면, HTML에 대한 관리 작업이 무척 어려워 질 것입니다. 그래서 템플릿 시스템을 활용하면, 인터페이스에 대한 디자인과 구현을 데이터 추가와 같은 로직과 분리하여 응용 프로그램과는 다른 파일로 구성하실 수 있습니다. Java에서도 다양한 템플릿 시스템이 있으며, App Engine에서는 대부분의 시스템들과 정상적으로 동작합니다. 이 튜토리얼에서는 JavaServer Pages(JSP)으로 방명록에 대한 사용자 인터페이스를 구현하려 합니다. JSP는 서블릿 표준에 의거하여 제공됩니다. App Engine.. 더보기
[Google Apps Engine] Users Service 사용하기. 원본글 : http://code.google.com/appengine/docs/java/gettingstarted/usingusers.html Google App Engine에서는 Google 인프라 스트럭처를 활용한 몇몇 유용한 서비스를 제공합니다. 이 서비스들은 SDK에 포함된 라이브러리를 이용하여 응용 프로그램에서 접근 가능합니다. Users Service와 같은 서비스는 Google 사용자 계정과 통합되어 여러분들의 응용 프로그램에서 활용할 수 있습니다. 그래서 응용 프로그램 내에 Google 계정을 이용해 가입된 사용자들의 정보를 활용할 수 있습니다. 이제부터 Users service를 이용하여, 개별 사용자 별로 인사말이 표시되게 끔 하는 방법을 구현하려 합니다. Users 사용하기. src/.. 더보기
[Google Apps Engine] 프로젝트 생성하기. 원본글 : http://code.google.com/appengine/docs/java/gettingstarted/creating.html App Engine Java 응용 프로그램은 Java 서블릿 표준을 이용하여 웹 서버 환경과 연동합니다. 컴파일 된 클래스, JAR, 정적 파일 및 설정 파일들을 포함한 응용 프로그램 파일들은 WAR 라는 자바 웹 응용 프로그램 표준 Layout을 이용하여 디렉터리 별로 정리되어 저장되게 됩니다. 이 WAR 디렉터리 구성은 다른 어떤 Java 웹 응용 프로그램 구성에서도 동일하게 적용됩니다. ( 애석하게도 SDK 에서는 이 WAR 저장 방식 파일에 대해서 지원되지 않습니다. ) 프로젝트 디렉터리 현재 이 튜토리얼에서는 모든 프로젝트 파일들은 Guestbook/이라는 .. 더보기
Google Apps Engine 관련 개발 중에 드는 생각. 전문적으로 개발하는 것은 아니고, 어디까지나 취미로 시작했던 작업이다. 기존에 Azuare로 구현했던 내용을 이번에는 Google Apps Engine으로 개발한 것이다. 아마도 단순 접근성으로 따지면 단연 Google Apps Engine인 것 같다. 제일 먼저 높은 점수로 줄 수 있는 부분은 대부분의 비용이 Free 라는 사실이다. 이거 때문에, Azure에서 이 Google Apps Engine을 선택한 주요한 원인이니까, 상당한 매리트였다. 그리고 Java 지원. 사실 지금 그나마 다룰 줄 언어는 C/C++, C#, Java 뿐이니, Python이라든가, Peal 이렇게 나왔으면 아마도 GG였을 것 같다. Google Apps Engine 초창기는 Python 이라고 했는데, 그 당시의 생각만 했.. 더보기