10월, 2009의 게시물 표시

기술과 시장, 그리고 고객

소프트웨어 산업에서 기술 가치라는 것은 제품이라는 형태로 실현이 되거나, 사람과 소스 코드라는 형태로 미실현 상태에 있다고 볼 수 있다. 궁극적 가치 실현은 시장을 통하게 되며, 결국 고객의 근원적 이해가치에 부합하도록 기술 가치를 활용함으로써 장기적인 가치 실현을 하게 된다. 물론 가치를 가지고서도 시장 실행력이 약하여 고객에게 전달되지 못할 수도 있지만, 이 부분은 영업 영역이므로 100% 가능하다는 전제를 해본다. 결국 시장 실행 능력을 제외한다면 기술적인 가치의 높이와 이를 제품 형태로 끌어낼 수 있는 능력, 그리고 고객의 근원 가치를 제대로 이해하는 능력이 소프트웨어 기업의 자산 가치를 좌우한다고 할 수 있다. 기업을 대상으로 하는 소프트웨어라면 결국은 기업의 infrastructure 부터 application에 이르는 소프트웨어 스택의 핵심 가치와 비전을 제시함으로써 기업의 경쟁력과 비용 절감에 기여하는 것이 과제일 것이고, consumer 혹은 end-user를 대상으로 하는 소프트웨어라면 consumer의 소비 성향에 부합하는 제품을 만드는 능력이 핵심 과제일 것이다. consumer는 궁극 가치가 유사할 경우 유행과 서비스 중심의 소프트웨어 구매를 하는 경향이 있다. 이것은 흔히 소비 코드라고 부른다. 소비 코드의 방향 즉, 비전에 대한 이해가 결국 end-user 소프트웨어의 성패를 좌우한다고 볼 수 있다. 물론 궁극 가치를 공통적으로 실현하고 있다는 가정 하에서다. 이 주장은 개인용 OS나 오피스 스윗과 같은 핵심 소프트웨어에서도 통용이 된다. 개인 사용자 환경의 핵심 가치에 대한 기본적인 만족은 기본적으로는 윈도우 시스템, 웹브라우징, 오피스의 핵심 기능들을 만족하는 것이며, 특히 웹브라우징과 오피스의 경우는 완벽한 문서 호환성이 주요한 이슈가 된다. 오랜 시장 독점에 의한 영향일 것이다. 그외에 개인적 취향과 인간의 미적 욕구를 반영한 소비 성향에도 개인 소프트웨어는 큰 영향을 받는다. 어떻게 하면 고객의 궁극 가치에 기여할 수 있을까

[Java] Asynchronous HTTP processing

Java 1.4 이후부터 JDK API 수준에서 Asynchronous TCP processing 이 가능해졌는데, 이것에 기반하여 HTTP protocol을 구현하는 경우는 많지가 않았다. 하지만, AJAX 를 사용한 server push나 대용량 파일 처리 등을 가능하게 하기 위해서는 (Comet Architecture) 점차 Server 쪽에서 새로운 HTTP 처리 모델이 필요하게 되었다. 자바에서는 이것이 Java EE 레벨에서 Servlet 3.0 spec에 포함시키려 하고 있는데, 굳이 서블릿 표준 모델이 아니라고 하더라도 서버와 클라이언트 모두 Asynchronous Processing은 확장성(scalability)과 고성능(high performance)의 핵심이 되고 있다. Next Generation SOA 라는 RESTful SOA (혹은 Web Oriented Architecture) 를 뒷받침하는 기반 기술로 Web Processing의 Full Asynchrony 는 매우 중요한 기술적 화두이다. Asynchronous HTTP and Comet architectures - JavaWorld Comet: Low Latency Data for the Browser | Continuing Intermittent Incoherency HttpComponents - HttpComponents Overview