'IT'에 해당되는 글 24건

  1. 2009.08.19 Javascript 디버거 사용하기 (IE, Firefox)
  2. 2009.06.15 코더(Coder), 프로그래머(Programmer), 소프트웨어 아키텍트(Software Architect), 그리고 구루(Guru) 1
  3. 2009.01.14 애플리케이션 성능관리(APM) 시장 현황과 전망
  4. 2009.01.05 [소프트웨어공학]소프트웨어 품질의 특성
  5. 2008.12.08 Marshalling, UnMarshalling 이란?
  6. 2008.11.25 소프트웨어 온디멘드(On-Demand) 란?
  7. 2008.11.25 서비스로써의 소프트웨어란? (ASP vs SaaS vs. On Demand)
  8. 2008.11.21 SI, SM, ERP, EIP, EAI, CMMS, CRM, SCM, GW, KMS 란?
  9. 2008.11.13 사진합성 사이트 2
  10. 2008.11.12 GoF란?
2009. 8. 19. 11:21

Javascript 디버거 사용하기 (IE, Firefox)



웹개발하면 Firefox를 메인 브라우저로 쓰라는 얘기를 많이 듣는다. 이건 IE보다는 Firefox가 더 웹표준을 잘 지키고 있기 때문이긴 한데 다른 환경들도 아무래도 더 잘 갖추어져 있다. Firefox에서는 Firebug 가 제일 유명하다. 영문사이트를 김경민님이 한글로 번역해준 사이트 도 있다.


IE에서도 Firefox처럼 쉽게 디버깅을 할 수 있는 Companion.JS라는 툴 이 있다. MS에서 제공하는 Windows Script Debugger라는 디버깅 환경 을 이용해서 IE상에서 편리하게 디버깅할 수 있게 해주는 프로그램이다. MS의 다움로드 센터에서 Windows Script Debugger를 검색한다.

참고 : http://blog.outsider.ne.kr/153
2009. 6. 15. 10:49

코더(Coder), 프로그래머(Programmer), 소프트웨어 아키텍트(Software Architect), 그리고 구루(Guru)


최근 친구를 만나서 이런 저런 이야기를 나누더 중 코더(Coder)에 관한 이야기가 나왔습니다. 이야기를 나누면서 저 나름대로의 정의를 설명해 주었는데, 여러분과도 함께 나누고 싶어서 글을 올립니다.

 

코더(Coder)란 무엇일까요?

소프트웨어 업종에서 개발하는 사람들에게 코더란 의미는 상당히 나쁜 의미로 받아들어지고 있습니다.

 

사전 상에서도 Coder란 뜻은 "코딩(Coding)하는 사람"이란 뜻입니다. 하지만 프로그래머(Programmer)도 코딩을하고 소프트웨어 아키텍트(Software Architect)도 코딩을 합니다. 그리고 우리가 가장 존경하는 구루(Guru)도 코딩을 합니다. 우리가 잘 알고 있는 유명한 구루(Guru)인 리처드 스톨만(Richard Stallman)도 코딩을 합니다.

과연 코더와 프로그래머와 소프트웨어 아키텍트 및 구루를 나누는 기준은 무었일까요?

 

개인적으로 코더와 프로그래머와 소프트웨어 아키텍트 및 구루의 차이는 가지고 있는 사상의 차이라고 생각합니다.

어떠한 소프트웨어를 개발하면서 소프트웨어의 설계문서를 보면서 저는 자신의 사상보다는 다른 사람들의 사상을 바탕으로 소프트웨어를 개발하는 사람들을 코더라고봅니다.

즉 소프트웨어의 근본적인 사상이나 본래의 기능등에 대한 깊이있는 고민이나 사상이 없이 소프트웨어 디자이너(Software Designer)나 프로젝트 매니저(Project Manager; PM)나 프로젝트 리더(Project Leader; PL)가 시키는 일을 하며 소프트웨어를 개발하는 사람들을 코더라고 볼 수 있습니다.

하지만 코더를 나쁜 의미로 볼 필요는 없습니다.

왜냐하면 전문 코더(Professional Coder)는 소프트웨어 개발에 관련된 전문적인 지식을 바탕으로 소프트웨어가 필요로하는 기술(Technology)를 제공하여, 소프트웨어가 훌륭하게 구현될 수 있도록 지원하는 사람이라고 볼 수 있습니다.

일예로 Java 진영에서 가장 많이 사용하는 Eclipse의 경우 전문 코더의 헌신적인 노력으로 구현된 최고의 IDE입니다. 전문 코더에 대한 인터뷰를 나중에 올리겠습니다.

따라서 전문 코더(Professional Coder)는 소프트웨어 업계에서 나름대로 존중하여야 할 직종이라고 생각합니다.

이를 위해서는 코더 자신이 소프트웨어 설계 문서를 면밀하게 분석할 줄 알아야하며, 최적의 로직을 구현하기 위하여 알고리즘(Algorithm)이나 자료구조(Data Structure) 및 각종 개발 스킬 등을 잘 알고 있어야 합니다.

이렇게 종합적으로 개발 관련된 지식들을 잘 알고 계신 분들이 있어야 소프트웨어가 더욱 탄탄하게 구현될 수 있으며, 이런 분들이 다양한 소프트웨어를 구현하면서 쌓은 경험이나 지식을 계속 소프트웨어의 발전을 위하여 쏟을 수 있는 환경을 제공할 필요가 있습니다.

아직 우리나라에서는 이러한 전문 코더에 대한 이해나 직업상의 인정이 부족한 것이 사실이지만, 개발하여야 할 소프트웨어가 많아지고 기술적인 난이도가 높아질수록  전문 코더의 필요성이 커질 것이라고 예상합니다.

 

그렇다면 프로그래머(Programmer)란 무었일까요?

프로그램(Program)을 창조하는 사람(someone whose job is to create computer programs)을 프로그래머(Programmer)라고 합니다. 여기서 코더와 프로그래머를 나누는 기준이 생기는데 창조하는 것입니다.

소프트웨어를 창조하려면 소프트웨어에 대한 이해나 사상이 있어야 합니다.

즉, 프로그래머의 경우 자신의 사상을 바탕으로 소프트웨어를 만드는 사람을 의미하며, 이러한 사상이 있다면 프로그래머라고 생각합니다.

대부분의 모든 개발자들이 프로그래머라고 볼 수 있습니다. 프로그래머 역시 코더와 마찬가지로 소프트웨어를 훌륭하게 개발할 수 있는 개발 기술을 갖추고 있어야하며, 더 나아가 소프트웨어를 설계할 수 있는 설계 능력이 있어야 한다고 생각합니다.

소프트웨어의 기능정의부터 각종 설계서를 작성할 줄 알아야 합니다. 왜냐하면 자신의 사상을 논리적으로 표현하고 이를 다른 사람들에게 공유할 수 있어야 하기 때문입니다. 자신의 사상을 기술하고 이를 바탕으로 소프트웨어가 개발될 수 있도록 좋은 설계문서를 만드는 일은 프로그래머에게 중요한 일이라고 생각합니다.

이러한 요건을 갖추었다면, 저는 프로그래머라고 생각합니다.

 

 

그렇다면 소프트웨어 아키텍트(Software Architect)란 무엇일까요?

소프트웨어 아키텍트는 프로그래머의 사상을 더욱 확장해서 생각할 수 있는 사람을 의미합니다. 소프트웨어에 필요한 계획이나 정책을 세울 수 있으며, 이를 구체적으로 실행할 수 있는 사람(the person who has the idea for something such as a plan or policy and makes it happen)을 의미합니다.

특히 소프트웨어 아키텍트는 소프트웨어의 전체적인 구조를 결정하고 소프트웨어 전반에 영향을 미치는 부분들을 책임지고 결정하는 사람입니다. 따라서 넓은 안목을 가지고 있어야 하며, 가장 핵심이 되는 부분에 대한 결정적인 방향을 제시할 수 있어야 합니다.

마치 CEO와 같은 안목을 가지고 있어야하는데, 소프트웨어 아키텍트의 결정에 따라 소프트웨어 개발이 쉬워질 수 도 있고 어려워질수도 있기 때문입니다.

잘못된 소프트웨어 아키텍쳐(Software Architecture)를 제시하는 화성인 아키텍트의 경우 잘못된 소프트웨어 아키텍쳐를 제시하여 소프트웨어 관련 프로젝트에 종사하는 사람들을 수령에 빠뜨리며, 결국 관련된 모든 사람들이 "죽음의 행진(Death March)"을 하게 만듭니다.

아울러 분명히 코더나 프로그래머들은 36시간 연속 코딩을하면서 죽어라고 고생하였음에도 불구하고, 고객(혹은 사용자)에게 혹평을 받는 소프트웨어를 만들어 냅니다.

우리나라에는 수 없이 많은 화성이 아키텍트들이 존재합니다. 물론 이분들의 노력이 헛되었다는 것은 아닙니다. 하지만 올바르지 못한 사상을 가진 아키텍트가 만들어내는 결과는 너무나도 끔찍합니다.

그래서 전 소프트웨어 아키텍트는 정말로 올바른 사상을 바탕으로 소프트웨어를 올바르게 설계 및 구현될 수 있도록 모든 과정을 책임질 수 있는 사람이라고 정의하고 싶습니다.

특히 올바른 사상이 없거나 자신의 결과에 대한 당당한 책임을 지지 않는 소프트웨어 아키텍트는 화성인이라고 부르고 싶습니다.

화성인 아키텍트에 관한 자세한 내용은 조엘 온 소프트웨어란 책을 참고하세요~

 

마지막으로 구루(Guru)란 무엇일까요?

마지막으로 우리가 존경에 마지않는 구루(Guru)는 소프트웨어 아키텍트의 사상과 책임은 물론 자신의 믿음을 행동으로 실천하는 깨어있는 사람을 의미합니다.

여기서 코더나 프로그래머나 소프트웨어 아키텍트와는 다른 기준이 적용됩니다. 바로 믿음을 실천하는 것입니다.

원래 구루라는 용어는 인도에서 유래된 용어입니다. 구루는 힌두교에서는 랍비와 비슷한 의미이며, 자신의 믿음을 실천하고 이를 널리 알리어 진실한 깨달음으로 이르게 하는 사람을 의미합니다.

공통적으로 인도에서 사용하는 구루의 의미는 위와 같지만, 인도내 여러 종교마다 약간씩 구루의 의미가 다릅니다.

대체로 소프트웨어 업계에서 구루라는 의미는 해당 소프트웨어 분야에 많은 지식과 경험을 가지고 있는 사람을 의미하지만, 진정한 구루는 지식과 경험을 바탕으로 자신의 사상을 실천하는 사람이라고 생각합니다.

소프트웨어 업계에서 가장 많이 알려져있는 대표적인 구루가 리처드 스톨만(Richard Stallman)인데, GNU 운동을 실천하여 오픈소스 진영에 지대한 사상적인 영향을 미쳤으며, 소프트웨어를 모두 함께 나눌 수 있는 사상을 제공하고 실천하는 사람입니다.

이렇게 구루는 단순히 많은 지식과 경험을 가지고 있는 사람이 아니라 자신의 사상을 실천하는 사람이 진정한 그루라고 생각합니다.

 

이렇게 소프트웨어 분야에서 대표적인 직종에 대한 나름대로의 구분점을 정리하였습니다.

생각하기에 따라서 여러분들도 각기 다른 정의를 하실 수 있습니다만, 사상의 크기와 이를 얼마나 실천할 수 있고 책임질 수 있는가에 따라 구분하는 것이 가장 명확한 구분요소라고 생각합니다.

끝까지 읽어주셔서 감사합니다. ;-)

[참고]http://blog.java2game.com/213?srchid=BR1http%3A%2F%2Fblog.java2game.com%2F213

2009. 1. 14. 10:59

애플리케이션 성능관리(APM) 시장 현황과 전망

애플리케이션 성능관리 시장 현황과 전망

                           하이테크정보 2007년 12월 송년호 Market Center 란에 이원영대표의 기고글


애플리케이션성능관리(APM) 솔루션 등장배경
 90년대 후반, 인터넷의 급속한 보급과 더불어, 기업환경은 기존의 클라이언트/서버(C/S) 시스템으로부터 보다 유연하고 사용자의 접근성을 향상하기 위해 웹 기반 시스템으로 급격히 전환 되어왔다. 웹기반 운영 환경의 핵심적인 미들웨어로 자리잡은 웹어플리케이션서버(WAS) 시장은 1998년도부터 2003년까지 매년 초고속 성장을 하여 국내 500억원 시장을 형성하였고, 자바(JavaTM)언어가 기존의 4세대(4GL)언어를 지속적으로 대체하면서 현재 상당수의 기업 소프트웨어 인프라 환경은 J2EETM 기반으로 운영되고 있다.
 이러한 J2EE/WAS 시장의 성장은 그 성장 속도가 지나칠 만큼 빨랐고, 4GL언어에 익숙한 선배 개발자와 그 이후 자바 언어 세대인 후배 개발자들 사이에는 상당한 기술적 단절이 일어나는 과정에서 지난 수 십년 동안 이어져 내려오던 메인프레임과 클라이언트/서버 환경에서의 안정적인 시스템 운영방침이나 탄탄한 소프트웨어 개발을 위한 개발 지침 등이 제대로 전수되지 못했다. 프로젝트가 진행됨에 따라 개발이 끝나고 서비스 오픈이 임박한 상황에서도 성능적인 차원에서 정상적인 운영이 가능할 지가 기술적으로 예측 불가능하게 됐고, 용량산정 또한 적절히 검증할 수 있는 절차나 방법을 찾아내지 못했다. 특히나, 시스템 관점에서의 자원사용량은 충분한데도 불구하고 사용자가 증가함에 따라 서비스 응답시간이 지연될 경우, 애플리케이션 내부에서 일어나는 일련의 서비스 과정을 세밀하게 모니터링하지 않으면 근본적인 해결책을 찾을 수 없는 상황이 발생하곤 했다. 산업표준 없이 개발된 각양 각색의 소프트웨어 프레임워크(Framework)와 이를 기반으로 구현된 소프트웨어 시스템은 2000년 IMF 이후 양산된 기술인력 공급업체들로부터 상대적으로 경험이 풍부하지 않은 개발자에 의해 개발돼 왔고, 박복한 예산과 납기일에 쫓겨 제대로 된 성능테스팅 과정조차 거치지 않은 채 시스템 오픈이 감행됐으며, 그러한 시스템은 여지없이 시스템 오픈 첫 날 성능장애로 이어졌다. 그리고 그 후속 처리는 시스템 담당자의 몫으로, 개발업체의 몫으로, WAS 제품 납품업체의 몫으로 돌아갔지만, 실상 최대의 피해자는 직접적인 성능 장애로 인해 대외적 이미지 손상과 금전적 손실을 맞이한 그 시스템의 주인인 고객이었다. 이런 과정은 애플리케이션성능관리(APM, Application Performance Management)라는 솔루션이 탄생한 배경이 됐다.
[그림1] WAS시장과 APM시장

웹로그분석 솔루션
 초기 애플리케이션성능관리(APM)라는 개념은 지금과는 사뭇 달랐다. 1998년부터 2001년까지는 초기 웹시스템의 태동과 더불어 웹서버의 로그(log)파일을 분석하여 응답시간을 추출하는 웹로그 분석툴이 우후죽순 격으로 생겨났다. 웹로그 파일로부터 사용자의 정보 및 요청한 서비스명, 서비스처리시간 등을 확인함으로써, 어떤 서비스에서 응답지연이 일어나고 있는지를 판별해 내고, 접속되는 사용자의 규모와 지리적 위치를 파악하는 데에 활용할 수 있었다. 그러나, 웹로그분석 솔루션은 단지 웹로그 파일 기반으로 추출한 정보이기에 특정 서비스가 느리다는 것은 일정부분 확인할 수 있었지만, 성능저하 현상을 개선하기 위해서 어떻게 해야하는가하는 근본적인 서비스 지연현상의 원인을 제공하진 못했고, 결국 시간이 지남에 따라 점차 고객의 실무자로부터 외면되었다. 마지막까지 시장에 남아 있던 웹로그분석 솔루션들은 새로운 시장 돌파구를 찾기 위해 점차 고객관계관리(CRM) 솔루션으로 변화해 갔으며, 현재는 성능관리솔루션으로서의 웹로그분석 솔루션은 시장에서 찾아보기 힘들다.

네트워크기반 가용성측정 솔루션
 2000년 초반, 최초로 애플리케이션성능관리(APM)라는 용어로 시장에 새롭게 등장한 솔루션 군이 있었다. 네크워크 패킷을 분석하거나 혹은 특정 네트워크 망에 임의로 설치되어 선택적으로 지정된 애플리케이션을 주기적으로 호출하여 그 응답시간을 측정하고 24시간 시스템 가용성 및 사용자 응답시간의 변화, 네트워크 구간별 서비스시간을 측정해 주는 솔루션이 그것이었다. 외산 솔루션 뿐만 아니라, 국산 솔루션들도 대거 시장에 등장했다. 앞서 웹로그분석 솔루션보다 한차원 높은 서비스 모니터링이 가능하게 되었고, 단일 트렌젝션 내에서의 네트워크 구간별 응답 지연 현상을 찾아낼 수 있게 되었다. 그러나, 이러한 솔루션들은 실제 서비스가 운영되는 시스템 내부적 현상을 모니터링 하는 것이 아니라, 여전히 외부에서 바라볼 수 있는 정보만 제공해 주었기에, 애플리케이션 내부에서 일어나는 서비스 병목 원인은 찾아주진 못했다. 결국, 네트워크기반 가용성 검증 솔루션들은 어느 정도 시장에서 반향은 일으켰으나 성능관리시장에서 중심을 이루기엔 한계가 있었다.

프로파일링 솔루션의 등장
 그 다음으로 대두된 솔루션은 프로파일링(Profiling) 솔루션이었다. 프로파일링이란 개념은 자바가상머신(JVM)의 내부 수행 내역을 클래스/메소드별로 응답시간, 메모리, CPU사용량을 보다 상세하게 추적하여 통계적인 결과를 트리(Tree)구조로 보여주는 것이다. 볼랜드(Borland)사의 옵티마이즈잇(OptimizeIt), 케이엘그룹(KL Group)의 프리웨어(Freeware) 제품인 제이프로브(JProbe)가 대표적이었다. 제이프로브(JProbe)는 상용소프트웨어로 치부되기엔 부족한 면이 있었으나, 광범위하게 개발자들 사이에서 사용되었고, 결국 2002년말 퀘스트소프트웨어(Quest Software)사에 5천만달러($51.7M)에 인수되었다. 그러나 그 시기 가장 앞선 기법과 기술을 가진 솔루션은 단연 볼랜드사의 옵티마이즈잇(OptimizeIt) 이었다. 이 시기부터 볼랜드사는 기존의 컴파일러 기술과 4GL제품인 델파이, 비지브로커(VisiBroker) 코바(CORBA), 웹어플리케이션서버 시장을 뒤로한 채 또다시 인수한 투게더소프트 모델링시장과 애플리케이션라이프사이클관리(Application Lifecycle Management)를 근간으로 한 성능관리분야에도 진출하기 시작했다. 그러나, 이러한 프로파일링 솔루션은 결정적인 단점을 안고 있었다. 상세한 프로파일링을 위해서는 JVMPI(Java Virtual Machine Profiler Interface) 기술을 이용하는데, 이는 성능저하가 극심했다. 개발서버에 적용하여 애플리케이션 튜닝에는 활용할 수 있었으나 부하량이 높은 실제 서비스 운영환경에서는 극심한 성능저하로 인해 사실상 적용할 수 없었다. 개발자로부터는 호평을 받았지만 시스템 운영 실무자에게는 별다른 감흥을 주지 못했다. 결국 이러한 솔루션은 일부 명맥은 현재까지 남아 있으나 지금은 이미 APM시장의 중심부에서 저만치 멀어져 있다.

애플리케이션성능관리(APM) 솔루션의 자리매김
 2002년 말부터 현재 통용되는 APM이라는 용어가 자리매김하면서 2003년도부터 본격적인 변화가 일어났다. 스토리지 전문업체이던 베리타스(VERITAS)사가 프리사이스사를 인수하면서 APM시장을 공략하기 시작했고, 조직과 인력을 강화했다. 그 제품이 현재의 시만텍 아이쓰리(i3, 구 베리타스i3) 제품의 모태이다. 또한, 머큐리인터액티브사는 전세계 독보적인 성능테스트솔루션 로드런너(LoadRunner) 제품의 성공과 함께 시스템 및 애플리케이션 관리솔루션인 토파즈(Topaz) 제품도 APM 범주로 취급하기 시작하였고, 컴퓨웨어(Compuware)사 또한 분산 애플리케이션 트레픽 및 응답속도 측정이 가능한 밴티지(Vantage) 솔루션을 기업은행에 공급하는 등 국내 APM시장은 새로운 활기를 띠기 시작했다. 그러나, 이 시기에 가장 주목해야할 제품은 미국 켈리포니아 브리즈번에 위치한 와일리테크놀러지(Wily Technology)사의 와일리(Wily)라는 솔루션이었다. 한국의 펜타시스템테크놀러지사가 독점총판을 하였고, SK텔레콤, KT, 현대홈쇼핑, 국민은행, 신한생명, 동부생명, 우리은행, 삼성화재, 외환은행, 증권예탁원 등 한국 APM시장은 와일리의 독주로 이어졌다. 와일리테크놀러지사의 디크 윌리엄스 사장은 “한국시장은 웹기반 업무시스템이 급격히 성장하면서 시장잠재력이 매우 높은 지역”이라며, 매년 두배 이상의 신장을 기대했다고 전해진다.
 이러한 APM시장은 2004년 중반까지 지속적으로 심화되어 갔다. 한국베리타스는 현대백화점에 자사의 베리타스 아이쓰리(i3) 솔루션을 공급하면서 와일리에 대한 윈백전략을 시도하였다. 국내업체인 아이피엠에스(iPMS)사는 데이터베이스 모니터링솔루션인 디비와인(DB WINE)과 함께 웹기반 APM솔루션인 웹와인(WEB WINE)을 개발하여 시장진출을 준비하고 있었다.

APM시장의 외면
 그런데, 2004년 중후반부터 국내 APM시장은 또 다시 고객으로부터 외면받기 시작했다. 그때 당시 시장점유률이 가장 높았던 와일리 제품은 고객 시스템의 응용애플리케이션 복잡도가 높아진 상황에서 다양한 형태로 발생하는 성능장애의 실질적인 원인을 분석하고, 즉시적인 실시간 서비스 모니터링을 요구하는 까탈스런 국내 고객의 요구사항을 모두 해결해 줄 수는 없었다. 웹애플리케이션서버가 일정 부분 이미 제공하는 WAS모니터링항목을 좀더 쉽게 단일의 통합화면으로 구성하여 일괄적으로 모니터링 할 수 있다는 것과 응답이 느린 트렌젝션에 대해 메소드(Method) 구간별 점유시간을 보여주는 등 여러 장점에도 불구하고 실질적인 도입효과에 대한 고객의 반응은 그다지 긍정적이지는 않았다. WAS운영 실무자는 다양한 형태로 나타나는 성능장애의 직접적인 원인 분석 등 보다 실질적인 결과를 요구했고, 개발자는 애플리케이션코드의 오류를 자동으로 검출해 주길 바랬으며, 관리자는 일일방문자수, 동시단말사용자수, 서비스 애플리케이션별 부하량 통계 등 서비스관점의 통계성 집계를 원했다. 기존에 도입되었던 상당수 고객사의 APM솔루션은 점차 실무자의 관심에서 벗어나 형식적인 모니터링 관제 PC의 화면으로만 남아있었다. WAS기반 시스템의 심각한 성능장애가 발생하여도 이 때까지의 APM솔루션은 그 역할을 핵심적으로 해 내고 있지 못했던 것이다.

시만텍 아이쓰리(i3)
 국내APM시장에서 2005년은 격동의 해였다. 한국베리타스사는 베리타스 아이쓰리(i3) 영업강화를 위해 국내업체인 케이와이즈(KWISE)와 총판계약을 맺었다. 베리타스 아이쓰리(i3)는 웹서버, WAS서버, DB서버 등 다계층 아키텍쳐 상에서 유기적인 추적 모니터링이 가능하다는 End-to-End 모니터링 전략을 매우 큰 장점으로 갖고 있다. 그러나 결정적으로 국내 고객들이 선호하는 실시간 서비스 모니터링의 관점을 전혀 갖고 있지 않아 국내시장 확대에 어려움을 겪고 있었다. 이에 대한 대안으로 협력업체인 케이와이즈는 베리타스 아이쓰리(i3)와 연동되는 실시간 모니터링 모듈인 알티엠(RTM) 모듈을 개발하여 아이쓰리(i3) 제품과 함께 공급하기 시작했다. 연이어 7월경, 보안전문업체이던 시만텍(Symantec)사가 전격적으로 베리타스 본사를 103억달러에 인수함에 따라 베리타스 아이쓰리(i3)는 시만텍 아이쓰리(i3)로 개명됐다. 케이와이즈와 함께 농협중앙회에 i3와 RTM을 함께 공급하면서, 현재까지 CJ홈쇼핑, 삼성물산, 신한은행, 싸이버로지텍, 하이닉스반도체, 국세청, 한국철도공사, 재경부, 학술진흥재단 등 꾸준히 APM시장을 점유해 나가고 있다.

자바서비스컨설팅 제니퍼(Jennifer)
 2005년도부터 가장 주목받았던 APM솔루션은 자바서비스컨설팅의 제니퍼(Jennifer)였다. 실시간 통합 서비스 모니터링 기능과 성능장애 원인분석 부분에서 타사 솔루션에 비해 실질적인 도입효과와 제품활용도가 높다는 시장의 반응이 나왔다. 무엇보다 외면받았던 국내 APM솔루션 시장을 다시금 “APM”이라는 단어로 집결시키는데에 제니퍼가 실질적인 견인차 역할을 했다는 데에 이견을 제시할 업체는 없을 것이다. 고객의 개발자와 실무자로부터 실질적인 도입효과를 끌어냄으로써, 2005년 17고객사, 2006년 10월 말 현재까지 62개 고객사에 납품하여 총 79고객사를 확보하였다. (2007년 3월30일 현재 제니퍼 누적고객사수 100여군데로 증가됨.)
[그림2] 제니퍼 고객사

 국민은행, 기업은행, 한국은행, 산업은행, 전북은행, 기업데이타 등 굵직한 제1금융권과 LG카드, BC카드, 철도청, 제일화재, 동부화재, 효성캐피탈, 대우증권, 현대해상, 푸르덴셜, 메트라이프, 효성캐피탈, 에이스화재 등 제2금융권, 그리고, SK텔레콤, GS홈쇼핑, 인터파크, CJ홈쇼핑/엠플온라인, 특허청, 통계청, 철도청, 병무청, 산업자원부, 마사회, SK엔카, 나라신용정보, KT&G 등 쇼핑몰/제조/통신/공공 전 산업 분야에 걸쳐 제니퍼가 납품되어 자바서비스컨설팅의 금년시장 매출은 38억원이 예상되고 있다. 특히 국민은행, 기업은행 등 타 APM솔루션을 사용해 오고 있는 상황에서 제니퍼를 추가로 도입한 고객도 있다는 것은 남다른 의미를 부여하고 있다.

APM솔루션 도입 효과
 APM솔루션을 도입하면 서비스 다운타임을 최소화하고 지속적인 성능모니터링을 통해 장애대응능력을 확보하게 된다. 또한 정량화된 성능 근거자료를 통해 향후 시스템 증설시 보다 정확한 용량산정을 기반으로 총소유비용(TCO)를 낮출 수 있다. 또한 IT서비스 전체적인 실시간 통합 관제센터를 구축할 수 있으며, 시스템 자원뿐만 아니라 비즈니스데이타 또한 비주얼 모니터링이 가능하다. 안정적인 시스템 운영과 즉시적인 의사결정의 근거로 사용되어 궁극적으로 대 고객 서비스 만족도를 향상시키게 된다.
 국내 APM시장은 이미 도입을 위한 검토/검증단계는 지났다. 충분한 레퍼런스가 확보됐고, 먼저 적용한 고객으로부터 가시적인 도입효과를 얻었기 때문이다.

 
[그림3] APM솔루션 도입효과

 
[그림4] 제니퍼 통합 모니터링 기본화면

 
[그림5] 통합대시보드 구성화면 예제

 
[그림6] 통합대시보드 예제/시스템모니터링

IT관리시장과 APM시장의 융합
 IT인프라환경이 더 이상 기반시설로서의 역할이 아닌 회사의 생존 및 매출과 직결되는 현재의 상황에서, IT환경을 얼마나 효율화하고 최적화시킬 것인가의 문제는 오늘 날 IT기업의 최대 화두로 알려져 있다. 기업 내부의 IT프로세스 혁신을 통해 비즈니스현황을 실시간 모니터링함으로써 보다 빠른 의사결정을 내리는 실시간기업환경(RTE)으로의 체질 개선이 중요하기에, ITSM(IT서비스관리, IT Service Management)의 방향성은 틀리지 않으며 지속적으로 진화될 것으로 예상된다. 또한 ITSM 전체 개념 중 핵심적인 요소인 실질적인 애플리케이션 내부의 비즈니스 서비스를 실시간 모니터링해야 하는 요구사항이 발생하게 되었고, ITSM업체는 APM솔루션업체를 끌어 안을 수 밖에 없었다. 2006년, IT관리솔루션 업체의 APM시장 흡수는 예정대로 급속히 일어났다. 하드웨어, 소프트웨어, 메인프레임 환경에서의 애플리케이션 및 IT자산관리 전문업체인 CA사는 와일리사를 3억7천5백만달러에 인수했다. HP사는 로드런너/토파즈 제품을 보유하고 있는 머큐리인터액티브사를 45억달러에 인수했다. 기존 HP의 오픈뷰(OpenView) 시스템관리솔루션에 머큐리인터액티브의 소프트웨어관리솔루션을 결합하여 시너지를 창출할 수 있을 것으로 보이며, 무엇보다 이러한 움직임은 최근 IT업계에서 화두가 되고 있는 ITSM 시장의 조기선점을 획득하려는 것으로 보인다. 현재 ITSM시장은 시스템관리솔루션(SMS) 업체를 중심으로 점차 확대 재생산되고 있다. 다만, ITSM시장은 아직은 개념도입단계에 머물러 있기에 구체적인 실체가 존재하고 있지는 않다. 따라서, 조심스럽게 향후 ITSM시장의 변화를 예의주시해 볼 필요가 있다.

뒤틀린 AMS시장
 일각에서는 APM솔루션 도입만으로는 자사의 다양한 애플리케이션관리를 하기엔 부족하다하여 애플리케이션관리시스템(AMS) 프로젝트를 시스템통합(SI)을 통해 인력을 투입하여 개발하는 경향이 있다. 단기적으로는 적절한 솔루션이 없거나, 있더라도 구미에 맞는 모든 관리 기능을 제공하지 않을 터이니 직접 개발하여 운영하자는 것이다. 그러나, 막대한 돈을 들여 개발해 둔 SI성 AMS시스템에 대한 활용도가 결과적으로 다소 저조한 것으로 알려져 적잖은 우려의 목소리가 나오고 있다. 시스템의 운영환경은 지속적으로 변화하고, 변경/추가되는 애플리케이션 및 시스템에 종속적이지 않으면서 손쉬운 설정만으로 유연하게 변화에 대응할 수 있는 IT통합서비스관제인프라 기능을 제공해 주는 적절한 솔루션을 통한 해결이 궁극적으로 바람직할 것으로 예상된다. 그러한 관점에서, IT대시보드 프로젝트, AMS프로젝트를 가이드하고 수행하는 바람직한 형태의 AMS컨설팅 시장의 안정화가 매우 필요한 시점이라 할 수 있다.

2007년 국내 APM시장 전망
 자바서비스컨설팅의 제니퍼, 시만텍사의 아이쓰리(i3), CA사의 와일리, 컴퓨웨어사의 밴티지, 아이피엠에스사의 퍼포마이져(구 웹와인), EDS코리아의 파인웹, 퀘스트소프트웨어(Quest Software)사의 제이브로브(JProbe)와 최근 출시한 퍼포마슈어(PerformaSure) 등이 2006년 국내시장에서 거론되고 판매된 APM솔루션이다. 단일 APM제품만을 놓고 보았을 때 금년 38억원 시장매출과 총 79고객사를 확보한 자바서비스컨설팅의 독주현상이 일어났고, 그 뒤를 이어 시만텍 아이쓰리(i3)가 선전한 한해였다. 이러한 구도는 2007년에도 더욱 고착화 될 것으로 전망되며, 금년 60-80억 시장에서 80-100억시장으로 성장이 예상된다.
 초기 APM시장 선도주자였던 CA사의 와일리는 최근 외환은행 수주에 성공하는 등 여전히 선전하고 있으나 제니퍼의 시장 영향력으로 일정부분 주춤하고 있는 형국이다. 그러나 장기적으로 CA사에 인수된 와일리는 전세계 시장에서는 기존보다 강화된 영향력을 행사할 수 있을 것으로 예상되지만, 국내의 경우는 한국CA사와 펜타시스템테크놀러지사의 전략적 역할 분담에 따라 방향성이 달라 질 수 있겠다. 한국CA사로서는 자사가 보유한 2,000여개의 솔루션 중 하나로 인식될 가능성이 높아 시장 확산 의지가 약화될 가능성이 높고, 결국 펜타시스템케크놀러지사의 와일리 국내 독점 총판 계약의 지속성 여부에 따라 방향성이 결정될 것으로 보인다.
 컴퓨웨어사의 밴티지는 운영되는 서버측의 애플리케이션 내부 흐름을 추적하는 것이 아니라, 사용자 측의 PC에 설치되어 최종사용자의 네트워크 응답시간을 측정해 주는 기법을 이용하는 것으로, 일정 부분 시장에서 지속될 것으로 보인다. 컴퓨웨어사는 실제 운영되는 시스템에는 별도의 모듈을 설치할 필요가 없다는 에이전트레스(agent-less) 방식을 마케팅의 전면에 내세워 기술적 장점으로 주장한다. 그러나, 에이전트레스 방식은 실제 애플리케이션 서비스가 동작하는 서버 내부의 흐름을 모니터링할 수 없기에 성능저하의 원인을 보다 현실적으로 제공하지 못한다는 단점을 가지고 있기도 하다. 어쨌든, 이러한 최종사용자 응답측정 방식의 솔루션은 현재 형성된 APM제품군에서 이미 한발짝 비껴선 형국으로 평가된다.
 볼랜드사의 옵티마이즈잇은 2006년도에 제품라인업을 중단하고 소스코드를 한국 회사인 오오씨(OOC)사에 팔았으며, 새로운 변모를 시도하지 않는 한 단기적으로 APM시장의 중심부로 다시 진입하긴 어려울 것으로 전망된다. 개발단계에서부터 운영단계까지 전체적인 애플리케이션라이프사이클관리에 대한 매력적인 마케팅 시도만큼이나 그에 따른 탄탄한 제품군을 재생산하는 것이 가장 시급할 것으로 인식된다.
 아이피엠에스사의 퍼포마이져나 EDS코리아의 파인웹은 일정 부분 공공시장에서 선전할 것으로 기대되나, 제1금융권을 중심으로 한 미션크리티컬한 업무시스템에 광범위한 사용이 일어나기엔 현재의 APM시장구도에서 어렵지 않겠느냐는 전망이 우세하다.
 퀘스트소프트웨어사의 퍼포마슈어(PerformaSure) 역시 한국시장에서 아직은 인지도가 낮지만 어떻게 영업전략 및 마케팅을 구사하고 영업채널망을 탄탄하게 확보하느냐에 따라 향방은 충분히 달라질 수 있을 것으로 판단된다.
 티맥스소프트사의 시스마스터(SysMaster)는 아직까지는 본 글에서 거론하고 있는 APM제품군으로 분류하기에는 한계가 있다. 자사 WAS 솔루션인 제우스(JEUS) 통합콘솔 및 서비스제어 기능, 무엇보다 자사솔루션인 TP모니터 티맥스(Tmax) 및 차세대 프레임워크인 프로프레임(ProFrame) 기반 시스템의 통합서비스관리콘솔로의 면모를 갖추고 있으며, 시스마스터는 아직 웹로직(WebLogic), 웹스피어(WebSphere)등 타사 WAS솔루션에 탑재되지 않는 것으로 알려져 있다.

APM시장, 틈새시장의 탈피
 APM시장은 2년을 주기로 변화해 왔다. 지난 2년은 투명하게 예상되는 성장 과정의 시기였다면, 앞으로의 2년은 상대적으로 예측 불가능하다. 핵심적인 APM솔루션 업체들은 대부분 더 큰 IT기업에 인수합병되었고, ITSM이라는 새로운 개념의 대두와 시스템관리솔루션(SMS) 시장까지 APM시장과 융화되고 있기 때문이다. 한국에서의 지난 2년의 APM시장이 틈새시장이었다면 앞으로의 2년은 더 이상 틈새시장이 아닌 굵직한 하나의 획을 긋는 100억원 규모의 핵심시장으로 전장터의 위치가 바뀌어 갈 것이다. 국내 WAS시장이 450억-500억시장인 점을 감안하면, 이는 설득력이 더욱 있어 보인다.

APM시장, 무엇을 준비할 것인가
 사전영업시 필요한 문서상의 요건맞추기에 급급하지 말아야 할 것이다. 2년 정도의 시간이 흐르면 충분한 고려를 통해 도출되지 않은 요식적 기능요건은 자연스럽게 시장에서 정화되어 사라진다. 진정 필요한 기능이 무엇인지, 어떻게 모니터링하고 어떻게 분석하는 것이 가장 효율적인 것인가를 고민하고, 다소 그것이 시장에서의 통상적인 관점에서 어색할지언정 시일이 지나면 그 진가는 반드시 인정된다. 자바서비스컨설팅의 제니퍼가 나름대로 빠른 시간내에 성장할 수 있었던 비결이 있었다면, 그것은 과거 실전적인 엔터프라이즈 환경에서의 성능진단 경험을 바탕으로 한 시기적 틈새의 경쟁력이었을 것이다. 시장의 흐름에 부응하되, 기술적 깊이와 통찰력을 놓쳐서는 안된다.

 경쟁력있는 솔루션으로 괄목할 만한 성장을 이룬 기업이 시장의 요구와 경쟁사 솔루션의 스펙작업에 부응하여 추가적인 잡다한 기능을 넣으면서, 솔루션이 점차 무거워지고 초기 솔루션 자체의 정체성을 잃어버림으로써 결국 망해갔다. 이를 타산지석으로 삼아 시장의 변화를 주시하되 진정 필요한 것이 무엇인가를 끊임없이 고민하여 핵심기능을 효과적인 기법으로 구현하고, 직관적이며, 경량화와 단순성을 잃지 않아야 한다.

 또한, 너무 영업에만 급급한 나머지 기구매 고객사에서 대한 기술지원과 시장에서의 목소리에 귀기울이는 것을 소홀히 해서는 안된다. 기구매 고객사의 기술지원을 그 무엇보다 최우선시 하는 기술지원정책의 수립과 과감한 투자가 필요하다.

꿈꾸는 자의 승리
 새로운 시장을 일구어 가는 것은 그 어떤 것보다 시대적 소명감을 요구한다. 고객을 담보로 한 무책임한 실험이어서는 안되기 때문이다. IT환경은 결국 인간을 위한 환경이다. 그렇기에 더욱 철저하고, 더욱 진실해야한다. 보다 더 바람직하고 효율적인 IT운영환경을 만들기 위해 우리는 또다시 먼 미래로의 꿈을 꾼다. 승리는 늘 꿈꾸는 자의 것이었다.

2009. 1. 5. 15:35

[소프트웨어공학]소프트웨어 품질의 특성

소프트웨어는 외적인 품질 특성과 내적인 품질 특성을 모두 갖고 있다. 외적인 특성들은 소프트웨어 제품의 사용자가 느끼는 다음과 같은 특성들이다.


* 정확성(correctness): 시스템의 사양과 설계, 구현에 있어서 오류가 없는 정도

* 유용성(usability): 사용자가 시스템을 배우고 사용하는 데 있어서의 용이함

* 효율성(efficiency): 메모리와 실행 시간 같은 시스템 리소스의 최소 사용

* 신뢰성(reliability): 정해진 상황에서 언제든지 필요한 기능을 수행할 수 있는 시스템의 능력 - 고장 사이의 시간

* 무결성(integrity): 시스템이 프로그램이나 데이터에 대한 허용되지 않거나 잘못된 접근을 막는 정도. 무결성의 기본 개념에는 데이터의 적절한 접근을 보장할 뿐만 아니라 권한이 없는 사용자의 접근 제한 기능이 포한된다. 즉, 병렬 데이터를 갖는 데이블은 병렬로 변경되고 날짜 필드는 타당한 날짜만을 포함하는 식이다.

* 적응성(adaptablility): 시스템을 변경하지 않고 설계된 환경에서 뿐만 아니라 다른 응용 분야나 환경에서도 사용될 수 있는 정도

* 정밀성(accuracy): 구성된 시스템에 오류가 없는 정도. 특히 대량의 데이터를 고려한다. 정밀성은 정확성과 다르다. 정밀성은 시스템이 정확하게 구성되었는지가 아닌 시스템이 용도대로 얼마나 잘 수행하는지를 결정한다.

* 견고성(robustness): 시스템이 잘못된 입력이나 악조건에서도 기능을 계속해서 수행할 수 있는 정도

 

몇몇 특성들은 그 의미가 겹치기도 하지만 모든 특성들은 어떤 상황에서 다른 특성들에 비해 더 잘 적용되거나 적용되지 않는 식의 차이점을 갖는다.

 

품질의 외적인 특성들은 사용자가 관심을 갖는 유일한 소프트웨어 특성이다. 사용자들은 소프트웨어를 변경하기 쉬운지가 아니라 소프트웨어가 사용하기 쉬운지에 관심을 갖는다. 그리고 코드가 읽기 쉬운지나 구조가 좋은지가 아니라 정확하게 작동하는지에 관심을 갖는다.

 

프로그래머는 외적인 특성뿐만 아니라 내적인 특성들에도 관심을 갖는다. 다음은 프로그램의 내적인 특성들이다.

 

* 유지 보수성(maintainability): 소프트웨어 시스템의 기능을 변경하거나 기능을 추가하거나 성능을 향상시커거나 결함을 수정하기 위해서 시스템을 변경할 때의 편의성

* 유연성(flexibility): 시스템이 설계된 환경이 아닌 다른 목적이나 환경으로 변경할 수 있는 정도

* 이식성(portability): 시스템이 설계된 환경이 아닌 다른 환경에서 작동할 수 있도록 시스템을 변경할 때의 편의성

* 재사용성(reusability): 시스템의 일부분을 다른 시스템에서 사용할 수 있는 정도나 편의성

* 가독성(readability): 시스템의 소스 코드를 상세한 명령문 수준에서 읽고 이해할 때의 편의성

* 테스트 용이성(testability): 시스템을 단위 테스트하거나 시스템 테스트를 할 수 있는 정도. 시스템이 요구 사항들을 충족할 수 있는지 검증할 수 있는지에 대한 정도

* 이해성(understandability): 시스템의 구성과 코드 수준에서 시스템을 이해할 때의 편의성. 이해성은 가독성보다 더 일반적인 수준에서 시스템의 일관성(coherence)과 관련되어 있다.

 

- 출처: CODE COMPLETE 2nd edition page 646 ~ 648

2008. 12. 8. 11:29

Marshalling, UnMarshalling 이란?

Structure -> Message 로 변경하는 작업을 Marshalling 이라 함.
Message -> Structure 로 변경하는 작업을 UnMarshalling 이라 함.
2008. 11. 25. 17:06

소프트웨어 온디멘드(On-Demand) 란?

소프트웨어 온디멘드는 인터넷을 통해 다수의 고객에게 제공하기 위해 개발된 소프트웨어, 솔루션, 고객 지원 서비스 등으로 정의 될 수 있으며, 소프트웨어 온디멘드 제공업체는 일반적으로 웹서비스 아키텍처를 기반으로 고객들에게 동일한 솔루션 인프라를 제공한다. 다음은 소프트웨어 온디멘드의 특징을 정의한 것이다.

  • Software: 소프트웨어 제품은 네트워크를 통한 제공을 위해 개발되어지며, 고객 내부에 직접 도입 되지 않는다. 특정 몇몇 온디멘드 벤더들은 오프라인 모듈을 핵심 온라인 솔루션을 보완하기 위해 제공하기도 한다.
  • Pricing: 소프트웨어 라이선스와 호스팅 관련 소프트웨어 벤더 매출은 하나의 정기적인 매출 흐름으로 통합되며, 따라서 소프트웨어 라이선스와 호스팅 사용료는 분리될 수 없다. 또한 이러한 오퍼링과 관련하여 라이선스 비용의 선불 방식은 고객들에게 제공 되지 않는다.
  • Flexibility: 벤더가 제공하는 제한된 Configuration을 제외한 커스터마이제이션은 제공되지 않는다.
2008. 11. 25. 16:01

서비스로써의 소프트웨어란? (ASP vs SaaS vs. On Demand)

ASP(Appllication Service Provider), SaaS(Software as a Service), On Demand와 같은 용어들을 요즘 자주 접할 수가 있습니다. 소프트웨어를 사용자가 구매해서 사용하던 방식에서 소프트웨어의 사용권한을 얻고, 잘 관리되는 보안과 향상된 네트워크 인프라를 통해서 필요한 서비스만을 사용하는 개념과 시장이 활성화되었기 때문입니다.


ASP의 개념은 수 년 전에도 있었지만, 그다지 활성화되지 못했습니다. 그러나 최근에 구글, 아마존 등과 같은 사례를 통해서 웹2.0이 소개되기 시작했고, 새로운 패러다임으로서의 웹, 플랫폼으로서의 웹 개념이 주목을 받게 되었습니다. 이러한 시장환경 속에서 서비스로서의 소프트웨어라는 개념이 기존의 ASP와는 상업적 차별화가 필요했고, SaaS 및 On Demand 등으로 이름을 달리해서 불리고 있지만, 소프트웨어를 구매하지 않고, 서비스로서 사용한다는 개념은 별반 차이가 없습니다.


외국의 자료(가트너)이긴 하지만, SaaS로 서비스되는 신규 기업용 소프트웨어가 2005년에는 전체 시장의 5%였으나 2011년에는 25%로 증가할 것으로 전망하고 있고, 시장조사업체 IDC는 2009년에는 107억 달러가 될 것이라고 전망하고 있습니다.

정부에서도 2005년부터 ‘중소기업 정보화 사업’을 통해서 빌려쓰는 소프트웨어 시장을 지원하면서, 신규 서비스를 지속적으로 발굴하고, 솔루션을 제공해오고 있습니다.

공영 DBM에서도 데이콤과 함께 CRMKorea SaaS 사업을 추진하고 있고, 다양한 CRM 서비스(고객관리, 캠페인관리, 전략영업, 서비스관리 등)를 SaaS형태로 운영하고 있습니다.

(관련 사이트 : Http://www.crmkorea.co.kr 문의 : 이종옥 과장 02-3397-0234)


서비스로서 소프트웨어를 사용하는 것에는 다음과 같은 잇점이 있습니다.


1.  큰 비용으로 시스템을 도입하는 것이 아니라, 월 단위로 서비스 사용료를 내는 것이므로

  내부 IT Cost를 예측 가능한 비용으로 줄일 수 있다.

2.   Low Cost Of Entry, Short Setup time : 여러 서비스 항목 중에서 필요한 것만 선택해서

  서비스를 받으면 되므로 시스템 구축에 드는 시간이 불필요하고 구축에 따른 큰 비용이

  들지  않는다. 서비스 신청 즉시라도 사용할 수 있다.

3.   내부 IT 조직이 불필요 : 전문업체에 의해서 시스템이 관리되고, 최신의 서비스를 즉시

  사용할 수 있다. 내부 IT 조직의 유지 비용을 줄이고, IT Staff을 보다 전략적인 업무에

  재배치 할 수 있다.

4.   시스템 개발, 유지보수, 업그레이드의 이슈가 사라진다. (ASP/SaaS 업체에서 수행한다.)

5.   In House 개발에 들어갈 비용으로 더 많은 응용 프로그램을 경험할 수 있다.


성과를 중시하는 관점에서 보면 ASP/SaaS는 적은 비용으로 서비스를 시작할 수 있고, 성과가 뒷받침되지 않거나, 필요성이 사라지면 언제든지 서비스를 받지 않으면 되므로, 초기투자비용이 들지 않고, 함몰비용의 리스크가 적은 매력적인 서비스 입니다. 고객의 데이터를 외부 서비스 제공업체에 저장하는 것에서 오는 데이터 관리기회의 상실, 보안에 대한 우려 등은 ASP/SaaS사업이 풀어야 할 숙제이기도 하지만, 보안 기술의 발전과 IT기술의 발전으로 부정적인 요소들에 대한 보완 및 해결을 이루어나가고 있습니다.


   참고 사이트 : 공영 DBM CRM SaaS 서비스

 http://www.00db.co.kr

 http://www.crmkorea.co.kr

   

1)  무료체험을 신청하면, 사용법을 교육해 드리고 (1일 4시간) 30일 무료체험 계정을

    발급해드립니다.

2)  문의사항 : 이종옥 과장 (02-3397-0234)

2008. 11. 21. 17:58

SI, SM, ERP, EIP, EAI, CMMS, CRM, SCM, GW, KMS 란?

1. SI (System Integration)
시스템 구성 요소들을 순차적으로 결합하여 하나의 전체 시스템을 구축하는 과정으
로 일반적인 전산 시스템 개발을 말합니다. 요즘은 Java나 .net 등을 많이 이용
하지요.

2. SM (System Management)
이미 만들어진 시스템을 유지보수 하는 일을 말합니다. 프로그램 수정이나 신규
프로세스를 구현하고 데이터 관리등 많은 일을 하게 됩니다. 쉽게 말해서 일반적
인 회사 전산실에서 하는 업무입니다.

3. ERP (Enterprise Requirement Planning)
조직 전반의 관리를 할 수 있도록 만든 시스템 이구요. 그 발전 과정과 내용은
아래의 링크에서 확인 하십시오.
http://kin.naver.com/browse/db_detail.php?dir_id=10102&docid=458280

Any software system designed to support and automate the business processes
of medium and large businesses. This may include manufacturing, distribution,
personnel, project management, payroll, and financials.
ERP systems are accounting-oriented information systems for identifying and
planning the enterprise-wide resources needed to take, make, distribute, and
account for customer orders. ERP systems were originally extensions of MRP II
systems, but have since widened their scope. An ERP system also differs from
the typical MRP II system in technical requirements such as relational
database, use of object oriented programming language, computer aided
software engineering tools in development, client/server architecture, and
open system portability.

4. EIP (Enterprise Information Portal)
쉽게 생각해서 아침에 출근해서 PC 켜서 특정 홈페이지에 들어가면 우리 회사에
관련된 모든 프로세스 중에 나와 관련된 프로세스를 한눈에 파악할 수 있도록
만든 프로그램이라고 생각하시면 됩니다.
자세한 사항은 아래의 링크를 참조하세요.
http://kin.naver.com/browse/db_detail.php?dir_id=113&docid=1273

In today's competitive and ever-growing market, it takes more than just
having various applications in the right place. To carry business
successfully, the most essential and needed element is to bring multiple
resources of enterprises and people together making them responsible,
accountable and traceable. Enterprise information portals connect multiple
types of users with differentiated and personalized access to applications,
functions, and information depending on the relationship they have with the
enterprise.

5. EAI (Enterprise Application Integration)
보통의 회사에서 전산실을 가보면 여러가지 시스템들이 운영되는것을 쉽게 볼 수
있습니다. 회계 시스템, 생산 현장 관리, 홈페이지, 외부 조달 구매 등등 이런 시
스템 들을 서로 연결 시켜 주는 시스템이라고 생각하시면 됩니다.
가운데 EAI 라는걸 두고서 서로 연결하는거지요.
자세한 사항은 아래의 링크를 참조하세요
http://kin.naver.com/browse/db_detail.php?dir_id=113&docid=305907

The use of middleware to integrate the application programs, databases,
and legacy systems involved in an organisation's critical business processes.

6. CMMS (Cumputerized Maintenance Management System)
설비관리시스템의 진보된 형태로 생각하시면 됩니다. 단순히 설비효율관리나 자재
관리만 하는것이 아니라 설비에 관련되어 경영현황에서 파악해야될 모든 내용을
담고 있는 시스템이라고 생각하시면 됩니다.
자세한 사항은 아래의 링크를 참조하세요
http://www.emaintec.com/business/business_02_2.html

7. CRM (Customer Relationship Management)
고객들의 성향이나 우리 회사와의 관계등을 관리하여 향후에 잘 활용하고자 만든
시스템입니다. 쉬운 예로 우리가 홈쇼핑에서 물건을 사기 위해서 전화를 화면 콜
센터 담당자의 컴퓨터 모니터에 자동으로 전화건 사람의 과거 구매이력과 반품
이력등이 뜨게 되어 있습니다. 그렇게 해서 고객 대응도를 향상 시키고 충성도를
높일 수 있지요.
자세한 사항은 아래의 링크를 참조하세요
http://kin.naver.com/browse/db_detail.php?dir_id=408&docid=4853

Enterprise-wide software applications that allow companies to manage every
aspect of their relationship with a customer. The aim of these systems is to
assist in building lasting customer relationships - to turn customer
satisfaction into customer loyalty.

8. SCM (Supply Chain Management)
직역을 하자면 공급망관리 입니다. 즉, 회사의 구매와 판매에 관련된 모든 내용을
정리하고 그 연관관계를 정립하여 관리함으로서 최적의 공급망 조건을 산출해 내어
비용을 절감하고 고객 만족을 최대로 하기 위해서 만들어진 시스템입니다.
자세한 사항은 아래의 링크를 참조하세요
http://www.supply-chain.org/

The term supply chain refers to the entire network of companies that work
together to design, produce, deliver, and service products. In the past,
companies focused primarily on manufacturing and quality improvements within
their four walls; now their efforts extend beyond those walls to encompass
the entire supply chain.

9. GW (Groupware)
쉽게 생각해서 회사 게시판과 전자 결재등을 하는 시스템입니다.
즉, 특정 Group 내의 커뮤니케이션을 원할히 하는 시스템이라고 할 수 있습니다.
요즘은 Groupware에서 좀 더 진보시켜 KMS로 팔고 다니는걸로 알 고 있습니다.

Software tools and technology to support groups of people working together on
a project, often at different sites.

10. KMS (Knowledge Management System)
지식관리시스템이라고 불려저서 뭔가 어려운 것이라 생각됩니다만, 간단히 축약
하면 회사에서 만들어지 문서들을 체계적으로 잘 불류해서 정리 할 수 있도록
하는 시스템이라고 할 수 있습니다.
언제 어디서 뭘 할려고 하는데 전에는 어떻게 했는지... 어떤 문서가 있었는지를
찾을 수 있도록 하는것이지요.
기존에는 DM (Document Management)라는 이름으로 불리우다가 GW의 기능을 흡수하
고 몇가지 철학을 보태서 KMS라고 불리웁니다.
http://kin.naver.com/browse/db_detail.php?dir_id=409&docid=17063

A distributed hypermedia system for managing knowledge in organisations.
KMS is a commercial system from Knowledge Systems, Inc. running on
workstations, based on previous research with ZOG at Carnegie Mellon
University.


[출처]http://kin.naver.com/detail/detail.php?d1id=1&dir_id=101&eid=9UdSe8ztndNaoG5ICVXVrpzlvvsCMCef&pid=f6pEWsoi5T0ssZu%2BKhosss--409312&sid=SKpieaVhqkgAAF8QCGw
2008. 11. 13. 17:39

사진합성 사이트

사진합성 사이트
http://www.photofunia.com/


사용자 삽입 이미지
2008. 11. 12. 16:08

GoF란?

GoF란 Gang of Four 의 약자로서 문자 그대로 "4명의 갱단"이란 의미이며,

실제로는 중국 문화혁명때의 과격한 4명의 공산당원을 지칭하는 단어이다.

그것이 보통 명사화 되어 어떤 분야에서 혁명적이고 진보적인 업적 또는 파장을

일으킨 4명의 사람을 지칭하기도 한다.


  객체지향 세계에서 GoF란 1995년에 Addison-Wesley 에서 출간된 "Design

Patterns of Reusable Object-Oriented Software:란 책의 저자들을 의미한다.

4명의 저자들은 에릭감마( Erich Gamma ), 리챠드헬름( Richard Helm ),

랄프존슨( Ralph Johnson ), 존블리시드( John Vlissdes )등이며 모두 다

객체지향의 대부라고 할 수 있는 전문가 들이다.

그들은 패턴의 유용성을 소프트웨어 개발자들에게 급격히 전파한 혁명가들이다.


       <출전: 자바 디자인 패턴과 리팩토링 p268 >