4. Google App Engine 다운로드 http://code.google.com/intl/ko-KR/appengine/downloads.html Google App Engine SDK for Python Google App Engine SDK for Java Google Plugin for Eclipse Google App Engine Documentation Google App Engine Button
5. GAE/J SDK GAE/J를 위한 로컬 개발 환경 Jetty 6.1 기반 (Java 5.0 이상) SDK는 Eclipse 플러그인에 내장 appcfg.sh 웹 애플리케이션 배포을 위한 쉘 dev_appserver.sh 로컬 개발 서버 관리 쉘
6. GAE/J SDK Command – bin/appcfg.sh <GAE_HOME>inppcfg.sh[options] <action> <war-location> GAE/J의 환경 설정 및 배포를 담당 Option --email --passin Action update update_indexes vaccum_indexs update_queues update_dos update_cron request_logs Example <GAE_HOME>/bin/appcfg.sh update myapp/war <GAE_HOME>/bin/appcfg.shupdate_indexesmyapp/war <GAE_HOME>/bin/appcfg.shvaccum_indexesmyapp/war <GAE_HOME>/bin/appcfg.shupdate_dosmyapp/war
7. bin/appcfg.sh – uploading application devtainer:bindevtainerkim$ ./appcfg.sh update ../demos/helloorm/war Reading application configuration data... 2011. 3. 22 ???? 2:48:02 com.google.apphosting.utils.config.AppEngineWebXmlReaderreadAppEngineWebXml ????: Successfully processed ../demos/helloorm/war/WEB-INF/appengine-web.xml 2011. 3. 22 ???? 2:48:02 com.google.apphosting.utils.config.AbstractConfigXmlReaderreadConfigXml ????: Successfully processed ../demos/helloorm/war/WEB-INF/web.xml Beginning server interaction for devtainerdemo... 0% Creating staging directory 5% Scanning for jsp files. 25% Initiating update. Email: devtainer@gmail.com Password for devtainer@gmail.com: 28% Cloning 23 application files. 40% Uploading 1 files. 61% Initializing precompilation... 90% Deploying new version. 95% Will check again in 1 seconds. 99% Will check again in 4 seconds. 99% Will check again in 8 seconds. 99% Closing update: new version is ready to start serving. 99% Uploading index definitions. Update completed successfully. Success. Cleaning up temporary files... devtainer:bindevtainer$
8. GAE/J SDK Command – bin/dev_appserver.sh <GAE_HOME>inev_appserver.sh[options] war-location GAE/J의 로컬 서버 구동 :defalt port: 8080 Option --port --address --sdk_root -disable_update_check Example <GAE_HOME>/bin/dev_appserver.shmyapp/war URL http://localhost:8080/_ah/login http://localhost:8080/_ah/admin Local DataStore초기화 데이터베이스 파일명:local_db.bin 위치:<GAE_PROJECT>/WEB-INF/appengine-generated 데이터베이스 파일 삭제
22. NetBeans– Google Plugin 설치 http://kenai.com/projects/nbappengine/pages/Home Update Center http://http://kenai.com/downloads/nbappengine/NetBeans69/updates.xml
29. REST REST REpresentationalState Transfer Roy Fielding의 박사학위 논문에서 처음 제안 Architectural Styles and the Design of Network-based Software Architectures http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm 아키텍처 스타일 RESTfulWebService: REST 스타일에 따른 웹 서비스 구현 REST 본래 의미 웹과 같은 대규모 네트워크 시스템을 위한 원칙들의 모음 REST 최근 경향 XML과 HTTP를 사용하는 단순한 웹 기반 인터페이스를 지칭 REST의 원칙을 따르는 Web Services
31. 프로젝트에 적용해야 할 REST 특성 REST는 아키텍처 스타일 Client/Server 아키텍처 Stateless 각 Request 독립성 보장 캐쉬 시스템을 지원 일관성 있는 접근 방식 각 자원은 유일한 URL을 갖아야 함 HTTP 프로토콜의 일관성 유지 확장성을 위하여 레이어 아키텍처를 지원
32. REST 애플리케이션 디자인 Convert Layer Business Resource Layer RESTFul Resource Layer Database Access Layer