4. WSE Core 설계 및 구현

이번에는 EH WSE 솔루션의 여러 컴포넌트에서 공통적으로 사용할 형식들을 제공하는 WSE Core 라이브러리를 설계하고 구현합시다.

 

WebCollect 시퀀스 다이어그램과 NeedGetUrls에서는 수집할 대상 사이트를 얻어오는 부분이 있습니다. 이를 Candidate 형식으로 정의합시다. 웹 로봇은 웹 사이트를 수집하였을 때 이를 DBM ForAll을 통해 DBMS에 저장을 요청합니다. 이를 위해 PostedUrl 형식을 정의합시다.

 

웹 사이트의 내용이나 검색 질의는 형태소 분석기에 의해 분석하고 이 결과를 사용하여 역 파일을 만드는 작업이나 검색에 사용합니다. 이를 Morpheme 형식으로 정의합시다.

 

검색 요청 시에 랭커는 검색 결과에 순위를 부여합니다. 이 때 역 파일 생성기에 의해 만들어진 정보를 이용하는데 이를 역 파일 요소라는 의미로 InvertedElem 형식을 정의합시다. 검색 순위가 정해지면 결과를 제공하는데 이 때 웹 페이지 정보와 점수 등을 포함하여 결과 데이터 형식을 RankedUrl 이름으로 제공합시다.

 [그림 4.1] WSE Core 클래스 다이어그램

[그림 4.1] WSE Core 클래스 다이어그램

 

각 클래스의 상세 정보는 별도의 설계 과정을 거치지 않고 구현 과정에서 설명하기로 할게요.

 

이제 WSE Core 프로젝트 명으로 클래스 라이브러리 유형의 프로젝트를 추가합시다. 그리고 기본으로 제공하는 파일은 제거하세요.

 

[그림 4.2] WSE Core 프로젝트 생성
[그림 4.2] WSE Core 프로젝트 생성

라이브러리 형태의 프로젝트는 사용하는 곳에서 어떤 형식을 제공하고 어떤 멤버를 사용할 수 있는지 사용하는 개발자를 위해 편의성을 제공하면 좋습니다.

 

프로젝트 메뉴에서 [WSE Core 속성]을 선택한 후에 빌드 탭을 선택하여 XML 문서 파일 체크박스를 선택하세요. 이처럼 설정하면 라이브러리에서 노출하는 형식과 노출하는 멤버에 관한 세 줄 주석을 작성하지 않으면 빌드 시에 경고를 나타냅니다. 여러분께서 세 줄 주석을 작성하면 Microsoft Visual Studio.NET 개발 도구는 인텔리센스가 작동하여 작성한 주석의 내용을 보여줍니다. 이는 라이브러리를 사용하는 개발자에게 라이브러리를 쉽게 사용할 수 있게 해 줍니다.

 

[그림 4.3] 프로젝트 속성 설정
[그림 4.3] 프로젝트 속성 설정