j2ee‎ > ‎

Hot deploy for enterprise Java architecture without vendor specialized technology

posted Mar 27, 2011, 5:28 AM by Kuwon Kang   [ updated May 24, 2011, 10:48 PM ]
Main-Frame시대에서 hot deployment는 당연한 기술적 접근이었다. 

업무 수행중 버그가 발견되고 긴급히 patch해야하는 경우 cobol 소스를 바로 수정하여 운영계에 배포하면 운영중지 없지
즉시 반영되어 업무를 수행할 수 있었다.

그러나 Java에서는 이 Hot Deployment는 해결되어지지 않는 영원한 숙제처럼 여겨진다.

Web Application Server Vendor들이 나름대로의 기술적 안을 가지고 Hot Deployment를 지원한다고 하지만 실제 Enterprise에서 이를 사용하는 경우는 거의 존재하지 않는다.

설령 된다고 할 지라도 여러 기술적 한계와 다른 특성들과 결합될 때 운영상에 많은 문제점들이 발견되고 또한 Vendor자체가 제한하는 기술적 요소 발생한다.

따라서 hot deployment는 Java영역에서는 풀리지 않는 신비? 또는 넘을 수 없는 장벽? 된다고 정말 되는거야? 라고 의아해 하는 기술이 되어 버렸다.

그러나 방법이 없는 것은 아니다. 
운영중 무정지 상태로 긴급 반영 되어야 하는 업무 application을 JVM restart또는 Web Application Context Reload없이 지원할 수 있는 기술적 대안이 있다.

Hot deployment의 대안이 될 수 있는 이 기술에 대한 방법과 기술적 근거, 아키텍처를 살펴 보도록 하겠다.

발표자료는 아래 첨부 파일을 참조하세요.

About hot deployment
  • Hot deployment 정의
  • Hot deployment 란 무엇인가?
  • 사용자들은 왜 Hot deployment를 믿지 못하는가?
  • 일반적인 Hot deployment 문제들

Idea, idea, idea
  • 새로운 Hot deployment의 발상.
  • 전통적인 Hot deployment 기술구조
  • Idea 구현을 위한 Hot deployment 조건
  • Idea design concept
  • Bean Life Cycle (Bean factory)
  • Rich Internet Application
  • Abstract Value Object
Technical Architecture
  • Session Facade Pattern
  • Adapter
  • Service Broker
  • Class loader
  • J2ee class loader
  • Hot class loader
  • Hot context
  • Context version
  • Hot deploy manager
  • Version life cycle
  • Context remover
  • Object creation
  • JVM에서 일어나는 일들.
  • JVM Heap
  • JVM Runtime Data Area
  • Method area
  • Context in JVM
Benefit and limitations of the idea
  • Benefits
  • Limit
Demo

Q&A

Ċ
Kuwon Kang,
May 24, 2011, 10:48 PM
Comments