Programming

Jetty

HanDDol 2011. 11. 12. 00:45
OSGi Framework 에서 돌려볼 웹서버로 일단 Jetty를 선택했다. 선택했다기보다는 이미 선택되어 있었다는 표현이 어울리겠다만, 뭐 어쨌든.. 

 

Jetty 아키텍처는 위와 같다.

  • Server : 이건 메인 관리 클래스다. 이런 저런 잡다한 일을 여기서 해준다. 
  • Connector :  외부 HTTP Connection을 실제 처리하는 통신 처리기다. 
  • Handler : HTTP Request에 대한 처리를 하여 Response를 생성 
  • ThreadPool : 외부에는 보이지 않지만, 어쨌든 쓰레드  

뭐 간단하게 이야기하자면, Server로 시작을 한 다음, Connector로 HTTP Connection을 받아 들인 후, Thread Pool로 처리할  Thread를 생성한 후, Handler가 Connector의 Request에 대한 처리를 해서 Response를 생성한다는 거다.
 

Jetty로 실제 프로그래밍을 할 때는 Handler에 대해 어떻게 잘 기술하냐가 관건이 될 것 같다. 현재는 Class Name을 기반으로 하여, 그 룰을 동적으로 등록하는 방법을 착안해야만 할 것 같다. 아마도 WebPlugIn 디렉토리 같은 걸 두고 거기에 뭔가 변동이 생기면 Context를 추가하는 방법을 생각해봐 야 할 듯 하다.