본문 바로가기

나의일상/인터넷지식

시맨틱 웹


시맨틱 웹

요즘 개발을 하면서 자꾸 용어들을 까먹거나 무슨 뜻이었지라는 일이 빈번하게 일어남에 있어 나태함이 내 머리끝까지  올랐구나라는 생각을 한다. 조금더 노력 하자라는 뜻에서 지금은 잘 쓰지는 않는 시맨틱 웹에 대해서 써보려 한다.
예전에는 의미론적 변수나 함수를 사용하기 위해서 많이 쓰던 언어이나 요즘은 잘 그렇지 않아서 잊혀져가는 언어
이제는 기본적인 프로그래머의 스팩이라고 까지 할 수 있는 우리의 시맨틱 웹 한번 알아보자!

시맨틱 웹 (Semantic Web).

작년 가을에 참가했던 웹 표준 기술 컨퍼런스에서 들은 표현으로, 'semantic' 이라는 영어표현은 위에 첨부한 이미지의 내용과 같이 '의미론적'이라는 뜻이다.

지금부터 무려 8년도 더 전의 1998년, 나는 웹 디자인에 입문하면서 처음으로 HTML이라는 마크업 언어(Markup Language)를 사용하기 시작하였다. HTML은 전자출판 분야에서 문서구조를 정확히 나타내기 위해 사용되던 마크업인 SGML을 토대로, 당시 마구 성장하는 월드 와이드 웹의 문서 표현을 위해 간략화해 만들어 낸 마크업 언어이다.
기능이 적고 단순하지만, 그만큼 간략하고 익히기 쉽다는 장점을 가진 HTML은 웹이 개발자와 연구원들의 것이었을때는 아무런 문제가 없었으나, 바야흐로 상업적인 용도로 일반인에게 개방되면서, 대중의 다양한 욕구에 부응하기에는 몹시 부족한 점이 많았다. 특히 외부로 보여지는 표현 부분, 즉 심미적인 부분에서 가장 많은 약점을 노출하고 말았다.
그 덕에, HTML에 내장된 많은 태그들은 많은 부분 사장되거나 본디의 용도로 사용되지 못하고 레이아웃과 디자인을 위한 편법 사용 용도로 전락하게 되었다. (대표적인 예로 테이블 태그가 있다.) 사실 HTML은 그 모태였던 SGML에게서 물려받은 수많은 구조화 태그들을 보유하고 있었으나, 실제로 이런 종류의 태그들은 웹의 생산성을 높여 주는 위지윅 에디터가 충분히 발달하게 되면서, 사용자의 심미적 만족감을 위해 다양한 이미지와 정밀한 테이블들로 구성된 디자인을 표시하는 복잡한 텍스트 암호에 불과하게 되어 버림과 동시에 사장되었다.

그러나, 이미지를 적게 사용하면서도 같은 수준의 디자인을 표현하고 가벼워 속도가 빠른 웹 디자인에 대한 연구는 늘 계속되었고, CSS (Cascading Style Sheet)를 광범위하게 사용하게 되면서 많은 부분 절충점을 찾아가게 되었다.
CSS는 많은 부분 이미지를 사용한 디자인을 대체해주며 정밀한 디자인 제어가 가능하다는 장점이 있었고, 수많은 페이지로 구성된 대형 사이트에서 생산성을 유지하면서도 전체적인 디자인 스타일을 유지하는 데에는 거의 필수적인 기술이었다. 그러나 그런 과정에서 엄청난 양의 CSS 코드가 만들어지게 되었고, 이것 자체를 구조적으로 적용시키고 관리하는 일만도 커다란 일이 되고 말았다.


여기에서 나온 개념이 바로 시맨틱 마크업의 개념이다.

그 모태가 되었던 SGML 답게, 알고 보면 HTML에는 자체적인 구조화 태그들이 많은 양 내장되어 있는 것이다. 시맨틱 웹의 기본 개념은 이왕 만드는 것, 그 자체로 의미있게 표현하자 라는 뜻과 유사하다.


간략히 표현하자면,

"ⓐ 페이지의 내용을 표현하는 구조화된 XHTML 문서" + "ⓑ 용도에 맞는 CSS 스타일 시트"

이다.

처음에 구조화된 XHTML ⓐ 를 제작하면서, 문서의 부분부분에 따른 기능들을 정의해두고, 목적에 특화된 CSS 디자인ⓑ 를 덧붙이기만 하면 그 용도의 문서가 만들어진다는 것이다. 이전에 ⓐ와 ⓑ가 서로 융합되어야 비로소 의미있는 문서가 되었다면, 이번에는 두 개념을 분리하여 ⓐ로서 먼저 의미를 완성하고, ⓑ로서 스타일을 지정한다는 것이 되겠다.
이로써 병렬 프로젝트 작업이 가능해지고, 같은 내용을 용도에 맞게 특화시키는데 따른 중복 작업 리소스와 비용을 절감함으로써 생산성과 웹 페이지의 사용성을 놀랍게 향상시킬 수 있다는 개념이다. 부수적으로 필요한 파일들의 절대 개수와 크기를 대폭 줄여 네트워크 트래픽 비용의 절감 효과도 크다고 한다.
실로 믿기 어려울 만큼 놀라운 이야기라고 할 수 있겠다.

이 방식을 실무에 적용하는 데에는, 프로젝트 팀의 업무 프로세스와 직능을 상당히 많은 부분 조정해야 하는 문제가 있어서 그리 만만한 일은 아니다.

'개방과 공유의 플랫폼으로서의 웹'을, 그리고 롱 테일(Long Tail)의 요구에 부응하는 끊임없는 변화 (-> Endless Beta)를 모토로 하는 웹 2.0의 개념에서, 이와 같은 경제적인 표준화 작업은 어찌 보면 선택이 아니라 필수라고 해야 할지도 모르겠다.


출처:http://flydol.tistory.com/entry/시맨틱-웹이란