우리나라는 아직 SOA를 본격적으로 추진한 사례가 보고되고 있지 않습니다. 많은 기업들이 SOA를 적용할 수 있는지 검토하고 있는 단계이고 몇몇 용감한(?) 얼리어답터들이 이제 프로젝트를 진행하고 있는 단계이구요.  아마 내년 정도에는 참조할 수 있는 사례가 나오지 않을까 생각됩니다.

SOA 역시 프로젝트로 진행되기 때문에 고려해야 할 일이 많이 있습니다. 저 역시 오래전에 SI 프로젝트에 투입되어 밤을 꼬박 세운 일도 다반사였고 심지어는 3일 밤을 잠한숨 자지 못하고 프로젝트 오픈을 준비하면서 스트레스 때문에 죽을것 같은 공포(?)를 느껴본 적도 있습니다. 다행히 프로젝트는 성공적으로(?) 마무리하였지만  아무튼 다시는 경험하고 싶지 않은 것이었습니다.

다른 프로젝트도 마찬가지겠지만 SOA 프로젝트도 시작전에 설정한 목표를 달성하여 성공적이란 평가를 받고 끝나야 하겠습니다. 그런데 프로젝트를 성공으로 보느냐 아니면 실패로 보느냐에 대한 기준이 흔들리지 않을까 걱정스런 노파심(?)이 들기도 합니다.

과거의 경험으로 볼 때 처음 프로젝트를 시작할 때 어떤 일을 하겠다고 계약하는데 진행과정에서 영업사원의 욕심으로 제안을 과다하게 했거나, 프로젝트에서 필요한 것을 기업이 제공해 줄 수 없어서 축소되는등 여러가지 이유로 애초에 계획했던 일을 다 하지 못하고 끝나게 되는 경우가 대다수 입니다. 그런데 이런 프로젝트조차 성공적이라고 평가받는 것이 사실입니다. 여러가지 이유가 있겠지만 아무튼 처음부터 할수 있는 일을 정당한 비용으로 하는 것이 말 그대로 성공적인 프로젝트를 만드는 것이라는 데는 이견이 있을수 없을 것 같습니다.

지난번 "SOA 구축하는데 하지 말아야 할 것 10가지"를 이야기한 IBM SOA & WebSphere 전략담당 부사장인 Sandy Carter가 이번에는 SOA 성공을 위한 10가지 단계라는 이야기를 했습니다.

그것들은 다음과 같습니다.

1. 확실한 임원의 지원 확보

SOA 프로젝트를 시작하기 전에 반드시 확보해야 할것이 고위 임원의 확실한 지원 의사를 확인하는것

2. 조직적인 준비

임원의 후원을 얻은후에 할일은 SOA라는 새로운 방식을 수행할수 있도록 각 부분을 담당할 핵심 인재를 찾고 배치하는것

3. 관점의 통일

비즈니스에 대한 일관된 관점과 이해

4. "재사용"은 "다시 사용가능한"과 동일함

중복적인 노력을 피하기 위해서 현재 웹서비스를 확인하고 리파지토리에서 관리하는것(얼마나 많은 일들이 이미 이루어져있는지 놀라게 될것이다.)

5. 사일로의 통합

현재 많은 IT 조직이 기존 IT 자산을 최대로 사용하기 위해 중복을 피하고 통합하려고 노력하지만 현실적으로 서로다른 기술을 가진 시스템을 유지보수하는데 많은 노력을 쏟고 있음.(사일로는 통합을 고려하지 않고 개발된 각 부서별 시스템을 의미합니다.)

6. 나무를 통해 숲을 봄

SOA는 여러제품을 단순히 통합하는 것이 아닌 아키텍쳐라는 것을 잊지 말아야함. 진정한 SOA는 개방형 표준을 사용해서 모델, 조립, 운영, 관리의 4가지 전략적 단계를 통해서 만들어짐

7. 엔터프라이즈 서비스 버스(ESB)에 올라탐

ESB는 SOA 안에서 서비스를 통합하는데 사용될 수 있는 연결 인프라스트럭처를 제공. SOA와 ESB는 인터페이스의 복잡성을 줄이고 IT 인프라 관리 보다는 핵심 비즈니스 문제에 집중하도록 함

8. 한걸음씩

기업 전체에 걸쳐 SOA를 운영하는 것은 굉장한 노력이 필요함. 가장 좋은 방법은 계속해서 테스트해보고 수정하고 적용하고 하는 단계를 계속 수행하는 것임

9. 현재에 충실한 접근방식을 피함

SOA를 적용한다는 것은 단순히 오늘 또는 올해만을 위한 것이 아니고 기업이 현재 비즈니스에서 필요한 것 뿐만 아니고 미래를 위한 필요사항과 IT를 매치하기 위한 조직적인 접근방식임
     
10. 우발적인 SOA를 막음

단순히 준비된 웹서비스가 많다고 해서 SOA를 성공할 수 없슴. SOA는 비지니스 프로세스를 지원하는 웹서비스 이상임. 기존 야플리케이션을 재사용하고 확장할 뿐만 아니라 필요에 따라 새로운 애플리케이션을 만들어 내는 유연하고 확장성있고 조립가능한 접근방식임.

위의 10가지 단계를 보면 사실 꼭 SOA 만을 위한 것은 아니고 보편적으로 다른 프로젝트에서도 적용할 수 있는 내용인것 같습니다.  중요한 것은 프로젝트를 준비하고 진행하는데 있어서 잊지말아야할 정말 기본적인 것들이라는 것입니다. 프로젝트 진행시 너무나 자주 잊고있는…..

jsy0529@hanmail.net