Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

Eclipse에서 Google App Engine 개발하기 #2 이클립스에서 개발하기

Eclipse에서 Google App Engine 개발하기 #1 GAE 가입하기에 이어진 포스팅입니다.

계정을 만들었으면 이제 GAE 개발을 해야 합니다. GAE의 개발문서를 보면 Java를 이용해서 개발하는 환경을 설정하는 방법이 자세하게 나옵니다. 크게 이클립스에 플러그인을 설치해서 개발하거나 GAE SDK를 설치해서 개발할 수 있습니다. 여기서는 이클립스를 사용한 방식을 봅니다.

Google Plugin for Eclipse에서 Quick Start문서를 보면 이클립스 플러그인의 설치 URL을 볼 수 있습니다. Eclipse 3.3 Europa와 Eclipse 3.4 Ganymede를 지원하고 있습니다.



구글 플러그인 설치
플러그인 설치는 다른 플러그인 설치와 동일합니다. 여기서는 Ganymede를 기준으로 합니다. [Help] - [Software Updates]에서 Available Software탭에 가서 구글플러그인의 URL을 추가합니다.

이클립스에 구글플러그인 URL 추가 화면

Add Site로 URL을 추가하면 아래와 같이 추가되면서 구글플러그인에 포함된 내용이 표시됩니다.

이클립스에 구글플러그인 URL이 추가된 화면

구글 플러그인과 GAE Java SDK, GWT SDK가 포함되어 있습니다. 모두 체크표시를 하고 오른쪽 상단에 Install을 누르시면 설치를 할 수 있습니다.

이클립스에 추가된 구글아이콘
플러그인 설치가 완료되면 이클립스에 왼쪽화면과 같이 구글아이콘이 3개 추가된 것을 볼 수 있습니다. 맨 왼쪽 아이콘은 GAE 웹어플리케이션 프로젝트 생성 아이콘(New Web Application Project)이고 그 다음은 GWT Compile Project 그리고 마지막 아이콘은 App Engine Project 배포 아이콘입니다.



Google App Engine 프로젝트 생성하기
GAE프로젝트는 위에서 언급한 New Web Application Project 아이콘을 이용해도 되고 일반적인 이클립스 프로젝트 생성에서 Web Application Project를 선택해서 생성해도 됩니다.

GAE 웹어플리케이션 프로젝트 생성 화면

일반적인 자바프로젝트 생성화면과 크게 다르지 않기 때문에 별로 어려움은 없을 듯 합니다. 프로젝트 이름을 생성하고 팩키지 이름을 지정해 주면 됩니다. 전 GWT는 안써봤지만 나머지는 그냥 기본설정으로 했습니다. 프로젝트 이름은 GAE에서 만든 Application Identifier와는 상관이 없습니다.

GAE 프로젝트 실행 메뉴
프로젝트를 생성하면 아주 간단한 Starter 어플리케이션이 자동으로 생성됩니다. 바로 실행해 볼 수 있습니다. 실행은 [Debug As] - [Web Application]을 통해서 실행합니다.

GAE 실행시 시작되는 콘솔과 브라우저

실행하면 위처럼 2개의 창이 새로 열립니다. 왼쪽은 GAE의 서버콘솔인 듯 하고 오른쪽은 내장브라우저입니다. 아주 간단한 Web Appliction Starter Project가 열립니다. 유저네임을 입력하면 GAE서버가 Hello 유저네임이라고 하면서 간단한 내 브라우저 정보를 보여주는 정도입니다. http://localhost:8080/를 이용해서 웹브라우저에서도 접근이 가능합니다.



배포(Deploy) 하기
스타터 어플로 개발을 했다고 생각하고 개발이 완료되면 이제 GAE계정에 배포를 해야합니다. 배포도 상당히 간단합니다.

프로젝트 배포 설정

프로젝트의 Properties에서 [Google] - [App Engine]에서 배포할 Application ID와 Version을 입력합니다. 위 화면에서는 모르고 0.0.1을 입력했는데 소수점은 되지 않습니다. 1~100의 숫자를 입력해야 합니다.(100이 맥시멈인지는 잘 모르겠네요.)

배포설정을 마쳤으면 배포아이콘을 클릭하던가 프로젝트에서 마우스 오른쪽클릭을 하고 [Google] - [Deploy to App Engine]를 누르면 아래와 같은 배포창이 등장합니다.

GAE 프로젝트 배포 창

프로젝트가 맞게 선택되었는지 확인하고 구글계정의 아이디와 패스워드를 입력하고 Deploy버튼을 누르면 배포가 됩니다.

아니 되야 하는데 실제로는 다음과 같은 에러가 나타납니다.

배포시 400 Error 화면

뭐 잘못한건 줄 알니고 한참을 해맷는데 400 Bad Request는 에러는 퍼미션에러라고 합니다. Java를 이용한 GAE는 아직 초기단계라(메뉴에도 Early Look이라고 뜹니다. 정확히 무슨뜻인지는 잘...) 그런지 10,000명까지만 제한을 두고 있다고 합니다. GAE for Java를 위해서 따로 등록과정을 거쳐주어야 합니다. 등록하면 메일을 통해서 Activate하고 그 뒤부터 배포가 가능해 진다고 하네요.(이런건 대문에 써놔야지 왜 FAQ에 써놔서 사람을 고생시키는지...)

Activate메일이 바로 오진 않는군요. 오면 상황봐서 배포화면을 추가하던지 해야할 듯 합니다. FAQ에도 나온것 보면 권한만 얻으면 큰 문제는 없을 듯 합니다. 배포되면 어플리케이션아이디.appspot.com 으로 접근할 수 있고 자신의 계정으로 로그인 하면 여러가지 로그정보를 볼 수 있습니다.




최근에 뭔가 좀 만들어봐야지 하는 생각은 하는데 자바는 서버운영을 할 수 있는데가 별로 없어서 고민중이었는데 GAE를 이용하면 괜찮을 듯 하네요. 갈수록 할 수 있는 환경은 풍부해 지는듯 합니다. 할 의지가 부족할 뿐이죠... 본격적으로 만져보면 꽤 재밌지 않을까 합니다. 전 이것저것 들쳐보기만 하는게 좀 문제긴 하지만요. ㅡ..ㅡ
2009/04/15 03:02 2009/04/15 03:02