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. What matters is not where you come from, but where you go, find the direction, and keep working hard.

  2. Hi, Neat post. There’s an issue along with your site
    in internet explorer, would check this? IE still
    is the marketplace leader and a huge component of other people will omit your magnificent writing because of this
    problem.

  3. Everything is very open with a clear explanation of the issues. It was truly informative. Your website is extremely helpful. Many thanks for sharing.

  4. I your writing style truly loving this web site .

  5. You know-when a person is down, he especially likes watching the sunset …

  6. Viagra Ne Shqip http://cialibuy.com – Cialis Nolvadex Bodybuilding Cialis Dutasteride 25mg

  7. Bactroban http://cialibuy.com – Buy Cialis Buy Lasix 40 Mg cialis 5 mg best price usa Amoxicillin Dose For Sinusitis

  8. Maybe what I can do is not so much but I will always be with you 。

  9. Wonderful article! We are linking to this great post on our website. Keep up the great writing.

  10. Cephalexin Identify http://cialibuy.com – Buy Cialis Propecia Vitamin Deficiencies Buy Cialis Generic Bentyl 20mg Medicine

  11. wow, awesome blog article.Really looking forward to read more.

  12. This is a topic that’s close to my heart… Take care! Exactly where can I find the contact details for questions?

  13. I really enjoy the article post.Really thank you! Awesome.

  14. Very delightfully article . I couldn’t coincide more on the poop provided.

    What do you improvise around my plot ? how to do contouring for round face

  15. Muchos Gracias for your blog article. Fantastic.

  16. Excellent article. I certainly love this website. Continue the good work!

  17. Hi there, just became alert to your blog through Google,
    and found that it’s truly informative. I am going to watch out for brussels.

    I’ll appreciate if you continue this in future. A lot of people will be benefited from your writing.
    Cheers!

  18. Everything is very open with a clear description of the challenges. It was truly informative. Your website is useful. Many thanks for sharing!

  19. I have to thank you for the efforts you’ve put in penning this website. I really hope to check out the same high-grade content by you later on as well. In fact, your creative writing abilities has inspired me to get my very own site now ;)

  20. When I originally commented I appear to have clicked on the -Notify me when new comments are added- checkbox and now whenever a comment is added I get 4 emails with the exact same comment. Perhaps there is a means you are able to remove me from that service? Thanks.

  21. I really love your blog.. Very nice colors & theme. Did you create this website yourself? Please reply back as I’m wanting to create my own site and would like to know where you got this from or what the theme is named. Thanks!

  22. Strep Throat Amoxil http://cialibuy.com – cialis for sale Animal Amoxicillin Cialis Rxnorth Canada Drugs

  23. This is a very good tip particularly to those new to the blogosphere. Brief but very accurate info… Appreciate your sharing this one. A must read article!

  24. Greetings! Very helpful advice in this particular article! It’s the little changes that will make the biggest changes. Many thanks for sharing!

  25. Great post. I am experiencing some of these issues as well..

  26. I really enjoy the article.Really looking forward to read more. Fantastic.

  27. After I initially left a comment I appear to have clicked on the -Notify me when new comments are added- checkbox and now each time a comment is added I get four emails with the exact same comment. Perhaps there is an easy method you can remove me from that service? Cheers.

  28. You have made some good points there. I looked on the internet to find out more about the issue and found most people will go along with your views on this website.

  29. Propecia Luxembourg http://buyciallisonline.com – Cialis Pharmacy Escrow Refills canadian pharmacy cialis Levitra Pueden Tomar Mujeres

  30. Ridiculous quest there. What happened after? Take care!

  31. You should take part in a contest for one of the most useful blogs on the web. I will highly recommend this website!

  32. Google App Engine for Java에서 Spring 3.0
    사용하기 » Toby's Epril http://sailingzona.com/enlaces/enlace.asp?ref=http://18.182.187.26/

  33. Great article post.Much thanks again. Much obliged.

  34. Very nice post. I absolutely love this website. Stick with it!

  35. I blog quite often and I truly thank you for your content. The article has truly peaked my interest. I will bookmark your site and keep checking for new information about once per week. I opted in for your Feed as well.

  36. Google App Engine for Java에서 Spring 3.0 사용하기 » Toby's Epril http://indiablo.ru/go?https://www.hongkongpool.io/

  37. I cannot thank you enough for the blog post.Thanks Again. Really Cool.

  38. I just want to mention I’m all new to blogging and site-building and really liked this web-site. More than likely I’m want to bookmark your site . You amazingly come with beneficial article content. Many thanks for revealing your website.

  39. I just want to mention I’m new to blogs and seriously savored this web blog. More than likely I’m going to bookmark your blog . You surely come with great well written articles. With thanks for sharing with us your web page.

  40. Hello there! I could have sworn I’ve been to this web site before but after going through a few of the posts I realized it’s new to me. Anyhow, I’m certainly pleased I found it and I’ll be bookmarking it and checking back frequently.

  41. I simply want to mention I’m beginner to weblog and certainly liked your web-site. More than likely I’m likely to bookmark your blog . You definitely have very good writings. Kudos for revealing your web page.

  42. I just want to tell you that I am just all new to blogging and seriously liked you’re page. Likely I’m likely to bookmark your blog . You surely come with perfect posts. Thank you for sharing with us your web-site.

  43. Hey, thanks for the article.Really thank you! Great.

  44. I just want to say I’m all new to weblog and honestly enjoyed you’re web site. Very likely I’m going to bookmark your site . You definitely have superb posts. Kudos for sharing your blog site.

  45. I just want to say I’m newbie to weblog and seriously liked this page. Very likely I’m want to bookmark your blog . You certainly come with great articles and reviews. Appreciate it for sharing with us your blog site.

  46. I simply want to say I’m newbie to blogging and site-building and seriously liked your website. Almost certainly I’m going to bookmark your website . You surely come with wonderful stories. With thanks for sharing your website page.

  47. I just want to tell you that I’m all new to blogging and seriously savored you’re web blog. More than likely I’m planning to bookmark your website . You amazingly come with fantastic writings. Thanks a lot for revealing your blog site.

  48. I simply want to tell you that I am just very new to weblog and certainly savored your website. Likely I’m want to bookmark your site . You surely have wonderful articles and reviews. Thanks for revealing your webpage.

  49. I just want to tell you that I’m beginner to blogging and site-building and truly liked your web blog. Probably I’m likely to bookmark your website . You definitely come with fantastic posts. Kudos for sharing your webpage.

  50. This is a topic which is near to my heart… Thank you! Where are your contact details though?

Leave a 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