Posts Tagged ‘Java’

Transaction 서비스

Posted in Uncategorized on December 22nd, 2009 by admin – Be the first to comment
Java Transaction 관리 방법을 설명한 좋은 문서를 찾았다.
자바코드에서 DB 트랜젝션을 관리하는 방법은 위와 같이 두가지가 있다.
선언적 트렌젝션 관리 방법과 프로그래밍적 트렌젝션 관리 방법.
프로그래밍적 트렌젝션 관리 방법은
소스코드에 직접 트렌젝션을 얻어서, 트렌젝션 코드 수행 후, 트렌젝션을 종료하는 코드를
코드레벨에서 직접 써주면 된다.
이런 방법은 오래 전부터 사용되던 방법이다.
선언적 트렌젝션 관리 방법은 최근에 알게 된 방법이며,
XML이나 Annotation 으로 어떤 단위를 트렌젝션 처리 하라고, 선언만 해 놓으면,
알아서 트렌젝션이 처리가 되는 방법니다.
스프링 프레임웍이 있어서 가능한 방법인 것 같다.
이번 내가 맏은 프로젝트에서는
진보된 방법으로 볼 수 있는 선언적 트렌젝션 관리 방법를 사용해 보려고 한다.
자세한 기술적인 내용은 위 링크를 가면 알 수 있으니 참고하세요.

주말을 이용한 java struts2를 이용한 웹 개발 후기

Posted in Uncategorized on December 21st, 2009 by admin – 11 Comments

최근에는 혼자 웹 개발을 할때는 Ruby on Rails를 주로 이용하는데,

이번에는 Java Struts2를 이용하여 개발하고 있다.
이유는 유지보수 부분을 다른 분에게 양도해야 하기 때문에,
듣보잡인 RoR로 개발해서 넘겨줄 수 없기 때문이다.
방법을 활용해서 개발했다.
iBator 에서 DB Access소스 제너레이션을 하고, 내가 만든 scaffold generator를 이용하여,
기반코드를 작성하니 좋았다.
이제는 이런 소스 제너레이터 없이 개발하는 것은 상상하기도 싫다.
CRUD 를 위한 RESTful plugin, Convention plugin등을 사용하여 RoR 환경에 비슷한 방향으로
개발 할 수 있도록 노력했다.
plugin에 버그가 조금 있는 것 같은데, (아니면 문서화가 부족해서 내가 잘 모르는 부분이 있거나..)
우회하는 방법으로 피해서 사용하고 있다.
그래도 Ruby on Rails보다는 개발하기 번거로운 부분이 많다.
RoR 생각을 간절히 하면서..
Java 노가다 코드를 삽입하며, 천천히 코드를 개발중이다.
그래도 나중에 Java환경에서 개발을 할 일이 있을 때,
많은 도움이 될 개발이 될 듯 하다.
만약에, 회사에서 처럼 이런 라이브러리 쓰지 말고 개발하라고 요구 했다면??
못한다..-_-

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

Posted in 소프트웨어 on August 8th, 2009 by admin – 23 Comments

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을 몇분만에 만들 수 있다.