160 likes | 286 Views
RESTful project. sungkipyung@gmail.com 성기 평. 목 차. 배경 개발 환경 기능 명세 XML 경로정보 지역정 보 API 인터페이스 진행 상황 참고 자료. 배 경. 낮선 위치에 함께 여행을 갔을 때 약속 장소나 길안내를 하기 어려운 경험이 있다 . 지도를 조회하고 그림이나 글을 남길 수 있고 다른 사람과 정보를 쉽게 공유할 수 있었지만 1:1 통신 이기 때문에 정보가 쉽게 공유되지 않는다 .
E N D
RESTfulproject sungkipyung@gmail.com 성기평
목 차 • 배경 • 개발 환경 • 기능 명세 • XML • 경로정보 • 지역정보 • API 인터페이스 • 진행 상황 • 참고 자료
배 경 • 낮선 위치에 함께 여행을 갔을 때 약속 장소나 길안내를 하기 어려운 경험이 있다. • 지도를 조회하고 그림이나 글을 남길 수 있고 다른 사람과 정보를 쉽게 공유할 수 있었지만 1:1 통신 이기 때문에 정보가 쉽게 공유되지 않는다. • RESTful service를 구현하여 p2p의 한계를 극복하는 것을 목표로 하고 있다.
개발 환경 • Spring Framework • 다양한 library, storage등을 쉽게 사용할 수 있는 개발환경을 제공한다. • Google App Engine • 서버가 없어도 서비스를 구축하기 쉽고 유지비용이 싸다. • DB Big Table • 트레픽이 많은 서비스로 발전될 가능성을 고려한다. • 안정적인 서비스를 제공할 수 있다. • Jersey • RESTful service를 구현하는데 편리한 library다. • 상용서비스를 하기에는 한계가 있다. • Maven • 프로젝트에서 사용하는 여러 라이브러리 환경 및 빌드환경 관리를 용의하게 하기 위해 사용한다.
기능 명세 • 정보를 얻기 위해 클라이언트는 키워드와 얻고자 하는 식별정보를 서버에 넘겨준다. • 서버는 식별정보를 바탕으로 클라이언트에 어떤 정보를 줄지 결정한다. • 식별정보는 경로, 사진및 텍스트이다. • 정보는 태그를 통하여 클라이언트에게 검색된다.
routeinfs+xml <routeInfos> <routeInfo> <tags> <tag>신촌</tag> <tag>맛집</tag> … </tags> <route> <coordinate>위도, 경도</coordinate> <coordinate>위도, 경도</coordinate> </route> </routeInfo> <routeInfo> … </routeInfo> … </routeInfos>
localinf+xml <localInfos> <localInfo> <tags> <tag>신촌</tag> <tag>맛집</tag> … </tags> <coordinate>위도, 경도</coordinate> <picture>url</picture> <!– text는 200자로 한정한다. --> <text>base-64 encoded text</text> </localInfo><localInfo> … </localInfo> … </localInfos>
search.xml • <search> • <id>my idcode</id> • <tags> • <tag>서울</tag> • <tag>맥도날드</tag> • …. • </tags> • </search>
uproute+xml <uproute> <id>0x67452301</id> <routeInfo> <tags> <tag>신촌</tag> <tag>맛집</tag> … </tags> <route> <coordinate>위도, 경도</coordinate> <coordinate>위도, 경도</coordinate> </route> </routeInfo> </uproute>
uplocal+xml <uplocal> <id>0x67452301</id> <localInfo> <tags> <tag>신촌</tag> <tag>맛집</tag> … </tags> <coordinate>위도, 경도</coordinate> <picture>url</picture> <!– text는 200자로 한정한다. --> <text>base-64 encoded text</text> </localInfo> </uplocal>
경로정보 조회 • 경로 정보 조회 api를 호출하면서 search 형식의 xml 데이터를 넘겨준다. • 성공적으로 조회한 경우 routeinfs형식의 xml 데이터를 반환한다.
지역정보 조회 • 경로 정보 조회 api를 호출하면서 search 형식의 xml 데이터를 넘겨준다. • 성공적으로 조회한 경우 localinf형식의 xml 데이터를 반환한다.
경로정보 upload • 경로 정보 업로드 api로 요청 시 uproute xml 형식을 넘겨준다. • 성공적으로 조회한 경우 201번을 리턴한다.
지역정보 upload • 경로 정보 업로드 api로 요청 시 uproute xml 형식을 넘겨준다. • 성공적으로 조회한 경우 201번을 리턴한다.
참고자료 • RESTful URL 설계방법 • http://www.peej.co.uk/articles/restfully-data.html • Jersey • http://blogs.sun.com/japod/entry/building_simple_jersey_web_app • Google app engine with maven • http://blog.easygoingdev.com/35#recentComments