SOA (서비스 기반 변형)
싱가포르의 SOA 컨퍼런스에서 다른 발표자들과 이야기하는 동안, 나는 SOA 에는 기술과는 전혀 상관 없는 부작용이 있다는 사실을 생각해 냈다. SOA 가 실제로 힘을 발휘아기 위해서 기업은 개발자가 그것을 표현하는 서비스를 만들 수 있을 정도까지 그 역할이 엄격하게 정의되어야 한다는 사실이다. 그 사실이 애를 먹인다 — 대부분의 기업들은 그들 자신의 업무를 그정도로 자세하게 이해하고 있지 않다. 시간이 지날수록, 나는 프로젝트를 수행하는 분석가와 개발자들이 실제로 고객의 비즈니스 프로세스를 기억이 지금까지 가졌었던 것보다 훨씬 세밀한 수준까지 정의한다는 것을 계속해서 눈치챘다. 나와 일했던 몇몇 고객들은 개발 프로세스 덕택에 그들의 업무를 더 잘 이해하게 되었다고 언급하기까지 했다.
물론, 정 반대도 사실이다 (아! 그리고, 더 자주) — 엉성하게 정의된 업무 프로세스를 가진 회사들은 SOA 를 도입하려고 시도하고 끔찍하게 실패할 것이다. 그리고 기술이 아무런 관계도 없음에도 불구하고 SOA 실패에 대한 케이스 스터디를 하나 추가하게 된다. 더 나쁜 것은 Enterprise Service Bus 와 같은 고가의 개발 툴 벤더들은 자신들의 툴을 다신들의 업무 프로세스를 “고쳐”주리라고 믿어 의심치 않는 고객들에게 팔아 넘길거라는 점이다. 돼지에게 드레스를 입힌다고 해서 돼지가 예뻐 보이는 것은 아니다. 단지 돼지를 신경쓰이게 할 뿐이다. 다른 많은 기술적 진보 (개체지향, 컴포넌트 기반 프로그래밍을 보라) 와 같이, SOA 는 문제가 있는 업무의 문제를 해결해 주지는 않을 것이다.
오늘의 어휘
- abberration – 변형. 색수차.
- occur to someone – 생각해 내다. 떠올리다.
- business – ‘업무’라는 뜻 외에도 ‘법인, 기업’의 뜻을 가짐
- rub – ‘문지르다’ 외에도 ‘애를 먹이다 속썩이다’의 의미를 가짐 (e.g. That’s the rub. – 그게 바로 애를 먹이는 점이다.)
- alas – (비통해 하며) 아!
- unsuspecting – 믿어 의심치 않는