1 / 16

RESTful project

RESTful project. sungkipyung@gmail.com 성기 평. 목 차. 배경 개발 환경 기능 명세 XML 경로정보 지역정 보 API 인터페이스 진행 상황 참고 자료. 배 경. 낮선 위치에 함께 여행을 갔을 때 약속 장소나 길안내를 하기 어려운 경험이 있다 . 지도를 조회하고 그림이나 글을 남길 수 있고 다른 사람과 정보를 쉽게 공유할 수 있었지만 1:1 통신 이기 때문에 정보가 쉽게 공유되지 않는다 .

zalika
Download Presentation

RESTful project

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RESTfulproject sungkipyung@gmail.com 성기평

  2. 목 차 • 배경 • 개발 환경 • 기능 명세 • XML • 경로정보 • 지역정보 • API 인터페이스 • 진행 상황 • 참고 자료

  3. 배 경 • 낮선 위치에 함께 여행을 갔을 때 약속 장소나 길안내를 하기 어려운 경험이 있다. • 지도를 조회하고 그림이나 글을 남길 수 있고 다른 사람과 정보를 쉽게 공유할 수 있었지만 1:1 통신 이기 때문에 정보가 쉽게 공유되지 않는다. • RESTful service를 구현하여 p2p의 한계를 극복하는 것을 목표로 하고 있다.

  4. 개발 환경 • Spring Framework • 다양한 library, storage등을 쉽게 사용할 수 있는 개발환경을 제공한다. • Google App Engine • 서버가 없어도 서비스를 구축하기 쉽고 유지비용이 싸다. • DB Big Table • 트레픽이 많은 서비스로 발전될 가능성을 고려한다. • 안정적인 서비스를 제공할 수 있다. • Jersey • RESTful service를 구현하는데 편리한 library다. • 상용서비스를 하기에는 한계가 있다. • Maven • 프로젝트에서 사용하는 여러 라이브러리 환경 및 빌드환경 관리를 용의하게 하기 위해 사용한다.

  5. 기능 명세 • 정보를 얻기 위해 클라이언트는 키워드와 얻고자 하는 식별정보를 서버에 넘겨준다. • 서버는 식별정보를 바탕으로 클라이언트에 어떤 정보를 줄지 결정한다. • 식별정보는 경로, 사진및 텍스트이다. • 정보는 태그를 통하여 클라이언트에게 검색된다.

  6. Xml 형식

  7. routeinfs+xml <routeInfos> <routeInfo> <tags> <tag>신촌</tag> <tag>맛집</tag> … </tags> <route> <coordinate>위도, 경도</coordinate> <coordinate>위도, 경도</coordinate> </route> </routeInfo> <routeInfo> … </routeInfo> … </routeInfos>

  8. 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>

  9. search.xml • <search> • <id>my idcode</id> • <tags> • <tag>서울</tag> • <tag>맥도날드</tag> • …. • </tags> • </search>

  10. uproute+xml <uproute> <id>0x67452301</id> <routeInfo> <tags> <tag>신촌</tag> <tag>맛집</tag> … </tags> <route> <coordinate>위도, 경도</coordinate> <coordinate>위도, 경도</coordinate> </route> </routeInfo> </uproute>

  11. 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>

  12. 경로정보 조회 • 경로 정보 조회 api를 호출하면서 search 형식의 xml 데이터를 넘겨준다. • 성공적으로 조회한 경우 routeinfs형식의 xml 데이터를 반환한다.

  13. 지역정보 조회 • 경로 정보 조회 api를 호출하면서 search 형식의 xml 데이터를 넘겨준다. • 성공적으로 조회한 경우 localinf형식의 xml 데이터를 반환한다.

  14. 경로정보 upload • 경로 정보 업로드 api로 요청 시 uproute xml 형식을 넘겨준다. • 성공적으로 조회한 경우 201번을 리턴한다.

  15. 지역정보 upload • 경로 정보 업로드 api로 요청 시 uproute xml 형식을 넘겨준다. • 성공적으로 조회한 경우 201번을 리턴한다.

  16. 참고자료 • 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

More Related