본문 바로가기

컴포넌트 식별/구성과 빌드 프로세스, 그리고 의존관계 SW 아키텍처에서 최소한의 빌드 단위를 결정하는 것은 이제 중요한 이슈이다. 현재의 SW 아키텍처에서 빌드 단위는 하나의 애플리케이션 (자바의 경우 war) 단위 안에 물리적으로 모든 소스 코드를 위치하는 형태로는 잦은 비즈니스의 변화와 이에 따르는 응대를 하기란 쉽지 않기 때문에 재사용 가능한 단위의 컴포넌트를 최대한 많이 그리고, 최대한 확장 가능한 형태로 구성해야 한다. 이러한 컴포넌트를 식별하고 구성하는 행위들은 궁극적으로 빌드 단위에 영향을 미치게 되며, 이는 빌드 프로세스에 직접적으로 영향을 미친다. 컴포넌트는 재사용 단위를 높이고 의존관계를 최대한 느슨한 형태로 구성하게 되지만, 이는 그 말 자체가 균형을 이루기 힘든 상태임을 알 수 있다. 재사용 단위를 높이는 것은 궁극적으로 컴포넌트의 의..
너무 많은 이해관계자들을 위한, 너무 많은 시스템을 위한 아키텍처 여기에 아주 근사한 아키텍처를 기반으로 만든 시스템이 있다. 이 아키텍처는 SoC(Separation of Concerns)의 원칙에 따라서 내부 시스템 간에 느슨한 결합(loosely coupled)을 통해 서로 연결되고, 각 계층(layer)은 의존관계(dependency)의 원칙하에 내부 모듈은 호출하게 되어 있다. 다소 어쩔 수 없는 솔루션이나 외부 시스템 때문에 일부 아키텍처가 균형을 이루지 못한 부분도 있지만, 극히 일부분이고, 그리 많이 사용하지 않은 기능이라 이 부분 역시 중요한 모듈과는 최대한 의존관계를 줄이도록 설계를 했다. 기능적으로도 품질적으로도 사용자가 만족할 만한 수준의 아키텍처가 만들어졌으며, 충분히 문서화 작업도 이루어져 있다. 이제 이 시스템이 운영 단계에 접어들면서 운영에..
비즈니스 관점의 프로세스와 IT 관점의 프로세스 분석 설계를 진행하다 보면 프로세스라는 단어가 많이 등장하고, 이는 어떤 관점에서 이를 바라보는가에 따라서 그 의미와 해석의 차이를 느끼게 된다. IT에 대한 지식이 전혀 없는 사람이 프로세스라는 단어를 언급하는 것을 보면 시스템에서 제공하는 기능과 사람이 처리하는 기능이 한데 섞여져 있어서 마치 사람의 행위를 시스템이 처리하는 것과 같은 인상을 받을 때도 있다. 반면에 IT를 수행하는 사람의 관점에서 프로세스라는 단어를 들을 때에는 사용자의 행위와 화면과의 연계, 내부 모듈 및 시스템 간의 연계되는 관계를 상세하게 생각하여 오프라인에서 수행되는 프로세스를 마치 시스템 내부에서 진행하는 형태로 착각하기도 한다. 모든 프로세스가 시스템화되는 것이 가장 바람직하다고도 볼 수 없으며, 시스템화되지 못한 프로세..
데이터 양과 비즈니스 로직의 복잡도 흔히들 데이터 양이 많으면 비즈니스 로직이 복잡해진다고 생각할 수 있다. 하지만, 데이터의 양과 비즈니스 로직의 복잡도는 그리 관계가 없다. 오히려 데이터 내의 개념들의 양과 더 깊은 관계가 있다. 가장 단순하게 게시판 글을 생각해봐도 그 내용이 한없이 길어도 단순히 내용만을 보여준다면 비즈니스 로직은 그리 복잡할 것은 없다. 하지만, 그 게시판의 글의 내용에 대한 의미들을 분석해서 나름대로 체계적으로 보여준다면 이는 이를 어떻게 보여주어야 하는 개념들만큼 복잡도가 증가하며 그 개념들 간의 관계까지 고려한다면 기하급수적인 비즈니스 로직이 생겨날 수 밖에 없다. TodaysArt 2008 - 16n _ ƒ5³ by Haags Uitburo 게시글을 서론, 본론, 결론의 형태로 묶음 단위를 생각해서 화면에 ..
설계, 누구를 위한 활동인가 작업을 수행하는 사람들은 늘 흔적을 남기기 마련이며, 이를 SW에서는 산출물이라고 말한다. 즉, 어떠한 활동을 하든지 간에 그 흔적이 어떠한 형태로든 존재하기 마련인 것이다. SW 개발하는 입장에서 설계와 구현의 정확한 구분을 한다는 것은 사실 거의 불가능한 영역이기도 하다. 설계를 개발 단계 중에 정해진 기간으로 놓고 그 단계 내에서 산출물을 강요하는 식의 방식은 설계의 본연의 목적을 잃을 가능성이 너무나도 높다. Anonymity; and the Internet. by Stian Eikeland 우리는 어떤 일을 하게 될때 머리속으로 먼저 무엇을 어떻게 수행할지를 가늠해본다. 좀더 깊이 생각하는 사람은 다양한 대안들을 생각해보고 각각의 장단점을 비교하여 사전 시뮬레이션까지도 고려하여 최적의 해결책이라..
통합에 대한 불편한 진실 SW에서 통합이라는 이슈가 불거진건 어제 오늘 일이 아니다. 그동안의 다양한 프로젝트들은 SI(System Integration)라는 이름 하에 진행되었으며, 그 내용 역시 서로 다른 다양한 시스템을 대상으로 통합을 위한 활동을 하는 것들이 포함된다. 하지만, 통합이라는 단어가 가지는 어감에 대해서는 시스템을 대하는 태도에 따라서 전혀 다른 아키텍처나 구조를 가지는 결과를 낳는다. 우선 통합과 반대가 되는 단어로는 분산을 들 수 있다. 통합과 유사하거나 같이 사용되는 단어로는 일관성 내지 표준화 정도로 볼 수 있다. 하지만, 이러한 단어들은 모두 통합을 위한 기본적인 토대가 되는 개념으로 서로 어느 정도는 상존될 수 밖에 없다. 아니, 반대와 유사한 개념들이 모두 공존하도록 아키텍처나 설계 구조를 만드는..
스마트의 의미 스마트 폰을 중심으로 지금과 앞으로 기술의 경향을 이끌고 있는 '스마트'라는 기술은 아직까지 명확한 정의를 내리기가 어렵다. 특히, 아직까지는 HW나 디바이스 중심의 스마트 기기를 업계에서도 그 중심으로 많은 광고를 하고 있지만, 눈에 보이지 않는 SW의 관점에서 '스마트'는 어떠한 개념으로 이를 접근할지에 대해 각각의 관점에서 그 입장차가 커보인다. SW 입장에서 '스마트'는 우선 서로 연결이 되는 성질(connectivity)을 지닌다. 기존에 독립적으로 기기 내에서 동작하던 기능이 서버나 다른 디바이스와 연결이 됨으로써 상호 작용을 통해서 새로운 서비스를 제공하게 된다. 물론, 연결만을 위한 SW의 관점도 있지만, 기능과 기능의 연결이라는 관점에서 SW는 해당 기능을 다시 조합하는 과정을 거칠 수 ..
잘못된 가정에 의한 그릇된 믿음 19세기 이탈리아의 범죄학자인 롬브로소는 범죄에 대해 과학적인 방식으로 접근한 시초로 알려져 있다. 하지만, 그의 과학적인 방식은 범인의 얼굴이 선천적으로 나타난다는 가정을 근거로 하고 있어서 범죄자에게 나타나는 신체적인 특징을 상세하게 기록하여 얼굴을 보고 범죄자를 판단하는 이론을 세운다. 그는 수많은 범죄자들의 얼굴을 조사하고, 얼굴에서 큰턱이나 튀어나온 광대뼈, 벌어진 엄지발가락과 같은 외모를 특징으로 내세웠고, 이러한 의견은 결국 생물학적인 측면에서 범죄자를 가려내어 더 높은 형량과 특별 관리를 필요로 하다고까지 주장을 했다. 물론, 이와 같은 이론은 현재에는 완전히 무시되고 있으며, 전혀 신빙성조차도 없다고 판단되고 있다. 와 같은 영화에서 관객들은 전혀 범인일 것 같지 않은 사람이 나중에 범인..

반응형