U E D R , A S I H C RSS

Project Prometheus/개요


내가 우리학교에 고마워하는 몇 안되는 것 중 하나는 중앙도서관이다. 재학시절 내 지식의 젖줄이 되어줬다. 신청하고 몇 달을 기다려 받아 본 책들이나, 내가 찾아낸 숨겨진 보물들, 십년도 더 된 저널들... 정말 귀중한 도움이 되었다. 나를 키운 것은 도서관이었다. 그래서 학교 도서관에 애착이 많다.
하지만, 현재의 도서관 시스템은 사용하면 할 수록 불편한 시스템이다. "Ease of Learning"(MS 워드)과 "Ease of Use"(Emacs, Vi) 어느 것도 충족시키지 못한다.

나는 우리학교 도서관에 아마존 스타일의 시스템(많이도 말고, 도서별 리뷰 등록, 별표 평가, 고객 클러스터링을 통한 서적 추천, 도서별 대출/검색 횟수를 통한 베스트셀러 집계 및 이에 대한 통계 분석 -- 예컨대 공대 학생의 베스트셀러, 경영학과의 베스트셀러, 4학년의 베스트셀러 등 -- 같은 것만이라도) 을 도입하면 학생들의 독서량이 두 배는 높아질 것이라고 확신하며, 이것이 다른 곳(정문 바꾸기 등)에 돈을 쓰는 것 몇 십 배의 가치를 지속적으로 만들어 낼 것이라 믿는다. 이제는 도서관도 인터넷 서점을 벤치마킹 해야 한다.

지금 도서관의 온라인 시스템은 상당히 오래된 레거시 코드와 아키텍춰를 거의 그대로 사용하면서 프론트엔드만 웹(CGI)으로 옮긴 것으로 보인다. 만약 완전한 리스트럭춰링 작업을 한다면 얼마나 걸릴까? 나는 커스터머나 도메인 전문가(도서관 사서, 학생)를 포함한 6-8명의 정예 요원으로 약 5 개월의 기간이면 데이타 마이그레이션을 포함, 새로운 시스템으로 옮길 수 있다고 본다. 우리과에서 이 프로젝트를 하면 좋을텐데 하는 바램도 있다(하지만 학생의 사정상 힘들 것이다 -- 만약 풀타임으로 전념하지 못하면 기간은 훨씬 늘어날 것이다). 외국의 대학 -- 특히 실리콘벨리 부근 -- 에서는 SoftwareEngineeringClass에 근처 회사의 실제 커스터머를 데려와서 그 사람이 원하는 "진짜" 소프트웨어를 개발하는 실습을 시킨다. 실습 시간에 학부생과 대학원생이, 혹은 저학년과 고학년이 어울려서(대학원생이나 고학년이 어울리는 것이 아주 중요하다. see also SituatedLearning ) 일종의 프로토타입을 만드는 작업을 하면 좋을 것 같다. 엄청나게 많은 것을 배우게 될 것이다.

이런 프로젝트가 컴공과 학생에게 쉽게 떨어질리는 만무하다. 그래서 대부분은 디자인 단계에서 끝내게 된다. 유스케이스 몇개 그려보고 끝나는 것이다. 좀 더 용감하고 야망이 높은 사람들은 밑바닥부터 구축을 해나갈지도 모르겠다. 어찌 되었건 프로그래밍은 중요하다. 빌게이츠가 늘 하는 말이 "Code is the thing"이란다. 만약 프로그래밍을 직접 해보지 않고 끝내게 되면 자신이 배울 수 있는 엄청난 크기의 빙산을 그냥 지나치는 셈이다.
전부 다 만들기엔 시간과 용기가 부족한 사람들은 기존 시스템에의 랩퍼(wrapper)를 만들 수도 있다.

즉, 현재의 도서관 시스템을 일종의 웹서비스로 이용하는 것이다. 직접 CGI로 쿼리를 보내고 받아오는 HTML을 파싱해서 적절한 XML로 치환해주는 레이어를 만든다. 이렇게 하면 "일반적 도서관 랩퍼"를 만들 수 있다. 즉, 어느 도서관 시스템에든지 약간만 수정하면 적용할 수 있게 된다.

사용자는 이 랩퍼를 통해 로긴을 하고, 책 평가도 하고, 리뷰도 쓰고, 베스트셀러 검색도 하고, 대출 예약도 한다. 기존 시스템의 모집합이 되는 셈이다. (하지만 꼭 그럴 필요는 없다. 중요하고 자주 쓰이는 기능만 노출해도 충분하다)

일단 이걸 만든 사람들이 열심히 사용하다가, 우리과 사람들이 점점 더 쓰고, 나중엔 다른 과 학생들까지 쓰다보면, 혹시 모르잖는가. 정말 이런 시스템으로 도서관을 바꿀 생각을 정책입안자들이 하게 될지.

--JuNe
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-05-27 07:09:19
Processing time 0.0920 sec