[펌]SCORM 강좌

software 2007. 8. 16. 13:38
[출처 : 미니의 XML DeveloperGroup (http://www.word.pe.kr)]

[#1. SCORM이란
]
1. SCORM이 뭐죠?

드디어 새로운 강좌를 시작합니다. 이번에 주제로 정한 것이 바로 SCORM 입니다.

아마도 SCORM이 무엇인지... 잘 모르는 분들이 많을 거라고 생각합니다. 저게 XML과 무슨상관이야 하는 분들도 있겠지만.. 어쨌든 관련이 있습니다. 있구요.. ^^ 가장 중요한 이유는 현재 제가 하고 있는 작업이라는 겁니다. 아무래도 제가 하고있는 그래서 가장 잘 알고 있는 부분으로 강의를 시작하는게 맞을 것 같아서 시작해 봤습니다.

그럼.. SCORM이란 용어를 처음 들어보신 분들도 많을텐데요.. XML 강좌에서 설명했듯이.. 용어는 외우는게 아닙니다. 계속 보고 듣고.. 하다 보면 절로 그 개념까지 알게 되는 것이죠.. 꾹 참고 끝까지 읽어본다면, 향후~ 많은 도움이 될 것입니다. 이미 SCORM이란 것이 우리의 생활속으로 들어오고 있기 때문에.. 또 현재 대학이나 교육분야에서 활용되고 있기에.. 절대로 후회하지 않을 겁니다.

오랜만이라 서론이 좀 길었네요. 흠흠.... SCORM은 Sharable Content Object Relation Model의 약자입니다. 우리말로 하면 공유 콘텐츠 객체 관계 모델이라고나 할까요? 국어가 더 어려운 것 같습니다.

즉, 콘텐츠는 많이 들어봤을 것입니다. 이 콘텐츠를 공유하자는 것이 바로 SCORM의 핵심 개념입니다. 공유는 하는데.. 콘텐츠를 공유하기 위해서 상호간의 관계를 설정할 필요가 있습니다. 그래서 relation model이라고 붙여놓은 것입니다.

예를 들면, 요즘 사이버대학이 많이 있습니다. 각 사이버대학의 콘텐츠를 수강신청해서 인터넷으로 강의를 진행하게 됩니다. 이 경우, A 사이버대학의 콘텐츠를 B 사이버대학에서 활용하려면 현재 가능할까요? 아마도 시스템이 달라서 거의 콘텐츠를 다시 수정해야 할 겁니다. 또한 각 사이버대학마다 좋은 콘텐츠를 공유하지 못하고 서로 제각각 만드는 것도 어떻게 보면 낭비라고 할 수 있죠..

이렇게 서로 다른 시스템이라 하더라도 SCORM 표준을 준수하면 콘텐츠를 공유할 수 있다는 것이 바로 SCORM의 기본 출발입니다. 이러닝이 점차 보편화되고 있는 시점에서 SCORM의 중요성이 점차 커지고 있는 것이 사실이지요.. 그러나 SCORM에도 나름대로 한계점이 있습니다. 그건 나중에 다시 한번 논하도록 할께요..

SCORM은 미국 국방성 산하에 있는 ADL Initiative에서 1999년 4월 처음 시작되었습니다. SCORM 버전 1.0을 2000년 1월에 발표한 이후 현재 SCORM 2004(버전 1.3)을 발표한 상태에 있습니다. 앞으로의 강좌는 SCORM 2004를 기준으로 설명하게 될 것입니다.

2. 누가 SCORM을 학습해야 할까요?

강의를 시작하기에 앞서, 누가 왜 SCORM을 학습해야 하는지에 대해 간단히 설명하겠습니다.

제가 이러닝 분야를 하면서 느끼는 점은  SCORM은 시스템 개발자가 하는 것이라고 생각하는 사람들을 흔히 봤습니다. 일단, SCORM 기반의 시스템을 만들어야 하므로 시스템 개발자가 SCORM을 이해하고 적용해야 하는 것은 당연한 것입니다.

그러나, 더욱 중요한 것은 만들어진 시스템을 활용해야 하는데 있다고 생각합니다. 그러기 위해서는 SCORM 형 콘텐츠를 개발해야 하는데.. 이 부분에 있어 SCORM에 대한 전문성이 더욱 필요하다고 생각합니다.

즉, 교육공학적인 사고가 바탕이 되어 SCORM의 시퀀싱(학습흐름)이나 SCO의 구성등을 결정해야 한다는 것이죠..

정리하면, SCORM은 시스템(LMS 또는 LCMS) 개발자와 콘텐츠 개발자, 그리고 교수설계자 모두가 이해하고 있을 때, 제대로 구성될 수 있다는 것입니다.

3. SCORM의 구성요소

이제 본격적으로 SCORM에 대한 이야기를 해보도록 하죠...

SCORM 스펙은 크게 4개의 책으로 이루어져 있습니다.  Overview, CAM, RTE, S&N 이렇게 4권입니다. ^^ (어려운 영어 약어가 나오니.. 감기걸린 제 머리도 갑자기 지끈거리네요... )

1. Overview

Overview는 말 그대로 전체 내용을 대략적으로 설명해 놓은 것입니다. 스펙에서 분량이 가장 적지만, 전체적인 흐름을 볼 수 있는 중요한 부분이므로 혹 스펙을 보시는 분은 자세히 살펴보시기 바랍니다.

2. CAM (Contents Aggregation Model)

콘텐츠 모델을 설명하고 있는 부분입니다. 여기에서는 SCORM에 중요한 용어가 등장합니다. Manifest, SCO, ASSET, Aggregation, Metadata... 여기에서는 이런 용어들이 나온다고만 알고 넘어가시면 됩니다. 뒤에서 자세히 설명할 것이니까요.. (미리 용어에 대한 친근감을 가져보세요..)

CAM에서 필수적으로 이해하고 넘어가야 하는 부분은 Manifest 파일과 Metadata 부분입니다. 이 두가지는 SCORM 콘텐츠에 포함되는 정보입니다. 즉, 콘텐츠를 개발할 때 넣어주어야 한다는 것이죠..  

먼저 Manifest에 대해서 간단히 설명을 드리겠습니다. 책의 목차를 살펴보면 아래와 같은 형태로 되어 있습니다.

1장 SCORM이란.....................................................1페이지  
 1절 SCORM 역사..................................................2페이지
 2절 SCORM의 구성요서.........................................3페이지
2장 CAM................................................................5페이지
 1절 Manifest.......................................................7페이지
 2절 Metadta.......................................................10페이지

이런 목차를 정리해 놓은 파일이 바로 manifest 파일이라고 이해하시면 됩니다. IMS라는 기관의 규격을 따른다고 해서 파일명은 Imsmanifest.xml 이 됩니다. (manifest의 사전적 의미는 명백하다. 일목요연하다.. 입니다. 의미적으로 상통하죠.. ^^)

장이나 절을 XML 태그를 이용하여 나타내고.. 페이지 대신 각 장/절의 첫 파일의 경로를 표현하는 것이죠.. 보다 자세한 것은 CAM을 설명할 때 이야기 하도록 하지요.

Metadata란 데이터를 설명하는 데이터를 의미합니다. 즉, 위 각각의 목차에 대한 세부설명이 필요할 경우, 이런 메타데이터를 활용하면 되겠죠..

3. RTE(Run-Time Environment)

세번째는 RTE라 불리는 실행환경입니다.

실행환경이 왜 필요할까요? 예전에는 콘텐츠에서 학습진도율이나, 학습시간등을 처리할 때.. 시스템을 직접 호출해서 처리했습니다.
그러나 이럴 경우, 그 콘텐츠는 다른 시스템에 탑재할 때 학습진도율이나 시간등이 처리 되지 않게 됩니다.
콘텐츠를 수정해서 다시 만들어야 하는 거죠..

SCORM에서는 콘텐츠의 공유를 중요하게 생각합니다. 그래서 일반적으로 콘텐츠에 대해 처리해야 하는 정보를 정리하고.. 이것을 처리하도록 시스템에 제공하고 있습니다. 이러한 부분을 바로 실행환경이라고 합니다.

그래서 콘텐츠에 대해 처리해야 하는 정보를 XML 형태로 정리했고, 이것을 CMI Data Model이라고 부릅니다.

여기에서는 RTE가 이런것이구나 .. 하고 넘어가도록 하겠습니다. 첨부터 너무 무리하면 머리가 아프니까요.. ^^

4. S&N(Sequencing & Navigation)

마지막으로 S&N입니다. 시퀀싱 그리고 네비게이션이라고 할 수 있겠네요...

SCORM 2004에 새롭게 등장한 개념입니다. 생각보다는 굉장히 어렵습니다. 저도 아직 전체를 다 이해하고 있다고 말할 수 없네요.. -.-

쉽게 설명을 하자면, 학습자가 콘텐츠를 학습하고 다음에 다시 학습하려고 할 때, 이전에 학습한 위치로 이동이 되어야 겠죠.. (처음부터 다시 할수는 없잖아요..  - 물론 메뉴를 클릭해서 이동해도 되지만...)
또, 콘텐츠 내의 문제를 풀고 80점 이상이면 다음 학습으로 이동하고, 80점 미만이면 보충학습을 더 보도록 구성하는 경우도 있겠죠..
아니면 일정 점수 미만이면 이전 콘텐츠를 재학습하도록 유도한다든지....

이러한 것이 바로 시퀀싱이라고 보시면 됩니다. 시퀀싱에 따라서 이동하는 것을 네비게이션이라구 하구요..

이전 버전인 SCORM 1.2까지는 이 개념이 없었습니다. 마지막 학습한 위치를 기억하여 북마크 기능(이전에 학습한 위치로 이동하는 기능) 정도를 구현할 수 있었습니다.

콘텐츠가 독립적이고 공유가능하려면, 역시 이런 시퀀싱 정보는 콘텐츠에 정의 되어야 합니다. 그리고 시스템은 어떤 콘텐츠의 시퀀싱이 들어오더라도 처리할 수 있어야 하구요..

이상으로 SCORM의 구성요소에 대해서 간략하게 살펴보았습니다.

해당 구성요소들에 대한 세부내용이 앞으로 다룰 중요한 정보입니다. 항상 말씀드리듯이 먼저 용어에 익숙해지도록 노력하시면 앞으로의 강좌가 보다 쉽게 느껴질 것입니다.

4. SCORM의 한계

SCORM은 콘텐츠의 공유라는 개념에서 시작했지만, 현재 적용하기 어려운 부분에 대해 설명해 보려고 합니다.

1. 콘텐츠 제작의 복잡함이 증가한다는 것입니다.

이전에는 콘텐츠만 만들면 되었는데.. SCORM을 적용하면 SCORM API 삽입 (RTE 부분) , SCORM 패키지 (CAM 부분), 시퀀싱 모델 정의 (S&N 부분)을 모두 처리해 주어야 합니다. 부가적인 작업이 늘어나는 것이죠..

2. 시스템의 수정요구에 대한 부담이 발생합니다.

현업에서 SCORM 2004를 적용하다보면, 발주사에서 요구하는 사항들이 SCORM 스펙과 위배되는 부분이 존재합니다.
이런 부분을 처리하다보면 겉은 SCORM이지만 내부에서는 전혀 다른 동작을 하는 것이 만들어지게 됩니다.
초기 목표였던 콘텐츠 공유나 시스템 독립성이 떨어지게 되는 것이죠..

3. 학습창의 디자인 요구에 따른 변화가 발생합니다.

다양한 콘텐츠를 수용하려면 학습창은 최대한 단순해야 합니다. 그러나 대부분의 발주사에서는 자신들의 구미에 맞는 디자인이 된 학습창을 요구하고 있는 현실입니다. 역시 콘텐츠 공유에 걸림돌이라고 할 수 있습니다.

5. 마치면서

위와 같은 한계에도 불구하고 세계적으로 미국 다음으로 SCORM을 활발히 사용하고 있는 곳이 바로 우리나라입니다.
대학이나 정부에서도 관심이 많으며, 앞으로 이러닝 시장의 발달에 따라 보다 더 중요하게 사용되어질 것으로 생각됩니다.

표준 스펙을 준수하면서 우리나라 현실에 맞는 시스템이나 콘텐츠가 개발되기를 바라면서 SCORM에 대한 첫 강의를 마치려고 합니다.

다음에는 SCORM의 Adopter와 Certified Product에 대해 간단히 설명하고, 백문이 불여일견이라고.. 실제 SCORM을 테스트할 수 있는
콘텐츠 예제와  ADL에서 제공하는 TestSuit / Sample RTE의 설치와 사용법에 대해 설명할 예정입니다.

먼저 사용을 해보고 나서 위의 구성요소를 하나씩 살펴보는 것이 가장 이해하기 쉬울 것이라 생각됩니다.

그럼.. 좋은 하루 되세요~~ 2006년 9월 12일.. From 미니



[#2. SCORM 인증과 툴 활용]

SCORM의 두번째 시간입니다. SCORM의 세부 구성요소를 살펴보기에 앞서.. SCORM에 대해 좀더 알아보구요..
SCORM 샘플 콘텐츠의 구성과 ADL에서 제공하는 SampleRTE의 설치 및 활용에 대해 이야기 하도록 하겠습니다.

여기에서 보여줄 SCORM 샘플 콘텐츠를 강의 전반에서 예제로 사용할 계획이니.. 꼭 다운로드 받으셔서 살펴보시기 바랍니다.
또한, SampleRTE라는 프로그램도 본인의 PC에 세팅해서 활용해 보시기 바랍니다.

ADL의 TestSuit에 대해서도 설명하려 했으나.. SCORM의 구성요소에 대한 이해가 필요한 부분이므로.. 다음에 설명하도록 하겠습니다.
자~ 그럼.. 출발해 볼까요??

SCORM Adopter vs. Certified Product

SCORM이 확대되어 사용되면서 ADL에서는 SCORM 표준을 준수하고 있는지 판단하기 위해 인증이라는 걸 하고 있습니다.

즉, 해당 솔루션 혹은 콘텐츠가 SCORM 표준에 적합한지를 확인하고 승인해주는 것이죠..

이러한 SCORM과 관련된 ADL의 인증은 Adopter와 Cerfication 두 가지가 있습니다.
SCORM 관련 프로젝트의 RFP에 보면 보통 이런 사항을 요구하기 때문에 이 두가지의 차이점에 대해서 간략히 설명을 하려고 합니다.

먼저 아래 ADL 사이트를 살펴보시기 바랍니다.

Adopter 리스트

Certified Product 리스트

각각의 인증을 받은 제품이 보일 겁니다. (Certified Product에 우리회사에서 만든 제품도 들어가 있네요.. ^^
현재 팀에서 개발한 제품입니다. ㅋㅋ - Dunet-CMS... 흠흠.. 홍보는 그만하궁... -.-)

Adopter는 등록된 제품을 의미합니다.
여러분이 만든 콘텐츠 혹은 솔루션을 Adopter로 등록하기 위해서는 SCORM TestSuit라는 것을 설치하고.. 지정된 조건을 통과한 테스트 결과를 보내면 됩니다.

그 결과 ADL에서 보기에 큰 문제가 없으면 Adopter로 등록을 해 줍니다.
실제로 수행해 본 결과 짧게는 1주일.. 길게는 3주 정도 걸렸던 것으로 기억합니다.

별도의 비용이나 테스트 없이 테스트 로그만 보내면 등록을 해주는 것이죠...

반면에 Certified Product는 인증된 제품을 의미합니다.

먼저 SCORM TestSuit를 통한 테스트 로그를 보내고, 테스트 할 수 있는 서버 정보를 알려주거나 솔루션을 보내야 합니다. 그러면 ADL에서 위탁한 기관 (예를 들면 위스콘신 대학)에서 실제 콘텐츠를 등록하고 테스트를 수행합니다.

이에 따른 결과로 인증서를 보내주게 됩니다. 외부기관에서 테스트를 수행하므로 별도의 비용이 청구됩니다.

실제로 국내의 많은 이러닝 기업이 솔루션에 대한 SCORM Adopter를 등록했지만, Certified Product를 받은 업체는 현재(2006년 9월) 3곳 정도 입니다.

혹, SCORM Certifed Product와 관련된 정보가 필요한 분이 있을까봐~~ 관련 절차를 아래 이미지로 삽입했습니다.


                                          <그림 1 : SCORM Ceritification 절차>

Photoshop 샘플 콘텐츠

이제 본격적인 SCORM을 살펴볼 계획입니다. 먼저 SCORM 샘플 콘텐츠를 하나 보여드리고자 합니다.
그리고 ADL의 Sample RTE를 설치하고 테스트하기 위해 이 콘텐츠를 활용할 것입니다.

사용할 샘플 콘텐츠는 Photoshop에 대한 내용을 설명하는 콘텐츠입니다. 포함된 내용은 영어로 되어 있어 거부감이 좀 들기는 하지만.. Photoshop을 공부하는 것이 아니니까... 영어를 몰라도 관계는 없을 것 같습니다.

또한 이 예제는 나중에 배울 시퀀싱 관련된 내용이 포함하여 확장해서 살펴볼 것입니다.

먼저 자료모음 메뉴로 가셔서 Photoshop.zip 파일을 다운로드 하시고 난 후, 압축을 풀어보세요~~

파일 내용은 아래 그림과 동일할 겁니다. 파일이 많기는 하지만 너무 겁먹을 필요는 없어요~~ SCORM의 기본적인 파일들이 대부분이므로 그룹별로 파악해서 보시면 됩니다.

실제로 중요한 파일은 몇개 안됩니다. ^^



                                          <그림 2 : Photoshop 콘텐츠 파일 구성>

일단 파일들 먼저 보시죠..

맨 처음 보이는 파일 두개는 확장자가 dtd입니다. 어라~ 어디서 많이 들어본 것인데.. ~~
맞습니다. 바로 XML 강좌에서 구구절절이 설명했던 그 DTD입니다. SCORM도 XML의 일부이기 때문에 DTD와 같은 XML 태그에 대한 정의가 필요하겠죠..

그 다음에 보이는 것은 바로 html 파일입니다. 실제 콘텐츠라고 볼 수 있습니다. 학습자가 보는 내용이 되겠죠..

그리고 드디어 xml 파일이 하나 나옵니다. imsmanifest.xml ...
왠지 이 파일이 중요하다는 느낌이 들지 않으세요? 저만 그런가... -.-
바로 SCORM 첫 강의에서 잠시 설명했던 manifest 파일입니다. 여기에 이 콘텐츠에 포함된 목차라든지.. 강의 정보가 모두 포함됩니다.
앞으로 집중적으로 살펴볼 파일입니다. 궁금하신 분은 살짝 열어서 살펴보시기 바랍니다. 그저 XML 문서일 뿐이지만, SCORM에서 중요하게 사용되는 정보입니다. ^^

마지막으로 xsd 확장자를 가진 파일들이 보입니다. 이것들은 뭘까요?
XML Schema라고 XML 강좌에서 잠시 언급한 것 생각나시나요? DTD와 동일한 일을 하지만, 데이터 타입이나 더 많은 속성을 부여할 수 있다고 했던것 같네요.. 바로 그 XMS Schema 파일입니다. 이것 또한 DTD와 마찬가지로 미리 정의된 내용을 사용하는 것이니 우리가 살펴보지는 않을 겁니다. ~~

자~ 그럼 정리해 볼까요.. SCORM으로 만들어진 콘텐츠에는

imsmanifest.xml 파일 하나와 2개의 dtd 파일 그리고 다수의 xsd 파일로 구성되어 있구요..
나머지는 html 파일로 실제 콘텐츠를 나타내는 것입니다.

정리가 되시나요? 혹, 이러닝 콘텐츠를 만들어보신 분은 알겠지만, 예전에는 저런 xml이나 dtd가 없었죠.. 그저 html 안에 자바 스크립트로 서버에 정보를 보내주는 부분을 코딩했었습니다.

SCORM도 자바 스크립트를 사용하는 것은 동일하지만, 표준적으로 이용한다는 차이가 있습니다. 왜 그럴까요?
SCORM의 콘텐츠 공유 기능 때문입니다. ~~ 계속 이야기가 될 것이니.. 첨부터 너무 겁먹지 마시기 바랍니다.

실제 콘텐츠라고 하는 html 파일을 잠깐 열어보겠습니다.

intro.htm이나 Lesson1.htm 파일을 열어보세요.. 아무 문제없이 실행되고 있습니다.
그런데~ Question1.htm 파일을 한번 열어보세요..~ (잠깐! 이 파일을 열면 자바스크립트의 경고창이 여러번 뜹니다. ~~ )

"Unable to find an API adapter"
"Unable to locate the LMS's API Implementation. Initialize was not successful"

위와 같은 메시지가 나타나죠... 바로 SCORM API가 연결되지 않았다는 메시지 입니다.
창을 닫을 때는 더 많은 메시지가 나타납니다.

"Unable to find an API adapter"
"Unable to locate the LMS's API Implementation. SetValue was not successful"

"Unable to find an API adapter"
"Unable to locate the LMS's API Implementation. Terminate was not successful"

이 메시지를 통해서도 한가지 알수 있는 게 있습니다.
즉, SCORM 파일을 띄울때 (창을 열때)는 Initialize라는 것을 호출하고..
창을 닫을때는 SetValue, Terminate를 호출한다는 것을..

다음 Runtime Envrionment를 설명할 때, 다시 한번 언급하도록 하겠습니다. 일단 너무 많이 하면 머리 아프니.. 여기까지만 아~ 그렇구나! 하고 넘어가시기 바랍니다.

SCORM Sample RTE 설치

이제 샘플 콘텐츠를 다운 받았습니다. 이제 무엇을 해야 할까요?

콘텐츠를 받았으니... 테스트 해보고 싶지 않으세요? 호기심만이 자신의 실력을 업시킬 수 있는 특효약이라고 생각합니다.
배운걸 배운것으로 끝내지 않고 응용하려는 자세~~ (저도 그렇게는 못하고 있습니다만.. 헐~)

위에서 받은 photoshop 샘플 콘텐츠를 테스트할 수 있는 프로그램을 설치해 보려고 합니다.
SCORM Sample RTE라는 프로그램인데요.. SCORM 콘텐츠를 올려서 학습할 수 있도록 지원하는 툴입니다.
이렇게 하면, Question1.htm이 실행될때 위와 같은 자바스크립트 경고창이 나타나지 않게 됩니다. ~

ADL에서 제작해 배포하는 것으로 기본적인 SCORM 기능이 구현되어 있습니다. 소스 코드 또한 볼 수 있으므로 프로그래밍을 잘 하시는 분은 바로 소스까지 살펴보시기 바랍니다.

먼저 프로그램을 다운로드 받도록 하겠습니다. 이 소스는 자료실에 올려놓지는 않았구요.. 아래 링크를 눌러서 다운받으시면 됩니다.

SCORM 2004 2nd Sample RTE 1.3.3 다운로드

그럼 설치를 진행해 보도록 하겠슴다~~ ADL의 SCORM RTE를 설치하기 전에 먼저 설치해 주어야 하는 것이 있습니다.
본인의 PC에 혹 설치되어 있는지 확인하시고 진행하시기 바랍니다.

1. J2SE SDK 설치

먼저 J2SE SDK를 설치해 주셔야 합니다. 다운로드 위치는 다음과 같습니다.

J2SE SDK 1.4.2 다운로드

혹, 위 주소로 다운로드가 되지 않을 경우, 다음과 같이 다운로드 합니다.

J2SE SDK 1.4.2 다운로드 페이지

위 주소에서 중간의 "Download J2SE SDK"를 클릭하시고 난 후,
다음 페이지에서 "Accept" 라디오 버튼을 선택한 후, 가장 위에 있는 "Windows Offline Installation"을 선택해서 다운로드 하면 됩니다.

다운로드 한 후, 설치는 대부분 "Next" 하면 되는 거 아시죠.. ~~
윈도우에서 모든 설치는 "Next" 라고 보시면 될거예요.. ^^

잘 안될 경우, 웹사이트를 검색해보면 많이 나와 있을 겁니다. (여기는 java강좌가 아니므로 간략하게 이정도만 할게요.. )

2. J2SE SDK 환경변수 설정

두번째로 해주셔야 하는 부분은 바로 Java 환경설정입니다. 일반적인 JVM(Java Virtual Machine)을 설치한 경우, 대부분 해주는 작업이죠..

만약 J2SE를 설치한 디렉토리가 C:\j2sdk1.4.2_10이라고 가정해 보겠습니다.  ("Next"로 설치한 경우, 뒷부분의 _10 부분만 다를 거예요.. )

Windows 2000이나 XP의 경우, 윈도우 탐색기에서 "내컴퓨터"를 선택하고 마우스의 오른쪽 버튼을 클릭합니다. "속성"을 선택하고, "고급" 탭으로 이동합니다. 아래쪽에 "환경 변수"를 클릭합니다.

위와 같은 과정을 하면, 사용자 변수와 시스템 변수가 나타납니다. 사용자 변수 또는 시스템 변수에 JAVA_HOME이 존재하는지 확인합니다.
만약 존재하지 않는다면, "새로 만들기"를 클릭한 후,

변수 이름 : JAVA_HOME
변수 값 : C:\j2sdk1.4.2_10

을 입력하고 "확인"을 누릅니다.

이어서 Java 실행경로를 입력하기 위해... 사용자 변수 또는 시스템 변수에 있는 PATH를 선택한 후, "편집"을 클릭합니다.
변수 값의 맨 뒷부분에 세미콜론(;)을 찍고 %JAVA_HOME%\bin 을 추가합니다.

변수 값 : XXXXX;%JAVA_HOME%\bin

(참고로 XXXXX는 이미 들어가 있는 변수값입니다.)

3. SCORM Sample RTE 설치

자.. 이제 Sample RTE를 설치할 때가 되었습니다. 앞에서 다운로드한 Sample RTE를 설치하시기 바랍니다.

설치과정은 여기에 나열하지는 않겠지만.. 기본적으로 "Next", "Yes"를 누르면 되겠죠.. ^^

설치가 완료되면 "시작" 메뉴에 "ADL" > "Sample RTE 1.3.3" 이란 메뉴가 생성되어 있을 것입니다.
또한, C:\ADL\Sample_RTE_1_3_3 와 같은 폴더도 만들어져 있을 것입니다.

윈도우 탐색기를 열어서 확인해 보시기 바랍니다.

4. SCORM Sample RTE 환경 설정

Sample RTE를 설치한 후 몇가지 환경설정을 해주어야 합니다.

먼저 인터넷 익스플로러를 열어보세요.. 그리고 "도구" 메뉴의 "인터넷 옵션"을 클릭합니다.
"일반" 탭의 중간에 있는 "임시 인터넷 파일"에서 "설정"을 클릭합니다.
"저장된 페이지의 새 버전 확인"에서 "페이지를 열 때마다" 라디오 버튼을 클릭한 후, "확인" 버튼을 누릅니다.

이 작업은 인터넷 익스플로러의 캐시기능을 조절하는 것입니다. 페이지 열 때마다 새로운 페이지를 가져오라는 것이죠..

Windows XP의 SP2를 사용하시는 경우, 인터넷 익스플로러에서 한가지 설정을 더 해주어야 합니다.
"도구" 메뉴의 "인터넷 옵션"을 클릭합니다.
"고급" 탭으로 이동한 후, "보안"에 있는 "[내 컴퓨터]에 있는 파일에서 액티브 컨텐트가 실행되는 것을 허용"을 체크합니다.
그리고 나서 "확인" 버튼을 클릭합니다.

다음으로 자바 관련 설정을 할 차례입니다. (휴~ 뭔 설정이 이리도 많은지.. 그래도 잘 따라오고 있죠.. 기지개 한번 펴시고 진행하시기 바랍니다.)

"시작" 메뉴에서 "설정"하위의 "제어판"으로 들어갑니다.
"제어판"에서 "Java Plug-in" 항목을 실행합니다. (java 1.5를 설치한 경우, 이 메뉴가 없습니다. 1.4 버전일 경우 따라하세요.~)
"Cache" 탭으로 이동해서 "Enable Caching"의 체크를 해제합니다. (체크하지 않는 상태로 둡니다.)
"Apply"버튼을 눌러 적용시킵니다.

이제 마지막 설정입니다.

Sample RTE에 포함된 데이터베이스의 설정에 약간의 문제가 있습니다. 특정 필드를 DateTime 형식으로 잡아놨는데요..
한글윈도우에서는 제대로 동작하지 않습니다. 그래서 변경한 MDB 파일을 자료모음에 올려두었습니다.
자료모음에서 SampleRTE.mdb 파일을 다운로드 하셔서 C:\ADL\Sample_RTE_1_3_3\database 위치에 덮어쓰시기 바랍니다.

mdb를 수정할 수 있으신 분은 파일을 열어서.. CourseInfo 테이블의 ImportDateTime 필드의 속성을 "텍스트"로 변경하시고 사용하셔도 동일한 결과를 가져옵니다.

이렇게 하면 모든 설정이 완료되었습니다. 이제 SampleRTE를 실행하고 종료하는 방법과 위에서 다운로드한 Photoshop 콘텐츠를 업로드 하고 테스트 해보도록 하겠습니다.

설치와 관련된 궁금한 점은 Q&A 게시판을 이용해 주시면 감사하겠습니다.

SCORM SampleRTE 활용

SCORM Sample RTE를 실행해 보도록 하겠습니다.

"시작" > "ADL" > "Sample RTE 1.3.3" > "Start Server"

를 누르면 Sample RTE가 실행됩니다. 도스 창에 Tomcat이라고 해서 여러 정보가 뜨는 것을 볼 수 있습니다.
서버를 실행 한 후, 다음을 선택하면 Sample RTE 페이지를 볼 수 있습니다.

"시작" > "ADL" > "Sample RTE 1.3.3" > "Sample RTE 1.3.3"

웹 페이지가 하나 나타납니다. 왼쪽 상단의 "Log In"을 클릭합니다.

Username : admin
Password : admin

을 입력해 보세요.. 사용자 메뉴와 관리자 메뉴가 나타날 것입니다. 이제 Sample RTE를 사용할 수 있는 환경이 모두 갖춰진 거네요~~ 짝짝짝!!!

Sample RTE는 SCORM 2004 콘텐츠를 업로드 하여 테스트 해볼 수 있는 프로그램입니다.

그럼.. 앞에서 다운로드 한 Photoshop.zip 파일을 업로드 해 보도록 하겠습니다.

"Administrator Options"에서 "Import Course"를 클릭하세요..
"찾아보기"에서 Photoshop.zip 파일을 선택하시고.. Yes/No 버튼은 기본값인 Yes로 유지합니다. (Yes는 SCORM 호환 여부를 체크하므로 시간이 좀 오래 걸립니다. No는 SCORM 호환여부를 체크하지 않고 바로 업로드를 수행합니다.)
"Submit" 버튼을 클릭하세요..

파일 등록중 오류가 발생하면, 앞의 환경설정에서 빠진 부분이 없는지 다시한번 체크하시기 바랍니다.

"Course Has Been Imported" 메시지가 나오면 성공한 것입니다.

그럼 학습을 해보도록 하겠습니다.

"User Options"에서 "Register For a Course"를 클릭합니다.
Available Course에 Photoshop Example이 나와 있는 것을 확인할 수 있습니다. 체크 버튼을 선택하시고 "Submit" 버튼을 클릭합니다.

"View Registered Course로 이동합니다. "Photoshop Example"를 선택합니다.

학습창이 정상적으로 나타날 것입니다. [Blocked] page라는 것이 나타나기도 할 것입니다. 이것은 시퀀싱 정보라는 것이 없어 나오는 것이니 오류가 아니다라고 알아 두시기 바랍니다.

왼쪽 메뉴를 클릭해서 콘텐츠를 보시기 바랍니다. 특히 Qeustion1을 클릭해 보세요..
좀전에 로컬에서 html 파일을 실행했을 때, 나왔던 자바스크립트 경고 메시지가 나타나지 않을 것입니다. 즉, 서버랑 정상적으로 연동되고 있다는 의미입니다.

상단의 "Quit"를 눌러서 학습창에서 빠져나오시기 바랍니다.

이제 서버를 종료하는 방법을 설명드리겠습니다. 눈치가 빠른 분이 이미 아시겠지만... 실행과 비슷한 방법으로

"시작" > "ADL" > "Sample RTE 1.3.3" > "Stop Server"

하시면 되겠습니다.

마지막으로 Sample RTE의 각 메뉴에 대한 개략적인 설명을 하겠습니다.

User Options
Register For a Course : 수강신청입니다. 등록된 과목에 대해 신청하는 메뉴입니다.
View Registered Courses : 수강신청한 과목을 학습하는 메뉴입니다. 학습창이 떴었죠..
View Course Status : 학습결과를 확인하는 메뉴입니다. SCORM 스펙에 맞추어 Satisfied / Completed 등이 나타납니다.
Change My Profile : 개인 정보수정 메뉴입니다.
Logout : 로그아웃 메뉴입니다.

Administrator Options
Import Course : 과목을 등록하는 메뉴입니다. zip 파일로 등록하죠..
Manage Course : 이미 등록된 과목을 관리하는 메뉴입니다. 등록된 item에 Comment등을 추가할 수 있습니다.
Delete Course : 이미 등록된 과목을 삭제하는 메뉴입니다.
View All User's Course Status : 모든 사용자의 학습결과를 확인할 수 있는 메뉴입니다.
Add Users : 사용자를 등록하는 메뉴입니다.
Manage Users : 사용자의 정보를 수정하는 메뉴입니다.
Delete Users : 사용자를 삭제하는 메뉴입니다. (admin은 삭제하면 안되겠죠.. )
Global Objectives Administration : Global Objective를 설정하는 메뉴인데요.. 자세한 것은 시퀀싱에서 살펴보죠..
Clear Database : 데이터베이스를 깨끗하게 초기화 합니다.


마치면서

이번 강의에서 생각보다 많은 것을 살펴봤습니다.

SCORM Adopter와 Certification의 차이..
Photoshop 콘텐츠를 통한 SCORM 콘텐츠의 구성..
Sample RTE의 설치 및 활용..

처음에는 생소하고 어려운 점이 있을 수 있습니다. 하지만, 무턱대고라도 따라 하다보면 알게 되는 것이 IT 업무가 아닌가 합니다.
앞으로 SCORM 스펙과 관련된 강의가 3차례정도 더 진행될 것입니다.

이러닝 관련 분야가 아직까지도 널리 퍼져있는 것은 아니지만, 분명히 향후 중요한 요소가 될 것이므로 미리미리 관련 기술에 대해 숙지해두는 것도 좋은 경험이 될 거라고 생각합니다.

그럼.. 좋은 하루 되세요~~ 2006년 9월 25일.. From 미니

[#2. 콘텐츠 통합 모델 (Contents Aggregation Model - CAM)]

콘텐츠 통합 (Contents Aggregation)

콘텐츠 통합 모델 (Contents Aggregation Model)

메타데이터 (Metadata)



Posted by ukmie
,
Bruce Ekel 의 Thinking in Java 중
Java Programming Guidelines
http://www.faqs.org/docs/think_java/TIJ320.htm

Posted by ukmie
,

OPML

software 2007. 8. 16. 10:30

* 위키백과의 정의(http://ko.wikipedia.org/wiki/OPML)

OPML: Outline Processor Markup Language

다른 운영체제와 환경 상에서 돌아가는 어플리케이션 사이에 개요-구조화된(outline-structured) 정보의 교환을 허용하는 XML 기반의 포맷.RSS 피드를 공유하는 데 많이 쓴다.


* 김윤수님의 RSS 강좌중 OPML 소개
http://yesarang.tistory.com/24


* http://www.opml.org/


Posted by ukmie
,
ARQ 를 깔고 http://jena.sourceforge.net/ARQ/Tutorial/query1.html 에 나온대로
윈도우즈에서 실행해봤다.. 근데..Illegal URI  란다. --
D:\dev\ARQ-2.0>bat\sparql --data=doc\Tutorial\vc-db-1.rdf --query
=doc\Tutorial\q1.rq
Illegal URI: D:\dev\ARQ-2.0\doc\Tutorial\vc-db-1.rdf

음음,, 그렇다면..,
D:\dev\ARQ-2.0>bat\sparql --data=file:///D:/dev/ARQ-2.0/doc/Tutorial/vc-db-1.rdf
  --query=doc\Tutorial\q1.rq
---------------------------------
| x                             |
=================================
| <http://somewhere/JohnSmith/> |
---------------------------------
오호랏,, 자바니까..이렇게하면..?
D:\dev\ARQ-2.0>bat\sparql --data=doc/Tutorial/vc-db-1.rdf --query=doc/Tutorial/q-bp1.rq
----------------------------------------------------
| x                                | name          |
====================================================
| <http://somewhere/MattJones/>    | "Matt Jones"  |
| <http://somewhere/SarahJones/>   | "Sarah Jones" |
| <http://somewhere/RebeccaSmith/> | "Becky Smith" |
| <http://somewhere/JohnSmith/>    | "John Smith"  |
----------------------------------------------------
허무하군,, 어쨌든 돌아가니 기분은 좋다..홀홀

Posted by ukmie
,
Tom Gruber 의 발표자료와 간단한 평을 볼수 있는 곳
http://link.allblog.net/2279433/http://www.blogweb.co.kr/?p=140
Posted by ukmie
,
python 으로 제작된 시맨틱웹 프레임워크(?) .
RDF 파싱, 추론 등의 기능들을 가지고 있고,
Semantic Web Application Platform (SWAP)의 일부라고 한다.

http://infomesh.net/2001/cwm/

http://www.w3.org/2000/10/swap/doc/cwm.html
Posted by ukmie
,

보쌈 관련 문서

software 2007. 8. 6. 17:04
ETRI서 만든 추론엔진 보쌈 관련 문서가 있는곳
근데,, 한글버전은 못찾겠다.
http://bossam.wordpress.com/documentation/

Posted by ukmie
,
출처 : http://twlog.net/wp/index.php?p=96

현재 진행하고 있는 시맨틱 웹 FAQ top 10을 위해 복습을 위해 모아놓은 시맨틱웹 관련 자료 모음집.

W3C, RDF/OWL specifications, semanticweb.org, daml.org,
Dave Beckett’s Resource Description Framework (RDF) Resource Guide 등은 이미 너무 잘 알려져 있으므로 모두 빼놓은 상태.

다음 카페를 2년여 정도 운영하면서 회원들이 가장 많이 물어보는 질문을 중심으로 만들고 있기 때문에 자료는 시맨틱웹의 개요에 관한 한글자료가 가장 많다.

[한글 자료]

* 개요 *
보이지 않는 공간의 혁명, 시맨틱 웹
시맨틱웹의 가능성과 한계
웹의 진화와 미래, 시맨틱웹
Introduction to Semantic Web (시맨틱 웹의 개요)
웹의 진화, 시맨틱웹(Semantic Web)
시맨틱 웹의 개요와 연구동향
시맨틱웹 - 차세대 지능형 웹 기술
시맨틱 웹
차세대웹
Ontology: Semantic Web
Web Ontology Language와 그 활용에 관한 고찰 (위키)
네이버 지식in 질문 답변
<월요논단>웹 서비스와 시멘틱 웹

* 온톨로지 *
[특강]온톨로지에 대한 새로운 접근
온톨로지 관련 네이버 블로그
한국어정보처리와 온톨로지
웹온톨리지의 표준화

* 응용 *
시맨틱웹과 검색 시스템 연결
시맨틱 웹 기술을 적용한 지식관리시스템 아키텍처에 관한 연구
3차원 그래픽 웹 데이터베이스와 시맨틱 웹
효과적인 시맨틱 웹의 구현을 위한 마크업 언어
Semantic Web과 e-Learning

* 그외*
OWL 웹 온톨로지 언어
RDF Primer (한글)
시맨틱웹 관련 논문 모음
W3C 코리아 메일링 리스트
HOLLOBLOG (별주부뎐)
ZebehnLog
태우’s log
다음 시맨틱웹 카페
네이버 시맨틱웹 카페1
네이버 시맨틱웹 카페2
온톨로지

[영어 자료]

* 개요 *
Intro to SemWeb (또는 quicktime 버전)
The Semantic Web: A Primer
The Semantic Web (Scientific American 기사)
The Semantic Web: 1-2-3
The Semantic Web: An Introduction
The Semantic Web In Breadth
August 2009: How Google beat Amazon and Ebay to the Semantic Web
Semantic Web (wikipedia 정의)
Questions on Semantic Web
RDF Introduction
Making a Semantic Web
Tutorial on OWL

* 응용 *
시맨틱웹 응용 Case (WWW 2004)
ISWC 2004: Demo Papers
Ontology-Driven Software Development in the Context of the Semantic Web
온톨로지 모음1 (schemaweb)
온톨로지 모음2 (rdfdata.org)

* Extensive *
[Always On 기사] Tomorrow’s Semantic Web: Understanding What We Mean
[Always On 기사] It’s a Matter of Semantics
[Always On 기사] Deep Thought
[Always On 기사] Mining the Semantic Web
[Always On 기사] On the Radar: The Relationship Web
[Always On 기사] The Ontological Challenge
[Always On 기사] Semantic Development in the Enterprise
[Always On 기사] Economies of (Semantic) Scale
[Always On 기사] Because Humans Are Chaotic, Our Systems Are Chaotic
Missing Web
SIG SEMIS 기사 모음
rdf vs. xml
Scalability Report on Triple Store Applications
The Semantic Web in Ten Passages


* 그외 *
Semantic Web Tutorial 자료 모음
The Semantic Web, Syllogism, and Worldview
WWW Past & Future - Berners-Lee - Royal Society
Building the Semantic Web
시맨틱웹 수업 1
시맨틱웹 수업 2
W3C 소개
Semantic Web, Phase 2: Developments and Deployment
W3C 시맨틱웹 메일링 리스트
rdfweb-dev 메일링 리스트
시맨틱웹 관련 블로그

+++

ㅁ The Semantic Web

(by Tim Berners-Lee, James Hendler and Ora Lassila. Scientific American)

ㅁSearch RDF data with SPARQL

   SPARQL and the Jena Toolkit open up the semantic Web

   Philip McCarthy (philmccarthy@gmail.com), Software development consultant, Independent    -  10 May 2005

ㅁAn Idiot's Guide to the Resource Description Framework


ㅁ KEM 고도화를 위한 온톨로지 기반 시맨틱 웹 연구

- 시맨틱웹 기술전반에 대한 개략적인 설명과 국내외 사례, 그리고 실제 적용을 위해
설계한 예를 볼수 있는 꽤 유용한 자료

* KEM(korea educational metadata)

http://www.keris.or.kr/upload/board01/250285503.pdf



Posted by ukmie
,
P 대(對)NP 문제 해결 전망

출처 : http://www.semtl.co.kr/cgi-bin/science_cont_view.cgi?dir=&id=pds/math
&page=3&action=view&number=10

싸고 좋은 물건을 사기 위해 이 가게, 저 가게 들러서 가격별로, 기능별로 목록을 작성하는 경우가 있다. 알뜰 구매를 하기 위해 조건에 맞춰 최선의 선택을 위한 정보를 수집해서 분석해 보는 것이다. 당연히 많은 가게를 알아보면 정리하는 시간이 많이 걸린다.
이렇게 일상 생활에서 문제가 주어지고 그것을 해결하기 위한 조건을 정하고 정답을 찾는 행위는 의식적인든 무의식적이든 항상 하고 있다.

그 런데 알뜰 구매같은 문제보다 훨씬 복잡한 문제에 부딪힐 때도 많다. 예를 들면 서가에 여러가지 종류의 책을 정리하는 경우다. 120권의 책을 3단 책꽂이에 정리한다고 치자. 크기, 모양, 장르, 꺼내는 빈도등 각종 기준이 많을 수록 최적화된 정리 순서를 결정한다는 것은 쉽지 않다. 이론적으로는 120!의 가짓수 중에 선택해야 하는 것이고 이것을 컴퓨터로 뽑아내는 것도, 그 중에서 골라 내는 것도 그리 쉬운 일이 아니다. 그러나 누군가 정리한 상태를 보고 관찰자가 자기 기준에 맞는 지를 검증하는 것은 어렵지 않다. 검증은 쉽지만 정답은 찾기 힘든 이런 문제를 수학에서는 비결정적 시간 다차항식 문제(NP, Nondeterministic-Time polynomial Problem)라고 한다,

알뜰 구매를 위해 알아본 목록을 가격별로 정리해내는 것은 일종의 수열 정리( Sorting )이다. 알고리즘으로 이진 트리를 쓰던 버블 소팅을 하던 푸는 시간은 항목의 갯수에 따르는 다항식으로 표현할 수 있다. 문제 해결 시간이 문제에 포함된 인수의 다항식으로 표현될 수 있는 문제를 다차항식 시간 결정 문제( P, Deterministic-Time Polynomial Problem)이라고 한다.

최 고급 최신식 컴퓨터로 계산하기에도 너무나 오래 걸리는 지수적인 복잡도를 가진 알고리즘으로만 해결되는 NP문제를 다차항적 시간이 소요되는 P 문제의 방식으로 실질적인 시간내에 해법을 제공할 수 있는가? 하는 염원이 생기지 않을 수 있다.

그렇다면 즉 P ⊆ NP 라는 포함관계를 인정할 때 P 가 NP와 같은지 아니면 P 문제가 아닌 순수한 NP문제가 있느냐? 는 질문을 할 수 있다. 이 두 집합이 동치라면 지수 함수적인 해결 시간이 걸리는 NP문제로 P에 준한 현실적인 알고리즘을 적용할 수 있게되는 것이 자명하다.

일상에서 부딪히는 어떤 문제를 쉽게 풀 수 있는 '꽁수'는 언제나 있을까?

만 약에 '꽁수'가 없는 문제라고 '생각'해 버리면 문제를 컴퓨터 따위로 해결해보려는 생각따위는 시간 낭비에 지나지 않는다. 그러나 '꽁수'가 항상 있다고 '생각'한다면 구식 컴퓨터라도 '천재적인 알고리즘'을 짜 넣기만 하면 세상에 풀리지 않을 문제는 없다. 아무리 어려운 암호라도 결국은 풀 수도 있다. 암호라는 것이 이론적으로 존재할 수 없다고까지 할 수 있다.

어려운 문제도 쉽게 풀 길이 있을까? 이런 의문에 대해 계속 연구가 이어지고 있다.

http://www.cs.bu.edu/fac/lnd/toc/
http://www.cs.toronto.edu/~sacook/
http://ural.wustl.edu/~slstrick/compgen_pres/sld001.htm
http://www.win.tue.nl/~gwoegi/P-versus-NP.htm
http://www.dm.ufscar.br/hp/hp501/hp501001/hp501001.html
http://www.claymath.org/millennium/P_vs_NP/Official_Problem_Description.pdf
http://www.win.tue.nl/~gwoegi/sipser.pdf


100만 달러 달린 수학문제 국내 교수들이 풀 듯…심사 최종단계

1971년 네오니드(Leonid Levin), 스테판(Stephen Cook)이 문제를 제기했다. 계산하기 어려운 문제도 결국은 쉬운 해법으로 계산하여 풀 수 있는가이다.

P Problem(Polynomial Time Problem) : 문제에서 주어진 인수로 구성된 다차항 함수의 시간을 소요하는 계산으로 '쉽게' 풀 수 있는 문제. 답을 찾기 쉽다.
NP Problem(Nondeterministic polynomial Time Problem) : 인수의 다차항의 시간을 소요하면 해답의 검증을 할 수 있지만 그 해답을 찾기는 '어려운' 문제.
NP Complete : NP 문제중 특히 '어려운' 문제들.



▲ Leonid Levin


▲ Stephen A. Cook



○…100만달러(약 12억원)의 현상금이 걸린 20세기 수학 문제가 국내 연구팀에 의해 풀릴 전망이다.

전 북대 김양곤(56·수학 통계정보과학부)교수팀은 “미국 클래이 수학재단(CMI)이 지난 2000년 상금 700만 달러를 걸고 발표했던 세계 7가지 난제 가운데 1번 문제를 푸는데 적용했던 ‘S-이론’이 CMI가 공인한 논문 평가 저널인 매스사이넷(MathSciNet)에 게재됐다”고 14일 밝혔다.

김 교수는 2003년 미국 위스콘신 대학 남기봉교수와 함께 1번 문제인 ‘P 대(對)NP’를 공동으로 해결,이듬 해 3월 인도의 SCI급 저널인 ‘JAADS’에 게재한 바 있다.

‘S -이론’은 김 교수팀이 P 대 NP 문제를 풀기 위해 개발,적용한 수학 원리로 이번에 매스사이넷에 초록이 게재되면서 CMI의 자체 심사를 거쳐 문제를 푼 것으로 인정받는 최종 단계에 한발짝 다가서게 됐다. 김 교수는 “매스사이넷에 ‘P 대 NP’ 해법과 관련한 논문이 실린 것은 이번이 처음”이라며 “최종 승인을 받는 절차에 본격 돌입할 수 있게 됐다”고 주장했다.

그러나 이러한 김 교수팀의 해법은 이 문제를 심사하게 될 심사위원들조차 모를 가능성이 커 2년여에 걸친 심사기간 수학계의 반응이 큰 영향을 미칠 것으로 알려져 왔다.

‘P 대 NP’는 컴퓨터 알고리즘과 관련된 분야로 예를 들어 외계에 생물체가 있는가 혹은 귀신은 존재하는가 등의 질문에 대해 ‘그렇다’는 가설을 세운 뒤 컴퓨터를 활용,이론적으로 완벽한 증명을 해내는 것을 뜻한다.

전주=김용권 기자 ygkim@kmib.co.kr 국민일보, 쿠키뉴스 2005-12-14


Posted by ukmie
,

시맨틱웹이란

software 2007. 8. 6. 11:18
출처 : http://www.kosen21.org/pls/kosendev/menu.home_index?vc_url=
/pls/kosendev/WEBZINE_CLIENT.contents_view?n_webzine_seq=
61%26n_board_seq=646%26n_data_seq=1032%26n_total=4

성원경
 한국과학기술정보연구원

[시맨틱 웹 기술과 응용 시스템]

시맨틱 웹에 대한 Tim Berners-Lee의 정의는 시맨틱 웹을 “확장된 현재의 웹(an extension of the current web)”으로 명시하였다. 그러나 시맨틱 웹은 이미 웹의 범위를 넘어, 정보서비스 분야와 같은 여타 분야에서도 정보 접근성(information accessibility) 향상을 위한 기술로서 폭넓게 응용되고 있다. 이는 시맨틱 웹의 구현을 위한 요소 기술들이 “시맨틱 웹 기술”이라는 하나의 독자적인 기술 영역으로 확장되었으며, 현재 웹의 확장으로서의 시맨틱 웹은 결과적으로 정보서비스 분야와 마찬가지로 “시맨틱 웹 기술”의 한 응용 영역이 되었음을 의미한다고 말할 수 있을 것이다.

시맨틱 웹 응용 시스템에서 시맨틱 웹 기술은 다음의 영역들에서 중요한 역할을 한다.

- 콘텐츠 부문
시맨틱 웹 응용 시스템에서 콘텐츠는 매우 중요한 위치를 점한다. 이는 시맨틱 웹 기술이 전술한 바와 같이 메타데이터에 기반하기 때문이다. 시맨틱 웹 기술에서의 콘텐츠는 정보 자원을 모델링하기 위한 OWL 온톨로지와 이에 기초하여 RDF 트리플 형태로 만들어진 정보 자원에 대한 메타데이터들로 구성된다. 여기서 한 가지 지적해야 할 것은 OWL이 유일한 온톨로지 표현 언어가 아니라는 것이다. 온톨로지는 오래 전부터 인공지능 분야의 주요 연구 대상이었으며 그 결과 KIF/S CL, OKBC, F-Logic, LOOM 및 UML 등과 같은 다양한 표현 체계가 사용되어 왔었다. 그러나 적어도 시맨틱 웹 기술 분야에서는 OWL이 표준 온톨로지 표현 언어로 지정되었으므로 시스템 및 콘텐츠 부문의 호환성과 상호운용성(interoperability)을 고려한다면 OWL의 사용은 필수적이라고 할 수 있다.

- 지원 도구 부문
지원 도구는 시맨틱 웹 응용 시스템의 개발을 지원하기 위한 것으로서 대표적인 지원도구로는 온톨로지 편집기인 Protégé(http://protege.stanford.edu/)와 시맨틱 정보 주석(semantic annotation) 도구인 Amaya(http://www.w3.org/Amaya/)가 있다. Protégé는 맨체스터 대학과 협력하여 스탠포드 대학에서 2007년 현재 버전 3.3 베타까지 개발되었으며 RDF, RDFS 및 OWL을 지원한다. 또한 Protégé의 기능 확장을 위해 함께 사용될 수 있는 87개의 다양한 플러그 인(plug-in)이 현재 제공되고 있다.
한편 W3C에서 개발된 Amaya는, html 문서 편집 기능뿐만 아니라 html 문서 내의 정보 개체에 시맨틱 정보를 부착할 수 있는 주석 기능도 갖추고 있어서, 시맨틱 웹 환경에 게시될 수 있는 웹 문서의 제작을 지원하는 도구로서 활용될 수 있다.
온톨로지 편집기나 시맨틱 주석 도구와 함께 언급될 만한 또 다른 지원 도구로는 URI 관리기를 들 수 있다. URI는 정보 자원의 정의와 식별을 위해 일종의 식별자(identifier)로 부여되는 것으로서, 동일 대상을 지칭하는 다양한 형태의 정보 자원들에게는 동일한 URI가 부여되어야 하며, 반대로 동일한 형태의 정보 자원들이라도 다른 대상을 지칭한다면 별개의 URI가 부여되어야 한다. 이는 같은 이름을 가져도 다른 사람이라면 다른 주민등록번호가 부여되는 것과 마찬가지 이치이다. 따라서 URI의 일관성 유지는 정보 자원들 간의 통합•연계 및 추론 과정의 일관성 확보를 위해 반드시 필요한 것이라 할 수 있다. 그러나 이와 같은 중요성에도 불구하고, 현재까지 URI의 일관성 유지에 대한 연구는 소수에 그치고 있으며 구현된 도구도 한국과학기술정보연구원(KISTI)의 OntoURI가 유일한 실정이다. 이는 아마도 시맨틱 웹 기술에 대한 연구가 온톨로지와 추론에 집중되고 있기 때문일 것이나 현실적인 시맨틱 웹 응용 시스템의 개발을 위해서는 반드시 다루어져야 할 사항이다.

- 엔진 부문
엔진 부문에는 시맨틱 웹 응용 시스템의 실행을 위해 필요한 소프트웨어들이 포함되며 OWL 추론 엔진이 그 대표적인 예이다. OWL 추론 엔진은 OWL 온톨로지와 대용량의 RDF 인스턴스 데이터를 저장하는 기능과 함께 추론 메커니즘을 따라 저장된 정보에 대한 질의 및 탐색을 고속으로 처리하는 기능을 수행한다.
OWL 추론 엔진은 추론 방식에 따라 “DL 기반 엔진”과 “규칙 기반 엔진”으로 구분된다. DL 기반 엔진은 tableaux 알고리듬을 사용하여 추론을 하며 RacerPro, FaCT, Pellet 등이 대표적이다. 반면 규칙 기반 엔진들은 FOL(First-order Logics), F-Logic, Production Rule 등으로 기술된 메타 추론 규칙을 사용하여 추론을 수행하는 것으로서 Jena, Bossam, JTP, XSB 등이 그 예에 속한다. 추론 엔진은 그 기능상 시맨틱 웹 응용 시스템의 성능을 좌우하는 핵심 엔진이다. 그러나 아직까지는 대개의 상용/비상용 추론 엔진들의 처리 대상 데이터의 규모가 작고 느린 응답 속도가 문제점으로 지적되고 있어 추가적인 개선이 필요한 실정이다.

- 표준 부문
시맨틱 웹 기술과 관련된 표준은 크게 수평적 표준(horizontal standard)와 수직적 표준(vertical standard)으로 구분된다. 수평적 표준은 시맨틱 웹 기술 일반 표준으로서 W3C의 RDF, RDFS 및 OWL에 대한 표준이 그 예이다. 현재까지의 시맨틱 웹의 수평적 표준들에는 온톨로지와 그 인스턴스들인 RDF 트리플들을 “어떻게 표현하는가?”에 대한 규정만이 언급되고 있으며 “어떤 방법으로 구축하며, 어떻게 적용하는가?”에 대한 규정은 존재하지 않는다. 그러나 구축 방법과 관련하여서는, 표준화된 것은 아니지만, CYC 방법론, KACTUS 방법론 등 다양한 방법론 등이 사용되고 있으며, 적용 방안 역시, 많은 관련 연구들이 진행 중이므로 추가적인 표준안이 마련될 수 있을 것으로 기대한다.
수평적 표준에 대비되는 수직적 표준은 특정한 분야의 특정 목적을 위해 제정된 것들로서, 시맨틱 웹 기술과 관련된 주요 수직적 표준들로는 저작물의 메타데이터 표현을 위한 DC(Dublin Core), 블로그와 같이 갱신이 잦은 디지털 콘텐츠의 배포를 위한 RSS(Really Simple Syndication) 그리고 세계 표준은 아니지만 의료 분야의 용어 표준화 및 통제를 위하여 사실상 의료 분야의 표준으로 활용되고 있는 UMLS(Unified Medical Language System) 등이 있다.

[시맨틱 웹 기술의 응용 분야]

다음 그림은 현재 시맨틱 웹 기술이 활용되고 있거나 활용이 가능한 다양한 응용 분야를 예시한다.



위의 응용 분야들에서의 시맨틱 웹 기술의 활용 범위는 크게 “시맨틱 정보 주석”, “온톨로지 기반의 통합” 및 “추론”으로 구분된다. 이 가운데서 “시맨틱 정보 주석”은 시맨틱 웹 기술을 가장 기초적인 수준에서 응용하는 것으로서, 최근 웹 2.0에서 많이 언급되고 있는 사용자 태그 또는 folksonomy를 활용하여 문서 정보뿐만 아니라 멀티미디어 정보들을 분류•연계하는 포털들이 그 대표적인 응용 사례에 속한다. 그러나 사용자 태그의 경우, 태그들의 의미와 태그들 간의 관계에 대한 명확한 정의가 없다는 것은 문제점으로 지적될 수 있을 것이다. 동일한 태그도 사용된 의미와 용도가 다르다면 태그를 통한 정보의 의미적 분류 및 연계는 불가능하기 때문이다. 이와 같이 주석 정보의 활용은 반드시 온톨로지를 전제로 한다.

시스템 통합과 상호운용성 분야도 온톨로지가 매우 유용하게 사용될 수 있는 분야이다. 통합과 상호운용성은 기본적으로 구문적(syntactic), 구조적(structural) 합의가 필요하다. 구문적 합의를 통하여 교환되는 정보 또는 메시지의 형식을 정의하여야 하며 구조적 합의를 통하여 교환 정보의 구조를 통일하여야 한다. 그러나 진정한 통합 및 상호운용성을 위해서는 무엇보다도 교환되는 정보의 해석과 관련된 의미적 합의가 반드시 필요하며 이때 시맨틱 웹 기술의 온톨로지가 활용될 수 있다. 대표적인 사례로는 SOA(Service-Oriented Architecture)와 Web Services를 들 수 있는데, SOA와 Web Services는 컴포넌트 서비스에 대한 메타데이터의 생성과 관리에 온톨로지를 적용하여 서비스들 간의 의미적 통합 및 상호작용이 가능한 “시맨틱 SOA”, “시맨틱 Web Services”로 발전하고 있다.

마지막으로, 정보 검색 및 지식 관리 분야도 시맨틱 웹 기술의 적용이 시도되고 있는 주요 분야 중 하나이다. 이 분야에서는 정보 획득, 조직화 및 교환 측면에서 많은 난제들이 제기되어 왔었다. 키워드를 사용하는 기존 방식에서는 필요한 정보를 찾고, 분석하고 또한 이형의 시스템들 간의 정보를 공유•교환하는 것이 매우 어려웠기 때문이다. 시맨틱 웹 기술은 이러한 문제점들을 해결하기 위한 방안으로 적용이 시도되고 있으나 대상 데이터 규모가 방대하고 특히 앞에서 언급했듯이 추론 엔진의 성능이 아직은 충분하지 않아서 문제 해결에는 다소의 시간이 필요할 것으로 예상된다.

[시맨틱 웹 기술의 미래]

WWW2004 기조 연설에서 Tim Berners-Lee는 다음과 같이 말하였다.

“Semantic web is for connecting things“

(출처: http://www.w3.org/2004/Talks/0519-tbl-keynote/slide17-0.html)

이는 시스템이든 자원이든 연계가 필요한 영역이라면 모두 시맨틱 웹 기술의 적용이 가능하다는 것으로서, 달리 말하자면, 시맨틱 웹 기술은 정보기술 전반에 적용이 가능하다는 것을 의미한다.

정보기술 전반에는 이와 같이 시맨틱 웹 기술의 발전과 함께 변화의 물결이 일고 있으며 시맨틱 웹 기술은 그만큼 많은 관심과 기대의 대상이 되고 있다. 그러나 이러한 변화의 물결이 찻잔 속의 물결에 그치지 않기 위해서는 이미 구축되어 있는 정보들로부터 시맨틱 메타데이터를 생성하는 과정을 효율적으로 지원할 수 있는 기술 개발이 필요하다. 새로운 정보들은 시맨틱 웹 기술의 지식화 과정에 따라 구축하여 즉시 사용할 수 있겠으나, 이미 구축되어 있는 대량의 정보들은, 대응하는 시맨틱 메타데이터가 없을 경우, 시맨틱 웹 기술의 혜택을 볼 수 없기 때문이다. 시맨틱 웹 기술이 아무리 좋은 기술이더라도 이미 존재하는 대량의 정보들을 처리할 수 없다면 그 미래가 보장되기 어려울 것이라는 것은 자명하다.

그러나 시맨틱 웹 기술에서 무엇보다도 당장 필요한 것은 제기된 모든 문제를 해결하기 위하여 기술 자체를 고도화하는 것이 아니라 현실적인 상황에서 실제로 쓰이는 사례를 많이 만들어 내는 것일 것이다. 미흡한 부분이 있더라도 실제로 시맨틱 웹 기술이 적용되어 상당한 개선이 보이고 그 결과가 검증된다면 시맨틱 웹 기술을 활용하고자 하는 추세는 더욱 강화될 것이며 이로 인해 시맨틱 웹 기술의 더 많은 발전이 가능할 것이다.
Posted by ukmie
,