"톰켓을 단독으로 띄워서 실제 서비스를 해도 됩니까? (어느정도 규모의 서비스를 하려면) 아파치나 IIS와 반드시 연동해야하는 건가요?"여기에 대해 그분(?)은
"음... 물론 예전에는 톰켓의 정적 컨텐츠 제공력이 떨어졌던 것이 사실이고, 그것을 보완하려는 의미에서 연동책이 필요했겠죠. 또한 정적 컨텐츠 자체도 많았을 터이고. 하지만 요새 하나의 웹사이트라면 동적 페이지가 대부분(약90%이상) 아닌가요? 그리고 (그정도로 정적 페이지가 적다면) 최근의 톰켓은 충분히 커버할 수 있을 정도로 성능의 향상이 이루어져 있습니다. 따라서 실제 필드 스트레스 테스트가 선행되어야겠지만 별 무리가 없다면 톰켓 단독으로 한다고 해서 (그 이유만으로) 서비스가 불안하다는 말은 옳지 않습니다."이 이야기가 뜻하는 바는, 우리가 왜 그토록 톰켓-아파치 연동에 목을 매었는가에 대해 다시 생각해보게 하면서, 톰켓의 정적 컨텐츠 제공 기능은 사실상 아파치의 그것과 근본적으로 다르지 않으며, 다만 톰켓이 퓨어 자바라는 점이 아파치의 네이티브 코드라는 점과 차이가 나고, 따라서 톰켓의 정적 서비스 능력은 결론적으로 자바 퍼포먼스와 관련지어지며, 그 부분을 아파치에게 나눠지게 했었지만, (두둥!) 이제는 핫스팟을 비롯해 자바 VM의 성능도 향상되었고, 그간 톰켓 코드 자체의 기능도 일취월장하였고, 더우기 운영(service)이라는 측면에서 톰켓의 운영상의 문제이지 톰켓이기 때문에 그런 문제가 났다고 하는 것은 뭔가 잘못되었던 것이 아닌가... 하는 은유적인 답변이 아닌가 싶더군요. 그래서 제 개인적인 생각은 이렇습니다 정적 페이지가 전체 컨텐츠 구성에서 아주 미미하면 테스트 없이 톰켓을 단독으로해서 서비스해도 되고, 만약 10%이상으로 안미미하다면 어느정도 테스트를 통해 안정성을 확인한 후 별 무리 없으면 역시 톰켓 단독이 편하고 낫다고요. 특히 아파치-톰켓의 연동은 결국 내부 리다이렉션으로 이어지므로 동적 페이지가 중심인 사이트에서는 오히려 낭비(리던던시)가 생기는 것이 아닌가(이부분도 톰켓 리더가 지적한 점)... 그리고 멀린의 향상된 VM과 각종 서버 옵션을 잘 활용한다면 더욱 좋겠지요. 또 멀린의 발전된 I/O(New I/O-니오)로 톰켓을 재구성한다거나 가속화시킨다면 더욱 강력해질 것이고요. 물론 톰켓 개발자이니 톰켓을 두둔한 느낌도 들 수 있겠지만, 내가 보기엔 그의 말에 뼈가 있었습니다. 무작정 아파치... 무작정 J2EE가 아니라, 정말 서비스에 딱 어울리는 간편한 차림... 경제와 실용을 이제는 생각해야하지 않을까... 아파치 톰켓 연동 좋죠... 하지만 그 기술의 난이도가 가져다 주는 유지 보수문제를 비롯한 사이드 이펙트는? 역시 이런 것도 선입견을 가지고 있는 사람들을 설득하는 것이 어려울 수 있겠지만요. 다음 세션은 좀 황당했었는데, 적스터 프로젝트의 기술 개요 라는 제목으로 썬의 P2P(Peer to Peer) 프로젝트를 소개하였습니다. 흥미로웠던 점은 이제 J2ME까지 결합시켜 예제를 구성하고 있었는데요, 나중에 간단하게 따라할 수 있도록 글을 써볼까 생각이 들었습니다. (도통 무슨 소리인지 잘 감이 안오더군요.) BOF에서는요, 첫번째, 멀린과 XML 이라는 주제였는데, 발표하시는 분이 저랑 처지가 똑같더군요. 어떠냐면, 자기는 썬에서 자바 기술을 만드는 사람도 아니고, JCP를 통해 스펙을 주도하거나 참가하는 사람도 아니고, 그저 자바가 좋아서 주변에서(?) 열심히 주어들어 아는 정도라고, 결국 남들도 다 알 수 있는 정도가 자기가 아는 전부라고(즉 썬 내부의 특급 정보나 기타 신비주의적 발상과는 전혀 거리가 먼) 너무 겸손을 떨어 듣는 사람을 어리둥절하게 했습니다. (저는 물론 십분 이해가 갔지만.) 아무튼 이분에 밝히신 멀린의 XML 기술은 사실상 걸음마 단계라는 것이며, 젝스 시리즈중 이번에는 오직 젝스피, 즉 XML 처리 파트만 들어갔다는 것입니다. 젝스 시리즈에는 그밖에도 젝스 비, 젝스 알피씨등이 있는데, 이들은 겨우 시작된 것이어서 내후년 타이거에서나 정식 포함을 가늠할 수 있겠다더군요. (어디까지나 추측) 멀린은 단순이 API적 인터페이스만을 구현한 것이 아니라 실제 XML 처리를 위한 구현체도 포함하고 있는데, 묘하게도 이것들의 조달처가 다름 아닌 아파치 재단입니다. 아파치 XML 프로젝트를 보시면, 여러가지 관련 기술들이 나오는데, 이중 구분석기(parser)은 크림슨(Crimson)을, XSLT는 잘란(Xalan)을 채택하였습니다. 많은 분들이 가장 궁금해하는 것은 왜 파서로 저시스(Xerces)를 채택하지 않았냐는 것인데, 여러가지 편법으로 크림슨을 저시스로 교체하는 방범이 있지만 권장할만하지는 않더군요. (비표준 옵션 사용) 또한 크림슨 자체의 업그레이드도 마찬가지여서, 이러한 시스템의 유연성 결여를 무척 아프게 꼬집었습니다. 아무튼 멀린에 구분석기며 변환기며 다 들어있으니 편한것만은 사실이지요. 앞으로 어떤 구현체를 가지고 갈지는 귀추가 주목됩니다. 마지막 세션은 니오(NIO-new I/O)에서의 자바 국제화에대해 난상 토론이 벌어졌었는데, 일본은 한국보다도 문자 코드 문제가 더 심각하더군요. 우리의 경우 MS의 윈도우즈 덕분에(?) 고맙게도 완성형 코드가 거의 굳어져서 KSC5601 혹은 EUC-KR이 웹 표준으로, 거기에 MS의 확장 완성형과의 호환으로 별 무리없이 한글 처리를 해오고 있는 반면, 일본은 S-JIS와 Shift-JIS(쉬프트 지스)가 다를 정도로 정신 없고, 그 상황에서 DB 시스템의 페이지 코드 셋과의 변환 문제가 무진장(특히 MS SQL) 골치 아파보였습니다. 고로 자바 웹 애플리케이션과 MS SQL DB와의 궁합이 아주 지리멸렬해질 수도 있겠구요. 니오의 탁월한 인코딩-디코딩 능력이 이런 상황을 얼마나 타개해줄지 앞으로가 궁금해집니다. 아! 또 하나, 멀린에서는 유니코드 3.0을 지원하는데, 더 많은 문자셋을 지원하려다 보니 이전 자바 2에서 지원하던 유니코드 2.1과는 또 다른 문자 코드 시스템이 되었더군요. 하위 호환성은 있으므로 기존 프로그램을 뜯어고칠 필요는 없지만, 아무튼 일본어 문자(아마 한자겠지만) 일부도 확장 페이지로 들어가서 다소 접근이 불편해졌다고 푸념하던데, 우리 한글은 과연 유니코드 3.0에서 어떤 식으로 자리잡고 있는지 관심을 가져보아야 겠습니다. (더 풍요롭고 정확한 한글 처리를 자바로 할 수 있게 되기를 빌면서요.) 많은 도움이 되셨나요? 자바의 흐름이 더욱 더 빨라진다는 느낌이 들지만, 이럴 때 일수록 강태공처럼 유유자적 낚시대를 드리우고 싶은 것은 혹시 저만의 맹한 생각일지... 내일도 기대해주세요.
2001년 11월 30일 금요일 예고... 리눅스 자바 포팅팀의 애환-플스2에서 자바2가? 나츠노씨 또만나다-아직도 정신을... 자바 클라이언트 기술 노우하우-쓰레드가 보인다... 공개키 인프라스트럭쳐? 자바 보안 플랫폼-보안은 역시 어려워... 자바에 메모리 관리가 필요하다고?-일단은 하지마... 심비안의 신비한 모바일 게임-전 세션중 처음(이자 마지막) 여성 발표자!
이전 글 : SSH 버퍼 오버플로우
다음 글 : 보안 애플리케이션을 위한 리눅스
최신 콘텐츠