레이블이 생산성인 게시물을 표시합니다. 모든 게시물 표시
레이블이 생산성인 게시물을 표시합니다. 모든 게시물 표시

2009년 8월 8일 토요일

Java로 Ruby on Rails의 RESTful, scaffold처럼 웹개발하기

Ruby on Rails가 생산성이 좋은 이유에는 여러가지가 있지만,
그중에서 한가지가 RESTful동작의 scaffold를 자동으로 생성해 준다는 것이다.

Ruby on Rails는 Creating a weblog in 15 minutes with Rails 2
를 보면 알겠지만, DB를 기반으로 모델을 생성하고,
create, update, delete, list 등의 기본 동작을 하는 controller와 view를 생성해 준다.
이런 기능을 발판코드를 만든다고 말하며 scaffold 기능이라고 한다.

이것은 개발 초기에 생산성을 크게 향상시켜준다.

이와 비슷한 동작을 Java에서 구현 할 수 있는 방법을 소개하려고 한다.
사용할 프레임워크와 플러그인, 라이브러리는
  • Struts2 - 웹개발프레임워크 ( + Spring 사용)
  • iBATIS - DATA Mapper
  • iBATOR - DB Table을 기반으로 DAO, Model 소스 제너레이터
  • Struts2 Convention Plugin - Java의 XML홍수 속에서 XML을 대신한 Convention으로 동작 하도록 함.
  • Struts2 REST Plugin - Ruby on Rails와 같은 RESTful 지원
  • uBATOR - (자체제작) DB Table을 기반으로 controller, view 소스 제너레이터

DB Table을 생성하고,
iBATOR를 이용해서 Java Model과 DAO를 만든다.

Struts2를 다운로드 받으면, struts2-rest-showcase-2.1.6.war 가 들어있는데,
아주 훌륭하다.
이것을 기반으로 RESTful application을 만든다.

그런데, Controller, View를 노가다로 만들어 주려니 여간 힘든 것이 아니다.
iBATOR 소스코드가 공개되어 있으니, 약간 수정하여
Controller, View를 자동 생성하는 uBATOR를 만든다.

이렇게 만들면..
DB에 Table만 생성하면, Ruby on Rails에서 scaffold와 같이
Java에서도 RESTful로 동작하는 web application을 몇분만에 만들 수 있다.

 


2008년 5월 7일 수요일

twitter가 ruby on rails를 버리고 php로 다시 개발한다?

원문:
http://www.techcrunch.com/2008/05/01/twitter-said-to-be-abandoning-ruby-on-rails/


만박님의 미투글:
http://me2day.net/sumanpark/2008/05/02#15:04:13

ruby on rails로 운영되는 사이트가 꽤 많이 되는 것 같습니다.
최근 ruby on rails를 공부 하면서,
ruby라는 새로운 언어를 겪고, rails라는 웹 생산성을 경험하고 있습니다.

웹개발을 그러케 많이 한 편은 아니지만,
저에게 ruby on rails의 개념이 참 좋아 보입니다.

그런데 가끔 위와 같이 scalability, performance 등 의문을 던지는 글을 몇번 보았습니다.
그래서 여기저기 돌아다니면서, 의심의 눈을 가지고 google을 검색해 본 결과..
적어도 아직까지는 저에게 ruby on rails가 웹을 개발하기에 좋은 방향이라고 판단이 됩니다.

잘 개발만 하면, 성능이 크게 떨어지지 않을 것으로 판단되고,

생산성 좋으니, 점점 비싸지는 고급인력을 적게 투입하여, 적은 비용으로 개발하고,
점점 싸지고, 성능이 좋아지는, 싼 고철덩이 하드웨어를 더 추가하면 되리라 생각됩니다.

진정 scalability가 전혀 안 받쳐주면 큰일이지만요..