Whiteship's Note

OSGi 시작은 상호 참조 제거부터

Spring DM/exercise : 2008. 7. 11. 09:49


OSGi와 Spring DM을 익히는 건 개인적으로 이제 어느 정도 올라왔기 때문에, 세세한 부분과 예제 실습만 틈틈히 하면 별 무리가 없다고 생각이 된다. 그러나 기술을 익히면서도 내심 드는 의문 '이 기술로 내가 지금 만들고 있는 애플리케이션을 어떻게 쪼개서 묶어야 되지?' 라는 것에는 쉽게 답을 내릴 수도 없었고 이리 저리 생각을 하고 고민을 해도 쉽게 결론이 나질 않았다. 기준이 세워지지도 않고... 그러던 중 토비 사부에게 유겐 휄러가 스프링 프로젝트 패키지 구조를 정리한 일에 대해 들었고, 그게 번들화의 시작이라는 느낌이 강하게 들었다.

일단 어떻게 쪼갤까 하는 고민은 많은 시행착오와 경험이 필요한데, 그 전에 우선 쪼갤 수 있는 상태의 프로젝트를 만드는게 시작이라는 것이다. 쪼갤 수 있는 프로젝트라는 건 순환 참조가 없어야 수월하고 깔끔한데, 그와 관련된 매우 좋은 글을 2006년 12월에 사부님이 블로그에 올린적이 있었다. 그 당시 나는 잘 기억도 안 나지만 너무 길고 뭔 내용인지 몰라서 안 읽고 지나갔을 것이다. (사실 이렇게 pass한 사부님의 글이 한 두개가 아니다.) 이제사 읽어보니 아주 쏙쏙 들어오고 글이 긴 건지도 모를 만큼 몰입되서 읽을 수 있었다.

다음 프로젝트 연기로 인해 느슨해진 요즘 새로운 목표가 생겼다. 현재 거의 마무리 단계인 애플리케이션을 잘개 쪼개서 번들로 만들고 S2AP 위에 돌리는 것이다. 해보자. 파이팅!!!

1. 순환 참조 탐색 및 정리
2. 번들로 쪼개기
3. S2AP 위에 돌리기

간단하지 아니한가. 캬캬캬 해보는거다.

top

  1. Favicon of http://benelog.egloos.com BlogIcon benelog 2008.07.16 11:05 PERM. MOD/DEL REPLY

    CBD나 OSGi나 아직 잘 모르기는 하지만, OSGi번들을 쪼개는 단위는 결국 CBD에서 말하는 컴퍼넌트의 설계와 비슷해지지 않을까.. 하는 생각이 듭니다.
    예전에 CBD로 프로젝트를 했을 때, 컴퍼넌트를 어떻게 잡아야 하는지에 대해 경험이 없이 처음 설계를 했었는데, 너무 잘게 다른 부분은 외부와의 찾은 참조로인해 의존관계가 너무 심해서 컴포넌트의 의미가 없어진 모듈도 있었습니다. 컴퍼넌트 끼리도 한방향으로만 참조를 하도록 설계를 해야 하는데, 처음 설계와는 다르게 뒤에 들어온 개발자가 컴퍼넌트의 의미를 생각하지 않고 다른 쪽의 모듈을 막 참조하는 경우도 있었죠. OSGi를 처음봤을 때 잘만 하면 CBD에서 말하는 컴퍼넌트 단위를 쪼개는 의미를 더욱 더 명확히 할 수 있지 않을까.. 하는 생각을 했었습니다.

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2008.07.16 11:41 신고 PERM MOD/DEL

    네. 저도 OSGi를 공부할 수록 점점 CBD에 관심에 가더라구요. 어떻게 하면 잘 쪼갤고 묶을지 말이죠. 그에 대한 힌트를 CBD에서 얻을 수 있지 않을까 기대하고 있습니다.

    개발자들이 커밋하기 전에 JDenpend로 각자 자신이 작성한코드의 의존성을 검증하도록 규칙을 정해 주셔야겠네요. 만약 이를 어기면 저녁을 쏜다던가 하는 식으로..ㅋㅋ

Write a comment.




: 1 : ··· : 980 : 981 : 982 : 983 : 984 : 985 : 986 : 987 : 988 : ··· : 2638 :