SOA(Service Oriented Architecture)는 말 그대로 서비스 지향 아키텍처를 의미한다. 얼마전 2006,2007년에는 정말 열풍같이 많은 교육과정과 기업마다 서로 도입해야 한다는 말들도 많았고 또한 잡지 및 기사에서는 얼마있으며 모두 SOA를 도입할 것이라는 예측성 기사를 마구 내놓았었다. 하지만 현재는 SOA라는 말이 화두가 되고 있고 실제로 몇몇 기업에서 도입을 하기는 했지만 예전처럼 그런 분위기는 아닌것 같다.
몇몇 기업에서 SOA를 도입했다고는 하는데 실제로 내부를 들여다 보면 실상은 SOA가 도입되었는지가 의문스러운것이 사실이다. SOA의 특성상 개발적인 부분에서만 언급될수는 없다. SOA를 도입하기 위해서 많은 벤더(IBM, Tmax등등)에서 많은 솔루션을 내놓고 실제로 그런 솔루션을 도입하면 SOA 구축이 되는것처럼 마케팅을 하고 실제로 많은 기업들이 그런 솔루션을 도입해서 SOA를 구축했었다. 하지만 과연 솔루션만 도입한다고 해서 SOA가 되는것인가?
실제로 나는 SOA 전문가는 아니다. S/W아키텍트로 일하고 있는 입장에서 완전히 모르는것도 아니고 그렇다고 SOA를 많이 아는것도 아닌 그런 어정쩡한 지식을 가지고 있다. 하지만 SOA 전문가가 아닌 IT를 하는 입장에서 보면 그리고 몇개의 프로젝트에서 SOA 구축의 일부를 담당한 입장에서 보면 정말 눈가리고 아웅하는 식의 구축에 어이가 없을 뿐이다.
SOA란 급변하는 비즈니스 환경에서 기업 IT의 적응성을 높이기 위해 비즈니스 체질을 바꿔야만 한다고 생각한다. 내부적으로 보면 벤더들이 주장하고 사용하라고 적극 권유하는 솔루션의 내면을 보면 분명 SOA를 위해 필요한 솔루션임은 의심할 여지가 없다. 먼저 Framework은 내부 시스템의 표준화 및 모듈화를 위해 필요하다. 또한 BPM은 표준화된 모듈을 서비스로 Orchestration하기 위해 그리고 프로세스를 가시화해서 향후 유지 보수 및 수정이 가능하도록 할 수 있다. 그리고 ESB는 외부에 표준화된 인터페이스를 제공함으로 서비스를 노출할 수 있다. 이외의 Rule Base Engine을 들 수 있다. 어떤 컴포넌트 또는 서비스를 특정 Rule에 의해 수행할 수 있는 환경 제공은 향후 프로그램의 수정없이 환경적인 수정으로 서비스에 대한 수정을 가할 수 있다. 또한 서비스를 모니터링해서 서비스의 사용성을 측정하고 이를 기반으로 서비스를 수정할 수도 있는 BAM이 있을 수 있다. 이런 모든 솔루션들이 SOA를 구축하는데 있어서 중요한 솔루션으로 의심할 사람은 없다.
하지만 가장 중요한 컴포넌트와 서비스를 만드는 모델링 관점에서는 개념적인 또는 교과서에 나오는 형식의 가이드 밖에 없다. 과연 SOA를 구축하는 기업들이 이런 서비스의 범위 규정이나 설계에 얼마나 많은 관심이 있고 노력을 기울이는지 의문이다. 물론 이런 문제점은 단지 SOA프로젝트 뿐만이 아니라 많은 한국의 IT서비스 기업들이 프로젝트 문제이기도 하다.
어떤 특정 기술 및 Trend를 따라가는것이 나쁜것은 아니다. 분명 신기술 및 Trend는 생산성 향상, 품질 향상등 많은 장정이 있기 때문에 외국의 많은 기업들이 적용하였고 또한 가트너등의 많은 외국 리서치에서 발표하고 있는것이다. 하지만 적용하는 관점에서 단지 어떻게 구축하는지에 대한 방법론적인것에만 관심을 가지지 말고 이 기술이 태동하게 된 계기며 기술의 백그라운드에 대한 이해와 그를 통한 한국 IT현장에 어떻게 적용해야 하는지에 대한 고려가 없이는 단지 흉내만 내는 꼴이라는것을 IT에 몸담고 있는 사람들은 생각해야 할것이다.
지금의 현실은 외국에서 유행한 옷이라고 우리나라체형에 맞지도 않는 옷을 아무런 제단도 없이 또는 용도에 맞지도 않게 입고 있는 것이 아닐까 생각된다. 외국의 최신 기술이라 하더라도 그 기술의 등장 배경 및 한국 현실등을 고려하여 우리나라 현실에 맞는 기술로 발전시키고 이를 기본에 맞게 적용하는 노력이 필요하다. 따라서 IT 기업의 R&D부서들은 단지 문서 번역에 그치지 말고 정말 쓸모 있는 기술을 만들기 위해 노력해야 할것이고 이런 노력은 결국 새로운 기술을 만들수 있는 기반이 되지 않을까 생각된다.
글을 쓰다 보니 SOA로 시작했다가 IT 전반에 대한 생각으로 변질되고 말았는데 그냥 시간있어서 지난 프로젝트를 보다가 생각나는대로 쓰다 보니 그렇게 된것 같다. 원래 생각이 정리되는 스탈이 아니라.. -.-;
몇몇 기업에서 SOA를 도입했다고는 하는데 실제로 내부를 들여다 보면 실상은 SOA가 도입되었는지가 의문스러운것이 사실이다. SOA의 특성상 개발적인 부분에서만 언급될수는 없다. SOA를 도입하기 위해서 많은 벤더(IBM, Tmax등등)에서 많은 솔루션을 내놓고 실제로 그런 솔루션을 도입하면 SOA 구축이 되는것처럼 마케팅을 하고 실제로 많은 기업들이 그런 솔루션을 도입해서 SOA를 구축했었다. 하지만 과연 솔루션만 도입한다고 해서 SOA가 되는것인가?
실제로 나는 SOA 전문가는 아니다. S/W아키텍트로 일하고 있는 입장에서 완전히 모르는것도 아니고 그렇다고 SOA를 많이 아는것도 아닌 그런 어정쩡한 지식을 가지고 있다. 하지만 SOA 전문가가 아닌 IT를 하는 입장에서 보면 그리고 몇개의 프로젝트에서 SOA 구축의 일부를 담당한 입장에서 보면 정말 눈가리고 아웅하는 식의 구축에 어이가 없을 뿐이다.
SOA란 급변하는 비즈니스 환경에서 기업 IT의 적응성을 높이기 위해 비즈니스 체질을 바꿔야만 한다고 생각한다. 내부적으로 보면 벤더들이 주장하고 사용하라고 적극 권유하는 솔루션의 내면을 보면 분명 SOA를 위해 필요한 솔루션임은 의심할 여지가 없다. 먼저 Framework은 내부 시스템의 표준화 및 모듈화를 위해 필요하다. 또한 BPM은 표준화된 모듈을 서비스로 Orchestration하기 위해 그리고 프로세스를 가시화해서 향후 유지 보수 및 수정이 가능하도록 할 수 있다. 그리고 ESB는 외부에 표준화된 인터페이스를 제공함으로 서비스를 노출할 수 있다. 이외의 Rule Base Engine을 들 수 있다. 어떤 컴포넌트 또는 서비스를 특정 Rule에 의해 수행할 수 있는 환경 제공은 향후 프로그램의 수정없이 환경적인 수정으로 서비스에 대한 수정을 가할 수 있다. 또한 서비스를 모니터링해서 서비스의 사용성을 측정하고 이를 기반으로 서비스를 수정할 수도 있는 BAM이 있을 수 있다. 이런 모든 솔루션들이 SOA를 구축하는데 있어서 중요한 솔루션으로 의심할 사람은 없다.
하지만 가장 중요한 컴포넌트와 서비스를 만드는 모델링 관점에서는 개념적인 또는 교과서에 나오는 형식의 가이드 밖에 없다. 과연 SOA를 구축하는 기업들이 이런 서비스의 범위 규정이나 설계에 얼마나 많은 관심이 있고 노력을 기울이는지 의문이다. 물론 이런 문제점은 단지 SOA프로젝트 뿐만이 아니라 많은 한국의 IT서비스 기업들이 프로젝트 문제이기도 하다.
어떤 특정 기술 및 Trend를 따라가는것이 나쁜것은 아니다. 분명 신기술 및 Trend는 생산성 향상, 품질 향상등 많은 장정이 있기 때문에 외국의 많은 기업들이 적용하였고 또한 가트너등의 많은 외국 리서치에서 발표하고 있는것이다. 하지만 적용하는 관점에서 단지 어떻게 구축하는지에 대한 방법론적인것에만 관심을 가지지 말고 이 기술이 태동하게 된 계기며 기술의 백그라운드에 대한 이해와 그를 통한 한국 IT현장에 어떻게 적용해야 하는지에 대한 고려가 없이는 단지 흉내만 내는 꼴이라는것을 IT에 몸담고 있는 사람들은 생각해야 할것이다.
지금의 현실은 외국에서 유행한 옷이라고 우리나라체형에 맞지도 않는 옷을 아무런 제단도 없이 또는 용도에 맞지도 않게 입고 있는 것이 아닐까 생각된다. 외국의 최신 기술이라 하더라도 그 기술의 등장 배경 및 한국 현실등을 고려하여 우리나라 현실에 맞는 기술로 발전시키고 이를 기본에 맞게 적용하는 노력이 필요하다. 따라서 IT 기업의 R&D부서들은 단지 문서 번역에 그치지 말고 정말 쓸모 있는 기술을 만들기 위해 노력해야 할것이고 이런 노력은 결국 새로운 기술을 만들수 있는 기반이 되지 않을까 생각된다.
글을 쓰다 보니 SOA로 시작했다가 IT 전반에 대한 생각으로 변질되고 말았는데 그냥 시간있어서 지난 프로젝트를 보다가 생각나는대로 쓰다 보니 그렇게 된것 같다. 원래 생각이 정리되는 스탈이 아니라.. -.-;








최근 덧글