150 likes | 499 Views
CRS : Course Management System 개발 소개 문서. KAIST 07 유지현. 목차. 문서의 목적 개발 환경 소개 개발 서버 소개 개발 개요 개발 방식 예상되는 문제점 질의응답. 문서의 목적. 이 문서의 목적은 cs408 CRS 시스템을 개발하는 개발자들에게 시스템 개발 환경에 대한 이해를 돕고 , 좀 더 쉽게 개발을 할 수 있도록 돕는 것입니다 . 중요한 내용이 많이 들어가 있으니 집중해 주세요. 개발 환경 소개. 본 프로젝트에서는 다음과 같은 개발 도구들을 사용합니다 .
E N D
CRS : Course Management System개발 소개 문서 KAIST 07 유지현
목차 • 문서의 목적 • 개발 환경 소개 • 개발 서버 소개 • 개발 개요 • 개발 방식 • 예상되는 문제점 • 질의응답
문서의 목적 • 이 문서의 목적은 cs408 CRS 시스템을 개발하는 개발자들에게 시스템 개발 환경에 대한 이해를 돕고, 좀 더 쉽게 개발을 할 수 있도록 돕는 것입니다. • 중요한 내용이 많이 들어가 있으니 집중해 주세요.
개발 환경 소개 본 프로젝트에서는 다음과 같은 개발 도구들을 사용합니다. • Database Server : Oracle 11g • 현재 개발 서버에 설치되어 있습니다. • Service Server : Tomcat/BlazeDS • 현재 개발 서버에 설치되어 있습니다. • Eclipse/Java를 이용해서 개발하게 됩니다. • Client Application : Flex3 • Eclipse/Flex를 이용해서 개발하게 됩니다.
Database Server : Oracle 11g • 현재 학교 측에서 사용하는 데이터베이스입니다. • 개발 서버에 설치되어 있습니다.
Service Server : Tomcat/BlazeDS • Client Application과 통신하게 되는 서비스 서버입니다. • Flex와 RPC(Remote Procedure Call)을 이용하여 통신하게 됩니다. • Java를 사용합니다. Eclipse 사용을 권장합니다. • Cairngorm framework를 사용합니다. • 서버 개발자가, Tomcat/BalzeDS를 무시하고 개발할 수 있는 환경을 만들었습니다.
HTTPService ServiceLocator WebService RemoteObejct Cairngorm Framework • 그래서, 뭘 해야 하는데? • 나머지는 다 client programmer가 처리합니다. Result핸들러에 결과 이벤트로 전달 8 RPC호출 결과 값 저장 9 Command BusinessDelegate ModelLocator RPC서비스 호출 위임 3 변경된 데이터 알림 유저이벤트와 함께 데이터 전달 RPC서비스 호출 RPC호출 결과 4 10 2 7 유저로부터 이벤트발생 1 FrontController View RPC서비스 호출 결과 오브젝트 생성 6 5 RPC호출 결과를 오브젝트에 수용 ValueObject 이것만 만들면 됩니다.
Client Application : Flex3 • 사용자가 실제로 접근하게 되는 클라이언트입니다. • Flex를 이용하여 개발하게 되며, RPC를 이용하여 Tomcat/BlazeDS service와 통신하게 됩니다. • Cairngorm framework를 사용합니다.
개발용 서버 소개 • neutron10.kaist.ac.kr 서버를 개발용으로 사용합니다. • Windows server 2008을 사용합니다. • 현재 Tomcat/Blazeds/Oracle이 설치되어 있습니다.
개발 역할 분담 • Database System(Oracle) : 박성헌 • Service System(Tomcat/BlazeDS) : 박문형, 배경윤 • Client Application(Flex) : 문태훈, 유지현
개발 개요 Database Server (Oracle 11g) • 개발자 : 박성헌 • DB 스키마 관리 • 필요한 쿼리 작성 • Service programmer가 DB에 간접적으로 접근할 수 있는 DB wrapper를 java로 작성, serviceprogrammer에게 제공한다. Query Result Service Server (Tomcat/Blazeds) • 개발자 : 박문형, 배경윤 • Client에서 요청을 받아 DB wrapper를 경유하여 DB를 참조, 필요한 데이터를 반환한다. • Client programmer가 제시한 RPC call spec에 따라 입력을 받았을 때 절대 문제가 생기지 않도록 exception handling과 unit test를 진행한다. RPC Result Client Application (Flex) • 개발자 : 문태훈,유지현 • 클라이언트 어플리케이션을 만든다. • Service server에 불필요한 부하가 걸리는 일이 없도록 클라이언트 차원에서의 최적화를 진행한다. • 각 view마다 필요한 RPC call spec를 작성하여 service programmer에게 전달한다.
개발 방식 Development DB Server Development Service Server Communication when testing Subversion BlazeDS를 구성하는 class만을 포함 Update Test Update Test Update classes Never Commit Source Update Wrapper class commit Update/Commit Classes Client programmer DB programmer Service programmer • DB wrapper class를 만들어 svn server에 commit • Client programmer가 제시한 RPC call spec을 만족하는 함수를 DB wrapper를 활용하여 구현 • Svn server에 service class commit • Service programmer가 작성한 class를 service server에 update, 이를 이용하여 client 개발 Development service server 는 client programmer 만 접근할 수 있습니다.
개발 방식 • Wiki를 이용, 만들어진 class들의 reference 문서를 작성한다. • 각각의 클래스마다, • 각각의 함수마다, • Input parameter • Return value • 함수의 역할 • 참고/주의 사항 • State(Not yet, Dummy, Complete, Error, Disposed) • http://haje.kaist.ac.kr/~yjh0502
예상되는 문제점 • Server programmer가 부지런해야 한다. • Subversion의 update를 server programmer만 하기 때문에, DB/client쪽의 요청을 빨리빨리 반영할 수 있어야 한다. • 요청이 들어오면, 작업을 할 수 있도록 일단 dummy라도 넣어주자.