내가 좋아하는 스프링과 RoR 외에 최근에 관심을 가지고 지켜보고(만) 있는 것이 있다면 Seam/WebBean이다. 마침 이번 JCO 컨퍼런스에서 Seam/WebBean 관련 발표들이 있었다는 얘기를 듣고 흥미로웠는데, 발표자료를 하나 발견해서 훑어봤다.  "오픈소스에서 JEE6의 표준스펙이 되기까지"라는 발표제목에서 알 수 있듯이 Seam/WebBean은  오픈소스 기술로 출발해서 자바표준이 된 또 하나의 사례이다. 하이버네이트가 JPA라는 표준 EJB서브기술로 등극한 것에 이은 두번째 개빈 킹의 표준만들기 작품이다.

Seam팀에서는 먼 옛날 구닥다리 기술이라고 비아냥대는 detached object를 사용하는 "세션-모델 애트리뷰트" 방식의 SpringMVC 기술조차도 잘 사용하지 못하는, 평범한 request scope + cookie, url parameter, httpsession 스타일을 선호하는 개발자들에게 갑자기 conversational/contextual/stateful 어쩌고 기술이 쉽게 받아들여질지는 의심스럽긴 하다. EJB 전성시대에 조차 인정받지 못했던 stateful 기술에 대한 반감과 각종 선입견들을 넘어설만한 획기적이고 매력적인 무엇인가를 느낄 수 있어야 할텐데… 당장에 이 발표자료를 읽어보면 후반에 등장하는 문구처럼 "머리가 지끈 아프다". 로드 존슨이 방만하다고 비꼰 @Bijection의 방대한 애노테이션에 일단 기가 죽는다. 게다가 아직은 찬밥신세인 JPA/Hibernate에 묶여있는 것도 조금은 한계로 느껴진다. 물론 ibatis를 사용하는 방법이 있기는 한 것 같은데(Seam과 스프링을 함께 써서..) 과연 Seam의 특징과 장점을 유지하면서 transparent persistence기술을 사용하지 않을 수 있는 것인지 의심스럽다.

발표내용을 보면 기존 EJB에서 1% 미만의 사용률을 가지는 Entity빈은 문제가 있어서 Hibernate스타일의 JPA로 대치되었고, 나머지 SessionBean, MDB 등은 "괜찮다"라고 슬며시 넘어갔는데, 사실 Stateful SB도 기존의 EntityBean 못지 않게 거의 외면 당한 것이 아닌가? SFSB가 멀쩡했다면 구지 Seam이 새로운 stateful기술을 들고 나오지 못했을 것이다. 그런면에서 기존 stateful 기술(특히 SFSB)의 단점과 한계를 설명하고, 그것을 Seam에서는 어떻게 효과적으로 극복했는가에 대한 설명이 없다면 Seam/WebBean을 곱게 바라보기가 쉽지 않을 것이다.

또 한가지 발표자료에서 불편하게 느껴지는 것은 표준에 대한 강조이다. "표준은 중요하다" 항목에 보면 "모든 기술은 표준으로 연결되어야 한다"고 전제 한 뒤, EJB3, JSF와 같은 표준을 포용한 Seam이 결국엔 자신도 표준 기술이 되어서 표준기술로 천하통일을 이루었다는 식의 설명이 나온다.

과연 EJB3가 성공한 표준기술인가? JSF는? 나는 아니라고 생각한다. 두가지 다 그 자체로는 그다지 성공하지 못한 부족한 점이 많은 기술이다. EJB3와 JSF가 그토록 좋은 표준이라면 Seam/WebBean이 등장할 이유가 없다. EJB3에 부족한 많은 부분들, 불편한 부분을 커버해주기 위해서 등장한 것이 Seam이 아니던가? 또한 대부분의 개발자들에게 욕을 먹은 것이 역시 JSF가 아닌가? 오죽하면 JSF를 쓰기 위해서는 어쩔 수 없이 JSF의 불편한 많은 점을 극복하게 해주는 Seam을 쓸 수 밖에 없다는 얘기가 나올까. 그러니 Seam은 기존의 불완전하고, 한계가 있는 표준기술을 그나마 사용하게 만들어주기 위해서 등장했다고 볼 수 있다. 게다가 Seam은 그 표준에 매여있지도 않다. EJB3를 사용하지 않고 일반 POJO를 사용할 수 있다. 그것이 Seam의 한가지 장점이다. 그렇다면 구지 EJB3는 왜 사용했어야 했을까 의심스럽다.

Seam이 표준기술을 효과적으로 지원하고, 잘 포용한 덕에 새로운 표준으로 인정받았는지는 모르겠지만, "모든 기술은 표준으로~"라는 식으로 강조하기엔 자바에서 표준기술의 권위는 이미 빛바랜지 오래가 아닐까.

 

어쨌든 Seam과 그런 스타일의 기술에 계속 끌리는 것이 있다.  이런 all-in-one 스타일의 통합프레임워크(일명 unframework)가 주는 장점이 분명히 있고, 어쩌면 스프링이 제공하는 수많은 선택의 자유에서 방황하는 개발자들이 가끔은 불쌍하기에 Seam처럼 상대적으로 쉽게 접근할 수 있는 강압적인 프레임워크와 도구들이 많이 등장했으면 하는 바램도 있다. 사실 사내표준이니, 기업통합 프레임워크니 하는 것들을 많이 만들어 지고 있지만, Seam수준으로 어느정도 자신만의 스타일과 장점을 극대화하고 매우 편리하게(제한된 기술범위와 응용방식 안에서 쉽게 배우고 빠르게 개발이 가능한) 사용할 수 있도록 만들어지는 통합프레임워크는 별로 찾아보기 힘들다. 공개가 안되서 내가 잘 모를지도 모르겠지만… 글세?

 

그나저나 스프링소스는 결국 ROO를 공개하지 않을 모양인가보다. ROO와 같은 매력적인 통합 프레임워크가 진작에 등장했다면 Seam못지 않게 인기를 끌었을 테지만, 그렇게 특정 스타일의 애플리케이션 구조를 (의도와 상관없이) 강제하기에는 스프링의 야망의 폭이 너무 큰듯하다. 더욱 막강해진 애노테이션 기반 설정과 바로 쓸 수 있는 conversational scope의 지원, SWF 코어의 도입, JSF2의 전폭적인 지원등이 예정된 Spring3.0이 나오면 Seam과 비슷한 스타일의, 그러면서 더욱 유연한 프레임워크를 한번 만들어볼까 궁리중이다.

일단 Seam을 좀 더 깊이 공부하고 실전에 한번 적용도 해봐야겠다. Seam+EJB3+Spring의 짬뽕 프로젝트를 한번 만들어보면 어떨까. 흠흠.. 마루타가 되줄 프로젝트가 어디 없을까.

Related posts:

  1. Seam vs Spring (Web Flow)
  2. Spring보다 많이 팔린 Seam, Wicket
  3. Spring 3.0 (30) R-723 JavaConfig 통합
  4. 씸 컨버세이션 타임아웃의 허와 실
  5. 유쾌한 이슈처리 재촉 메일
  6. 씸은 어떻게 멀티 탭을 구분할까, 톰캣의 메모리 누수 해결법 등등
  7. Dependency Injection 표준화?

Facebook comments:

to “Seam/WebBean 이런저런 생각”

  1. 위에서 언급하신 Stateful SB의 문제점은 무엇이라고 생각하세요? Seam보다는 Spring(SWF)이 대세이다보니 소위 de facto standard로 JCP에서는 Spring을 밀어줬어야 하는데 그렇게 안한 이유가 뭔지도 궁금해요. 슬라이드 중 SpringSource의 기권을 한 이유도 말이죠.

    개인적인 의견으로는 사실 표준에 대한 자바의 행보가 한 사람의 권력으로 움직였던 M$와는 확연히 차이가 날 수밖에 없어보입니다. JSR-316 Expert Group의 언쟁만 보더라도 말씀하신 것처럼 표준이 신뢰를 잃어갈 수도 있는 일이니까요. 그래도 표준이란 것때문에 개개인의 학습곡선을 조금이나마 완만하게 만들 수 있는 게 아닐까하는 생각이 듭니다.

  2. 저도 stateful이나 conversation을 강조하는 것을 보면 entity bean이 생각나더군요. 서버 리소스가 그리 넉넉한 게 아닌데…
    이번 JCO에서 ISVY씨가 발표한 내용의 마지막 Best Practices 부분이 참 맘에 들더라구요.

    - 일반적인 간단한 애플리케이션은 @MVC
    - stateful navigation이 필요한 복잡한 부분은 Web Flow
    - AJAX는 spring js나 spring faces로

  3. 지나가다..,
    물론, JSF 자체로는 성공한 기술이라고 할 수 없지만, EJB 와 비교해서 표준 스펙으로서는 나름 성공했다고 볼 수 있습니다. 표준 스펙이라는게 스펙을 그대로 사용하기 보다, 스펙을 기반으로 다양한 제품과 라이브러리가 만들어질때 의미가 있는데 JSF 에서는 확장 가능한 포인트가 잘 정의 되있고, 현재 JSF 기반의 많은 제품들(Seam, Facelets, ADF Faces, RichFaces..) 이 나와 있습니다.
    이런면에서 볼때 WebBeans(JSR299) 도 스펙 그자체보다 이를 기반으로 한 다양한 제품과 라이브러리들이 나온다면 성공 가능성이 있다고 봅니다.

  4. I would like you to review Oracle ADF as full featured framework.

  5. Хочу заказать рекламу у вас, куда писать?

  6. Check THIS SITE Out

  7. This is a message to the website creator. I came to your page via Yahoo but it was hard to find as you were not on the first page of search results. I know you could have more visitors to your site. I have found a website which offers to dramatically improve your website rankings and traffic to your site: http://bit.ly/WuJy6b I managed to get close to 1000 visitors/day using their services, you could also get a lot more targeted visitors from search engines than you have now. Their services brought significantly more traffic to my site. I hope this helps!

  8. Sneak A Peek At THIS WebSite

  9. nice articles

  10. Find Out More
    [url=http://www.cczjnpx.com/data/michael-kors-parla-klocka22.html]michael kors sverige[/url]
    michael kors sverige

  11. thanks for share!

  12. You Could Try Here
    [url=http://www.ltlww.com/images/transparento.php?/china-nflnflofficial-sale.html]china nfl,nfl,official sale[/url]
    china nfl,nfl,official sale

  13. Hop Over To THIS Site
    [url=http://huijincentury.com/member/spaceifootm.php?/manolo-blahnik-shoes-online-provide-you-with-a-one-of-a-kind-right-care.html]manolo blahnik shoes online-Provide you with a one of a kind right care[/url]
    manolo blahnik shoes online-Provide you with a one of a kind right care

  14. You could look here
    [url=http://www.0432s.com/member/tenpayigbkipage.php?/ugg-boots-snow-lower-lighter-faster.html]ugg boots snow-Lower, Lighter, Faster[/url]
    ugg boots snow-Lower, Lighter, Faster

  15. Look At THIS Web-Site
    [url=http://yunyunsheng.com/images/tdoto.php?/fastest-ways-of-losing-weightmeizitangoriginal.html]fastest ways of losing weight[/url]
    fastest ways of losing weight

  16. Investigate THIS Site
    [url=http://baileybuttontriplett.com]ugg bailey button sale[/url]
    ugg bailey button sale

  17. Click for more
    [url=http://mensbootsoutlet.com]uggs for men[/url]
    uggs for men

  18. mbt walk Seam/WebBean 이런저런 생각 » Toby’s Epril

  19. mbt for sale Seam/WebBean 이런저런 생각 » Toby’s Epril

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