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

엔터프라이즈 아키텍처의 목표
– 견고함(be robust): 사용자가 신뢰할 수 있고 버그가 없어야 한다.
– 성능과 확장성이 좋아야 함: 확장을 고려하여 보통 여러 개의 서버 인스턴스를 하나의 클러스터에 배포한다. 클러스터링은 복잡한 애플리케이션 서버 기능을 필요로 한다. 애플리케이션이 클러스터 환경에서 효율적으로 동작하도록 설계되어 있는지 확인해야 한다.
– OO 설계 원리 장점 취하기: we should apply J2EE to realize OO design, not let J2EE technologies dictate object design
– 불필요한 복잡성 기피하기: XP에서는 “동작하게 만드는 가장 간단한 것”을 하도록 권장한다.
– 유지보수와 확장성: 각각의 컴포넌트가 분명한 책임을 가지고 있는지, 컴포넌트 끼리 강하게 결합되어 유지보수를 방해하진 않는지 확인하라.
– 제 때 배포하기
– 쉽게 테스트하기
– 재사용 권장하기

다음은 비즈니스 요구사항에 따른 부가적인 목표
– 다양한 클라이언트 타입 지원하기: 웹 애플리케이션, Swing 애플리케이션, 자바 애플릿 등. 보통은 “얇은” 웹 인터페이스만 널리 사용하고 있다.
– 이식성: 비즈니스 요구사항에 따라 데이터베이스 같은 자원의 이식성이 얼마나 용이한지 고려해야 할 수도 있다.

분산 아키텍처를 사용할 것인지 결정하기
– 분산 애프리케이션은 복잡하고, 런타임 오버헤드를 증가시키며, 만족할만한 성능을 내기 위해 충분한 설계를 필요로하기 때문에 중요한 의사결정이다.

분산 아키텍처가 제공하는 장점
– 다양한 클라이언트를 지원할 수 있는 능력
– 애플리케이션 컴포넌트를 각기 다른 물리적 서버에 배포할 수 있는 능력.

분산 아키텍처의 문제
– 성능 문제: 원격 호출은 로컬 호출보다 느리다.
– 복잡도: 개발, 디버그, 배포, 유지보수가 힘들다.
– OO 설계 적용에 제약이 생긴다

J2EE 설계에서 새로 고려할 것
– 생략

EJB 사용 시점
– EJB는 J2EE가 제공하는 하나의 선택일 뿐이다.
– 요구사항이 분산 아키텍처를 필요로 하고 RMI/IIOP가 원격 프로토콜로 적당할 경우 EJB는 표준 구현체를 제공해줄 수 있다.

EJB를 사용한다는 것의 의미
– 애플리케이션을 테스트하기 힘들다.
– 애플리케이션을 배포하기 힘들다.
– 원격 인터페이스는 OO 디자인 실천을 방행한다.
– 간단한 것도 어렵게 만든다.
– 애플리케이션 서버 선택 범위가 좁아진다.

EJB 사용에 대한 의문
– 생략

EJB 사용을 강하게 주장하는 경우
– 생략

경우에 따라 EJB 사용을 고려해볼 만한 경우
–  개발자가 멀티-쓰레드 코드를 작성하지 않아도 된다.
– CMT(컨테이너가 관리하느 트랜잭션)를 통해 Transparent 트랜잭션 관리를 제공한다.
– 선언적인/프로그래밍적인 롤-기반 시큐리티를 제공한다.

쓰리좝 시작인가…

고등학생 수학 과외를 봐주기로 했습니다. 생업은 지금 다니는 회사에서 ERP(보다는 쉬워보이는)라고 할까나.. 암튼 제품을 보다 효율적으로 관리할 수 있는 시스템을 개발 및 유지보수를 하는 일이고, 두 번째 업은 번역인데 한 번 해보고 난 뒤 사기가 많이 떨어졌습니다. 이제는 세 번째 업인 과외를 시작하기로 했습니다.

과외는 세금도 안 떼고 시간당 페이도 괜찮기 때문에 적극적으로 하고 싶은데 개발과 관련된 분야가 아니라는 것이 좀 문제입니다. 고등학생 수학을 봐주기로 했는데 어쩌면 수학 공부를 해가면서 가르쳐야 할지도 모르겠습니다. 수학에서 손뗀지 10년이 다 되가는군요. 뭐.. 동생이 수학과를 나왔으니 모르는걸 물어볼 사람은 있어서 다행입니다.

예전에도 몇 번 과외를 해본적은 있지만, 제가 갈쳤던 학생들은 전부 공부를 하기 싫어했던 학생입니다. 잘하고 싶다는 생각도 없고, 숙제도 하기 싫어하고~ 지금 가르치려는 학생도 이미 전에 한 번 실험삼아(?) 갈쳐봤던 학생인데 공부에 맘이 없는 듯 하여 한 달만 하고 말았었습니다. 그런데 최근에 다시 연락이 왔네요. 애가 다시 공부를 하고 싶어한다고… 과연.. 공부가하고 싶은건지.. 상담 선생이 필요한 건지는 가봐야 알겠지만…

이번에도 공부에 맘이 없다면 금방 끝날 일인 듯 하네요.

흠.. 이왕 하는거 목동에 전단지 막 뿌리고 해볼까나…

“개발자로 키워드려요~ 이제 영어는 기본이다.
누구나 하지 못하는 코딩 조기 교육으로 특기자 전형을 노리세요~”

ㅋㅋㅋㅋ

9월에 할 일 정리

1. 봄싹 스터디 및 사이트 개발
– 몇일 전 오픈한 봄싹 사이트 유지 보수를 한 달 간 진행하고, 스터디를 본격적으로 시작할 계획입니다.
– 하이버네이트 스터디가 유력하며..
– 스프링 DM 스터디도 유력하고..
– 스프링 Roo 역시 유력합니다.

2. 하이버네이트 번역
– 너무 많이 미뤄뒀네요. 이제는 다시 열을 올려서 끝내야겠습니다.
– 다음달까지 맡은 부분 번역을 다 끝내는 것이 목표입니다.

3. 회사일
– 당분간 인천 남동공단으로 출퇴근 해야 할지도 모르겠습니다.
– 이럴 땐 운전도 못하고 차도 없는게 아쉽지만, 걍 전철하고 버스 타고 가다보면 어떻게든 다닐 수 있겠죠.

4. 스윙댄스 졸업공연 준비
– 얼마있음 졸업 공연이라는데 안무와 음악을 전부 와이프한테 위임할 생각입니다.
– 신경쓸 겨를이 없는데.. 모여서 다른 커플들과 모여서 준비를 해야 되네요.
– 아마도 다다음주가 마지막일 듯.

5. 보라카이 여행 준비
– 엊그제 제주도에 다녀왔는데 이번에는 한 달 뒤에 보라카이를 갑니다.
– 가지고갈 짐, 비행기 호텔 예약 확인, 현지 물가 확인, 환전 등
– 오늘밤에 대충 끝내야겠네요.

보라카이는 3시간만 빡쎄게 조사하면 끝날테고..
스윙댄스는 집에서 하루 한 시간씩만 하고..
하이버네이트 번역은 출퇴근 시간에 하던 집에서 스윙 연습 끝내고 하던 꾸준히 해야될테고..
회사일은 인천으로 출퇴근하면서 피곤해지고 깨지고 들들 볶이면 되는거고..
봄싹 개발은 이제 주말에만 해야겠군요.
이러면서 평소에도 꾸준히 영어와 스프링 공부도 하고 피아노도 쳐야하는.. 9월 이로군요.

[봄싹 오픈] springsprout.org

www.springsprout.org

드디어 봄싹 스터디 새로운 시즌을 시작합니다.


스터디에 가입 하지 않으셔도 어느 정도 구경은 하실 수 있습니다. 어느 정도만~
아직 미흡한 부분이 많지만, 분명히 점차 개선될 겁니다.

1차 오픈을 할 수 있었던 건 전부 봄싹 개발에 참여해주신 열 분의 개발자들 덕분입니다.

이것 저것 프로젝트 하느랴 바빴을텐데 가장 열정적으로 참여해준 성윤이.
스터디쪽 미흡하다고 한 마디 했더니 몇 일만에 모든 기능을 다 만들어버린 재진이.
깔끔한 개인화면 만들어준 막내.
다소 늦게 개발에 참여했지만, 그래도 저와 함께 회원 모듈을 당당하고 파일 업로드를 담당하고 계신 종봉이형
Ajax, 시큐리티, 제이쿼리, 맵 오픈 API 등 두루 두루 담당하고 개발해주신 정우형.
오프라인에서는 못 봤지만, 어느새 온라인에서 혼자 세미나를 전부 만들어준 명수형.
오프라인에도 자주 참석해주신 소내기형. 역시 혼자 위키를 전부 만들어주셨습니다. 아주 든든해요. 캬~
개발에는 직접 참여해주시지 않았지만, 메일링 통해서 여러 조언을 해주신 성철형님
그리고 마지막으로 약속을 지켜낸 저까지.

현재는 이렇게 10명이 만들고 가꾸고 있습니다. 앞으로 더 여러 개발자들과 함께 가꿔나가고 싶네요.

[봄싹] D-day 오후 10시에 오픈하겠습니다.

현재 피튀기게 개발 중입니다. 몸이 10개였으면 좋겠어요. 안 믿으실까봐.. 증거자료 재출합니다.


보세요.. 불과 1시간전에 올린 글인데.. 댓글이 장난 아니죠. @_@ 결국은 명수형이 태그파일 만드는 걸로 결론이 났군요. 캬…

1차로 css로 간단하게 적용하고
2차로 스프링이 제공하는 HTMLUtils를 써보고
3차로 그것을 태그파일로 다듬고
4차는 다시 1~3차를 엎어버리고, 에디터를 적용하는 것..

이 중에서 3차까지는 한 다음 오픈을 할 것 같습니다. 따끈따근한 봄싹 개발 현장이었습니다. ㅎㅎ

불량사원으로 찍히실까봐.. 닉넴은 대충 모자이크 처리했습니다.
봄싹의 에이스 개발자들이 불량 사원으로 찍히는 이것이 바로 “봄싹 딜레마”