XML이 웹을 죽이고 있다

중앙일보

입력

진보는 수월하게 척척 진행되고 있다. 하지만 본의 아니게 상황을 혼란시키는 진보의 빠른 속도에 대해 필자는 당장이라도 불만을 터뜨리고 싶다.

데스크톱 컴퓨터가 발명된 이래 새로운 표준과 옛 표준 사이에 혼란스런 전쟁이 벌어졌다. 이 전쟁의 큰 뜻은 새로운 규범에 완강히 저항하기 위한 관리자들과 다수의 다른 사람들 사이에 굳건히 자리잡았다.

이런 현상이 이제는 인터넷과 웹에서도 나타나고 있다. 평이한 HTML의 세련된 단순성이 점점 복잡해져 가는 XML 방식에 밀려나고 있기 때문이다.

XML의 복잡성

XML(eXtensible Markup Language)이 보다 우세해지고 있는 현재, 우리는 자기 자신이나 가족, 또는 소규모 사업을 위한 단순한 정보를 제공하는 웹사이트를 원하는 사람들을 위해 HTML이 계속 살아남기를 희망할 뿐이다.

필자의 견해로는 앞으로 XML은 소리없이 무대를 차지하게 될 것이며 단순한 HTML이 더 이상 적절한 디스플레이 효과를 내지 할 때까지 결국 브라우저는 XML에 최적화되는 과정을 거칠 것이다.

XML은 단순하면서도 많은 요구조건을 충족시키기 위한 컨셉에서 출발했다. 좀 더 통제성이 요구되지만 역동적인 형식으로 정보가 제공될 수 있도록 데이터와 텍스트 요소를 다양화시킬 방법을 찾자는 의도였다. 필자는 XML의 작동을 지켜봤는데 XML은 상당히 강력했다.

XML은 XML 요소에 대한 정의에 관한 한 많은 면에서 매우 모호한 표준이다. 이미 XML 영역은 한시라도 주의를 돌려서는 안되는 혼란 상태로 전락하고 있다. 이 때문에 필자는 유능한 평균적인 PC 매거진 독자가 풀타임으로 근무를 하지 않는 한 XML로 수월하게 작업하지는 못할 것이라고 자신있게 말할 수 있다. 이것은 대중적인 메커니즘으로서의 웹을 위해서는 좋은 징조가 아니다.

웹 표준을 지배하는 W3C가 최근 제시한 권고사항들을 살펴보자. W3C는 최근 감시대상 XML 관련 표준 목록에 XSLT 및 XPath를 추가시켰다.

XPath는 XML 문서에 적용된 FAT(File Allocation Table)이다. 이제 우리는 페이지를 추적하기 위해 이런 것을 필요로 하게 됐다. XSLT는 Extensible Stylesheet Language Transformations을 의미한다. 이것은 다양한 미디어가 XML 웹 페이지에 적응하고 다른 경쟁 브라우저에서 만들어졌을 때와 똑같이 보여질 수 있도록 미리 규정된 변환 장치를 말한다. 따라서 다양한 장비에서 XML을 다룰 수 있는 몇 가지 보편적인 방법 대신, 자신만의 독자적인 방법을 규정할 수 있게 되는 것이다.

XML을 둘러싼 새로운 웹 개발 문제에 있어 이 모든 얘기는 그저 빙산의 일각에 불과하다. 가장 큰 문제지만 모든 사람이 속을 끓이면서도 전혀 손쓰지 못하는 것은 어휘 문제다. XML 요소는 프로그래머가 규정하고 싶어하는 방식으로 정의될 수 있다. 그런 정의 목록을 어휘라 한다.

보편적인 어휘란 존재하지 않기 때문에 XML 기안자마다 독자적인 방식으로 작업하게 되는 것이다. "우리 방법이 최고다!"라고 외치지만 물론 그 다음 회사도 XML을 다르게 처리하고 있다. A 회사의 방법론에 출자하느라 수백만 달러를 소비한 대기업의 경우를 생각해보자. 어떤 알 수 없는 이유로 인해 B 회사 방식이 보편화되고 진정한 표준으로 자리잡게 된다면 이 회사는 커다란 손해를 보게 될 것이다. 이 경우에 어떻게 대처해야 하는지는 아무도 모른다.

단순성의 종말

앞에서 열거한 것들은 필자가 XML에 대해 품고 있는 수많은 우려 가운데 극히 일부에 불과하다. 최근 시볼드 세미나(Seybold Seminars)에 올려졌던 주제들을 살펴보자. 여기 몇 가지 발표 주제들을 제시해 보겠다. XML이 순조롭게 모양을 갖출 것 같은가?

시볼드에서 열린 존 심슨의 세미나 주제는 ''XML Q&A: XML 파서(Parser) 선택"이었다. 그의 설명은 이렇다. ''유효화시킬 것인가 아니면 무효화시킬 것인가? 자바, 펄, C 중 어느 것에 기초할 것인가? 이번 달에 우리는 당신의 XML 애플리케이션을 위해 어떤 파서를 사용할 것인지 하는 애매한 문제를 다룬다.'' 이런 것들은 심각한 프로그래밍 문제들이다. 이 세미나는 단순성의 종말에 주목하고 있다.

그 다음에는 앨런 코톡이 제공한 ''ebXML: 루빅(Rubik)의 큐브(Cube) 정리''라는 주제의 세미나가 있었다. 이 세미나는 시볼드 카탈로그에 이런 식으로 묘사됐다. "인터넷 사업 XML 실무단의 4번째 회합에서는 XML이 훌륭하게 발전하고 있다고 판단했다. 하지만 이 실무단은 스스로 약속한 18개월 시한에 맞출 수 있을 것인가?" 물론 그렇지 못할 것 같다. 그렇지 않고서는 이런 질문이 던져지지도 않았을 것이다. 그 다음엔 XML 투 코르바(XML-to-corba) 사람들이 있다. 또한 다양하고 기묘한 XML의 파생물들도 도처에 존재하고 있다. 필자는 이외에도 수없이 많은 예를 나열할 수 있다.

이 모든 상황에도 불구하고 혼란스런 구석이 없다고 느낀다면 필자가 뭔가를 빠뜨린 것이다. 이 모든 상황이 벌어진다면, 우리가 1993년쯤 발표된 최초의 GUI 브라우저의 10번째 기념일을 맞기도 전에 웹의 단순성과 웹의 사용자 중심적인 특성은 사장되고 말 것이다.

이 브라우저가 작동하는 한 더욱 훌륭하게 변모해갈 것이다. 하지만 복잡성이 증가하면 비효율성도 증가하고 많은 결함들이 생긴다. 웹은 점차 더욱 느리고, 버그가 많고, 복잡하고, 위협적으로 되갈 것이다. 필자는 그런 웹을 기대하고 싶지 않다. @

ADVERTISEMENT
ADVERTISEMENT