GAE(Google App Engine)의 지원언어로 드디어 자바가 등장했다. 기존에 지원되던 파이썬에 비해서 자바가 가지는 장점은 단지 자바언어에 제한되지 않고 자바플랫폼(JVM)에서 동작하는 다른 언어들도 지원 가능하다는 점이다. 따라서 Ruby(JRuby), Groovy, Scala, Javascript(Rhino) 등으로 만든 애플리케이션도 GAE/J에서 개발 및 배포가 가능하다.

스프링소스에서는 잽싸게 GAE가 Groovy를 지원한다고 홍보하면서 개발방법과 예제를 보여주는 블로그 글을 올렸고, JRuby의 Ola BIni도 JRUBY ON RAILS ON GOOGLE APP ENGINE 라는 글에서 (J)Ruby on Rails 애플리케이션을 GAE에서 사용하는 방법을 설명하고 있다. 백그라운드 자바기술(아마도 하이버네이트?)에 매여있는 Grails가 아직 GAE지원을 못하고 있는 것에 비해서 가벼운 JRuby on Rails는 ActiveRecord를 대신할 간단한 GAE DataStore wrapper를 이용해서 일단 동작하는 것은 가능한가 보다.

GAE/J는 JDK6의 대부분의 기능을 지원(사실은 허용)한다. 가장 궁금했던 구글의 초대형 데이터 서비스를 이용하는 데이타처리 부분은 JDO2와 JPA1을 통해서 지원한다. RDB가 아니니 JDBC는 안될 것이라고 예상하긴 했지만, JDO2의 등장은 조금 의외였다. JDO2가 JPA1보다 좀 더 유연한 데이터저장소를 다룰 수 있기 때문에 아마도 선택한 것이 아닌가 싶은데, 아무튼 제대로 빛도 못보고 JPA에 밀려 퇴출되었던 JDO의 재등장이 매우 흥미롭다. 구글의 데이터 처리 기능과 연동하는 JDO/JPA의 구현 엔진은 DataNucleus라는 오픈소스 JDO/JPA구현을 활용했다고 한다.

아직 earlylook(베타)이니 안정화되고 본격적으로 활용되려면 적지 않은 시간이 필요할 듯 싶다. 구글에는 Joshua Bloch을 비롯한 자바의 탑 클래스 엔지니어들이 대거 포진하고 있으니 뭐 알아서 잘 준비하고 있겠지.

 

일단 스프링 애플리케이션이 동작하는가가 내 최대의 관심사이므로 간단한 샘플을 만들어서 GAE/J에 배포해봤다. GAE/J 플러그인 다운받고 한 5분만에 완성해서 올린 것이니 뭐 샘플이라고 하기도 민망하지만.

GAE/J 프로젝트 템플릿에서 만들어준 서블릿에서 직접 ApplicationContext를 하나 만들어서 빈을 가져와 실행하는 간단한 것이다. Spring3.0 4월 7일자 빌드 라이브러리를 가지고 테스트 해본 결과는 성공.

아래에 있는 것처럼 Hello인터페이스를 구현한 빈을 만들고, 이를 호출해서 결과를 돌려주는 아주 간단한 기능이지만, 그 안에 Spring 3.0의 core, asm, bean, context 모듈이 동작하고 commons-logging과 log4j도 문제없이 처리된다는 것을 확인하기에는 충분했다.

public class HelloImpl implements Hello {
    public String sayHello(String name) {
        return "Hello " + name;
    }
}

http://tobyepril.appspot.com/hello 에서 실행해볼 수 있다.

 

다음주까지 끝내야 하는 프로젝트에 바빠서 더 이상 손을 대보지는 못하겠지만, 여유가 생기면 SpringMVC, Bean Scanning, JPA 등까지 모두 사용해보는 제대로된 GAE/J용 샘플을 만들어볼 생각이다. 스프링이 지원하는 JPA의 로드타임 bytecode enhancer기능이 사용가능한지가 의문인데, 아마도 JVM옵션을 건드려야 하니 안될 것 같다.

하지만 이클립스 3.3, 3.4에서 동작하는 GAE/J 플러그인을 사용하면 빌드를 할 때마다 DataNucleus Enhancer를 동작시켜주니 큰 불편은 없을 듯.

 

GAE/J에 대해서 제일 감탄한 것은 이클립스 플러그인으로 제공하는 개발환경이다. 프로젝트 생성부터, Jetty로 만들어진 테스트용 로컬서버에 배포하는 것, GAE서버에 deploy하는 것까지 모두 이클립스 안에서 간단히 처리 가능하다. 앞으로는 프레임워크건 뭐건, 이클립스에서 동작하는 편리한 툴이 함께 제공되지 않으면 경쟁에서 밀릴 수 밖에 없지 않을까하는.. 이 불안감은 뭔가..

Related posts:

  1. Java와 생산성
  2. Spring과 Google Guice의 협력을 통한 DI 애노테이션 표준화 작업 시작
  3. 편리한 Google Deskbar
  4. Maven 의존관계 수렁에 빠지다
  5. JRuby/JRor + Spring
  6. Ruby와 Ruby On Rails
  7. JRuby의 활용
  8. Spring 상식퀴즈 (1) – DI 태클하기
  9. Spring 3.0 (13) Context 모듈의 선택 라이브러리 분석
  10. 유쾌한 이슈처리 재촉 메일
  11. Inside Spring (5) PropertyPlaceholderConfigurer를 @Bean으로 정의해서는 안되는 이유
  12. Spring 3.0 EL (Spel)을 이용한 AssertThrows 확장 (1)
  13. Spring 3.0 (2) R-518 스프링의 새 모듈 OXM(Object/XML Mapping)
  14. Spring 3.0 (56) @Bean 사용의 주의사항
  15. Spring 3.0 (58) Static Class를 XML없이 빈으로 등록하기

Facebook comments:

to “Google App Engine for Java에서 Spring 3.0 사용하기”

  1. The data mentioned within the article are some of the most beneficial available

  2. I appreciate you sharing this blog post.

  3. The details mentioned inside the write-up are some of the most effective offered

  4. Hey, thanks for the post.Much thanks again. Want more.

  5. check beneath, are some entirely unrelated internet websites to ours, nonetheless, they are most trustworthy sources that we use

  6. I loved your blog.Really looking forward to read more.

  7. A big thank you for your article post.Really thank you! Fantastic.

  8. Here are a few of the web-sites we advise for our visitors

  9. Im obliged for the blog article. Really Cool.

  10. You might be my role designs. Thank you for the write-up

  11. cialis http://pharmcilisa.com/ – cialis price buy cialis cialis price cialis price

  12. Wow, great blog post.Really looking forward to read more.

  13. I think this is a real great post.Really thank you! Cool.

  14. in the next Very well written information. It will be valuable to anyone who employess it, including me. Keep doing what you are doing ? for sure i will check out more posts.

  15. A round of applause for your article.Really thank you!

  16. Awesome article post.Much thanks again. Cool.

  17. This site was… how do I say it? Relevant!! Finally I’ve found something that helped me. Appreciate it!|

  18. Really informative blog post.Really looking forward to read more. Great.

  19. you all find lots of superior family resorts that you can come across both online and offline, some are pretty cheap also..

  20. Nonetheless, the posts are very short for starters.

  21. Thanks-a-mundo for the post.Really looking forward to read more. Fantastic.

  22. I loved your blog post.Really looking forward to read more. Really Great.

  23. viagra https://cheapnowaaaa.com/ – cheap viagra cheap viagra viagra online cheap viagra

  24. Say, you got a nice blog post.Really looking forward to read more. Want more.

  25. generic cialis https://cialisfw.com/ – generic cialis generic cialis generic cialis п»їcialis

  26. said. Your favorite justification seemаА аЂа•? to be on the

  27. Through Blogger, i have a blog using Blogspot. I would likie to know how to export all my posts from Blogspot to my newly created Weebly blog..

  28. Looking forward to reading more. Great article.Really thank you!

  29. is said to be a distraction. But besides collecting I also play in these shoes.

  30. Im thankful for the blog post.Much thanks again. Great.

  31. Just Browsing While I was surfing today I noticed a excellent article concerning

  32. Great, thanks for sharing this article.Really looking forward to read more. Will read on…

  33. Really informative post.Really looking forward to read more. Really Great.

  34. We think you should read this I am still learning from you, but I am improving myself. I definitely love reading everything that is posted on your site.Keep the tips coming. I enjoyed it!

  35. I’ve read several good stuff here. Certainly worth bookmarking for revisiting. I surprise how much effort you put to create such a magnificent informative site.

  36. I cannot thank you enough for the blog article.Really looking forward to read more. Cool.

  37. I value the article.Really thank you! Cool.

  38. Thanks so much for the article post.Really looking forward to read more. Really Cool.

  39. buy cialis https://valcialisns.com/ – cialis online buy cialis cialis online cialis

Leave a Reply to suba suba Cancel reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2017 Toby's Epril Suffusion theme by Sayontan Sinha