Whiteship's Note


[Expert One-on-One J2EE Design and Development] J2EE 아키텍처 3

Spring/J2EE D&D : 2009.09.03 14:00


Web Ties Design

이전에 보았던 각기 다른 네 가지 아키텍처에 모두 적용가능하다.

웹 단을 미들 단의 비즈니스 인터페이스에 의존하는 별도의 계층으로 구분하는 것이 중요하다. 그렇게 해야 비즈니스 객체를 바꾸지 않고도 웹 단을 수정할 수 있으며 웹 단을 참조하지 않고도 비즈니스 객체를 테스트할 수 있다.

MVC 아키텍처 패턴

이 패턴은 스몰토크 유저 인터페이스를 위해 처음으로 문서화 되었으며 가장 성공적인 OO 아키텍처 패턴중 하나이다.

중략~

웹 단에서 MVC 아키텍처 패턴을 사용하라. 스트럿츠같이 작성해야 할 애플리케이션 코드의 양을 줄여주며, 기본적인 MVC 패턴 구현체를 사용하라.

Designing Applications for Portability

특정 플랫폼에 종속적인 것은 추상화 계층을 사용하여 구현해야 한다. 인터페이스 자체는 플랫폼에 독립적이기 때문이다.

구현 이식성과 디자인 이식성의 차이를 알아야 한다. 구현 이식성이랑 어떤 서버에 배포하든 코드를 고칠 필요가 없는 것이고, 디자인 이식성은 분명한 인터페이스 약간을 다시 구현하기만 하면 어떤 서버에든 배포할 수 있는 것이다. 완전한 구현 이식성을 달성하기는 매우 많은 노력이 필요할 수 있지만, 디자인 이식성은 달성할만하며 충분한 비즈니스 가치를 가져다 준다. 이식성이 비즈니스 요구사항이 아니더라도, 디자인 이식성은 좋은 OO 디자인 실천으로 자연스래 달성할 수 있다.

Summary

- 분산 아키텍처의 단점: 보다 복잡하고, 구현, 테스트, 유지보수 하기 힘들다. 주의깊게 설계하지 않으면 성능 문제가 발생한다.
- 분산 아키텍처의 장점" 특정 경우에 따라, 보다 견고하고 확장성이 좋을 수 있다. 특정 비즈니스 요구사항에 따라 분산 아키텍처가 필요할 수도 있다.
=> 진짜 장점을 주지 못한다면 분산 아키텍처를 피하는 것이 최선이다.

- EJB 2.0에 웹 서비스가 포함되었다. 따라서 RMI에 종속적이지 않게 되었다. 로컬 인터페이스를 통해 EJB가 실행되고 있는 동일한 JVM에 접근할 수 있다. 따라서 분산 아키텍처에 종속적이지 않게 되었다.

- 언제 EJB를 사용할 것인가. EJB는 특정 문제를 매우 잘 해결할 수 있는 복잡하고, 강력한 기술이다. 하지만 대부분의 애플리케이션에 적절하지 않다.

- 나머지 dao, tiered architecture, four J2EE architecture, web-tire design issue 생략~
top

Write a comment.


[이슈트래커] 레드마인 redmine 괜찮네~

Good Tools : 2009.09.03 09:18


이슈트래커는 상용제품인 Jira만 써봤는데, 봄싹에서 Redmine이라는 걸 설치했길래 살펴봤는데, 괜찮습니다. UI도 깔끔한 편이고, 제공해주는 기능과 플러그인도 많이 있네요.

개인적으로 가장 맘에 드는건, 소스 코드 뷰 기능이 기본으로 탑재되어 있다는거.. Jira나 Bamboo에서는 그럴수가 없었고, Fisheye라는 걸 설치해야만 했었는데, 플러그인만 추가하면 소스 코드에 코멘트까지 다는 Crucible의 기능까지 할 수 있다고 합니다. 아틀라시안.. 제품 두 개(Fisheye, Crucible)와 Jira의 주요 기능이 한 곳에 들어있는 느낌입니다.

http://dev.springsprout.org/redmine

봄싹과 관련해서 버그나 새로운 추가 기능 요구가 있으신 분들은 위 이슈 트래커를 이용해주세요~

곳곳에 숨어있는(?) 그래프 들이 눈을 즐겁게 합니다.

012




top

  1. Favicon of http://beonit.tistory.com BlogIcon 톱아보다 2009.09.03 10:41 PERM. MOD/DEL REPLY

    설치할 때 무슨 업데이트하면서 6시간 넘게 걸리고 되지도 않아서 포기했어요.

    Favicon of http://whiteship.me BlogIcon 기선 2009.09.03 13:30 PERM MOD/DEL

    오호.. 그렇군요..
    제가 직접 설치하진 않아서 설치가 편했는지 어땠는지는 잘 모르겠네요. 아마 별 말이 없는 걸 보면 괜찮았을지도..

  2. 찬솔부 2009.09.03 15:09 PERM. MOD/DEL REPLY

    Redmine 조금 느린 것 빼면 무료로 사용도 가능하고 쓸만한 plugin도 좀 있고 해서 좋은 것 같습니다. UI도 JIRA처럼 뭔가 선뜻 손이 가지 않는 구조도 아닌 것 같고.

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2009.09.03 17:43 신고 PERM MOD/DEL

    넹. 저는 Redmine의 i18n을 보고 깜짝 놀랬습니다. "일감" 이라는 표현이 기가 막히더군요.ㅎㅎ

  3. 선데이모닝 2009.09.28 02:23 PERM. MOD/DEL REPLY

    저도 회사에서 쓰고 있는데 쓰면 쓸수록 깔끔한인터페이스에 만족하게 되게 되더군요

    Favicon of http://whiteship.me BlogIcon 기선 2009.09.28 09:29 PERM MOD/DEL

    넹 깔끔한것 같아요,

  4. Favicon of http://blog.lckymn.com BlogIcon Kevin 2009.09.28 14:34 PERM. MOD/DEL REPLY

    Ruby로 만들어졌으니...
    역시 문제는 속도겠군요...ㅡ_ㅡ;
    전 그냥 일단 Trac으로 만족을...

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2009.09.28 18:19 신고 PERM MOD/DEL

    흠.. 그렇게 느린지는 모르겠데요.
    한국은 인터넷이 빨라서 그런지..
    영.. 모르겠어요~~

Write a comment.