swc발표자료2 2(restful)

23
서서 서 서서서서 2012 - 1 - 서서 서서서 서서 서 서서서서 서서서 – RESTful 서서서서 서서서 (ITwise 서서서 ) [email protected]

Upload: -

Post on 29-Nov-2014

1.741 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 1 - 웹의 개방과 공유

웹 콘텐츠의 자원화 – RESTful 아키텍처

안영회 (ITwise 컨설팅 )[email protected]

Page 2: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 2 - 웹의 개방과 공유

다룰 내용

1

2

3

REST, RESTful 개념

RESTful 활용

웹 콘텐츠의 자원화

Page 3: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 3 - 웹의 개방과 공유

RESTful 이란 ?

RESTful

Page 4: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 4 - 웹의 개방과 공유

RESTful 이란 ?

RESTful문헌 조사 ( 위키피디아 , 책 , ...)

REST•2000 년 Roy Fielding 의 박사 학위 논문에서 처음 제안•REpresentational State Transfer•웹 (WWW) 과 같은 분산 시스템을 위한 소프트웨어 아키텍처 스타일

1

RESTful•다음 제약을 따르면 ...1.Client-server2.Stateless3.Cacheable4.Layered system5.Uniform interface(GET, PUT, POST, DELETE, ...)

2

RESTful클라이언트

RESTful서버

Uniform I/F

클라이언트 상태 매번

확인

응답 서버 구성 나는

몰라

그런데 왜 Representational 일까 ?

Page 5: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 5 - 웹의 개방과 공유

RESTful 이란 ?

RESTful문헌 조사 ( 위키피디아 , 책 , ...)

Resource Oriented ArchitectureRESTful 웹 서비스 구축을 위한 아키텍처•핵심 개념1.Resource2.URI3.Representations4.Link/Connectedness

3

ResourceResource URI (Universal Resource Identifier)URI (Universal Resource Identifier)

• 1.0.3 버전의 소프트웨어• 가장 최신의 소프트웨어• 2006 년 10 월 24 일의 첫 번째 글

• 1.0.3 버전의 소프트웨어• 가장 최신의 소프트웨어• 2006 년 10 월 24 일의 첫 번째 글

※ RESTful 웹 서비스 - 웹 서비스의 진화 , Leoard Richardson & Sam Ruby 역서 140 쪽

• http://.../software/releases/1.0.3.tar.gz• http://.../software/releases/latest.tar.gz• http://.../software/weblog/2006/10/24/0

• http://.../software/releases/1.0.3.tar.gz• http://.../software/releases/latest.tar.gz• http://.../software/weblog/2006/10/24/0

ResourceRepresentation 1

서버

Representation 1Representation 1Representation N

클라이언트

Page 6: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 6 - 웹의 개방과 공유

RESTful 이란 ?

예제 제공 :

DEMOResource-to-Representations

Page 7: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 7 - 웹의 개방과 공유

RESTful 이란 ?

DEMOResource-to-Representations

HTTP MethodHTTP Method

GETGET

POSTPOST

PUTPUT

DELETEDELETE

Resource URIResource URI

http://.../people/http://.../people/

http://.../gildong/site/1http://.../gildong/site/1

Media/Message TypeMedia/Message Type

application/xmlapplication/xml

application/jsonapplication/json

text/xmltext/xml

application/rss+xmlapplication/rss+xml

Page 8: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 8 - 웹의 개방과 공유

RESTful 활용

RESTful나는 과연 어디에 쓸 것인가 ?박사학위 취득할 것도 아니고 ... 무려 웹을 설계하거나 HTTP 표준을 만들 일은 더욱 없다 .

Page 9: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 9 - 웹의 개방과 공유

RESTful 활용

RESTful

클라우드약 300 만건

SOA약 130 만건

REST/~ful약 40 만건

국내 웹 페이지에서 찾아본 결과

Page 10: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 10 - 웹의 개방과 공유

RESTful 활용

RESTful국내 웹 페이지에서 찾아본 결과

출처 : http://www.iamcorean.net/20

Page 11: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 11 - 웹의 개방과 공유

RESTful 활용

OPEN API•웹 사이트의 REST, SOAP 을 통한 연동을 지원하는 기술군•Web 2.0 애플리케이션의 근간

Page 12: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 12 - 웹의 개방과 공유

웹 콘텐츠의 자원화

Open APIs - State of the Market 2011

Page 13: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 13 - 웹의 개방과 공유

RESTful 활용

국내 기업 적용 사례 (2009 년 )

•전사 표준 애플리케이션 프레임워크에 적용 후 파일럿 진행

•장애물1. 부족한 레퍼런스2. 개발자 프로그래밍 방식 변경3. 표준 “ Rich” 클라이언트 개발 방법 (no Active-X)

•효과1. 이종 기술간의 연계 개선 : 특정 기술 종속적인 데이터 통신을 순수

XML/JSON 기반 .NET 기반 클라이언트와 자바 연계로 수정2. 서비스 재사용 : JSP 기반 클라이언트 , Android 클라이언트 , .NET

클라이언트에 대해 같은 서비스 사용 가능

Page 14: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 14 - 웹의 개방과 공유

RESTful 활용

기업 적용 사례 (2009 년 )

MVC REST

※ 2009 년 수행 프로젝트 개발자 교재 중에서 발췌

Page 15: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 15 - 웹의 개방과 공유

RESTful 활용

기업 적용 사례 (2009 년 )

출처 : http://www.ibm.com/developerworks/websphere/techjournal/1005_col_barcia/1005_col_barcia.html

Page 16: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 16 - 웹의 개방과 공유

RESTful 활용

스프링 MVC 구조를 골격으로 가지는 , 간단한 큐레이션 서비스를 구축하는 예제이면 좋겠습니다 . view 단을 jsp 로 가는 것이 아니라 데이터는 controller 에서 json형태로 던져주고 , 그것을 클라이언트 단에서 파싱하는 형태이면 좋겠습니다 . 그렇게 하면 , PC, 스맛폰 등 각 환경에 맞는 UI 프레임워크를 통해 개별적인 구현이 가능할 것 같아서요 . 고수분들에게는 굉장히 기초적인 부분이겠으나 , 인터넷을 아무리 뒤져봐도 A~Z 까지 서비스 구축을 하는 예제는 없더군요 . 그런 것을 만들어 보시면 정말 근사할 것 같습니다 .

출처 : http://www.facebook.com/groups/springkorea/permalink/254474224664214/?comment_id=254761881302115&offset=0&total_comments=13

3 년이 지났는데 ...

Page 17: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 17 - 웹의 개방과 공유

RESTful 활용

• 튜토리얼 제공 : 개콘 커뮤니티 ( A-Z 지향 8 월 착수 )

• 서적 : RESTful 웹 서비스 ( ROA 구현 실무서 2007 년 원서 )

• Q&A: KSUG 커뮤니티 ( 활발한 답변 스프링 활용 중심 ) • https://groups.google.com/forum/?fromgroups#!forum/ksug• http://www.facebook.com/groups/springkorea/

어디서 배우나요 ?

Page 18: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 18 - 웹의 개방과 공유

RESTful 활용

자바를 쓰시는 분 중에 간혹 REST 를 위해서는 Spring 외에 다른 프레임워크가 필요하냐고 “ 자주” 물으시는데 ...

•답만 말하면 NO

Page 19: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 19 - 웹의 개방과 공유

웹 콘텐츠의 자원화

조직 내 활용에서도 충분히 효과를 낼 수 있고 ...

•조직간 , 시스템 ( 애플리케이션 ) 간 공유 /Mashup

전사 공통 모델

+ 전사 표준 코드 정보+ 전사 메세지 코드 정보

A 사업부 공통 모델

+ 사업부 업무 코드+ 사업부 기준 정보

업무 도메인 모델

B 사업부 공통 모델

+ 사업부 업무 코드+ 사업부 기준 정보

C 사업부 공통 모델

+ 사업부 업무 코드+ 사업부 기준 정보

업무 도메인 모델업무 도메인 모델

업무 도메인 모델

업무 도메인 모델업무 도메인 모델

업무 도메인 모델업무 도메인 모델

업무 도메인 모델업무 도메인 모델

업무 도메인 모델업무 도메인 모델

※ 2009 년 수행 프로젝트 보고 내용 중에서 발췌

Page 20: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 20 - 웹의 개방과 공유

웹 콘텐츠의 자원화

Social Intranet...

Page 21: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 21 - 웹의 개방과 공유

웹 콘텐츠의 자원화

Page 22: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 22 - 웹의 개방과 공유

웹 콘텐츠의 자원화

IF...

Page 23: Swc발표자료2 2(restful)

서울 웹 컨퍼런스 2012 - 23 - 웹의 개방과 공유

Reference• REST 개념 /기원

• http://en.wikipedia.org/wiki/Representational_state_transfer

• http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm

• RESTful 웹 서비스 - 웹 서비스의 진화 , Leoard Richardson & Sam Ruby

• RESTful 활용

• http://www.iamcorean.net/20

• http://en.wikipedia.org/wiki/Open_API

• http://www.programmableweb.com/apis

• http://www.ibm.com/developerworks/websphere/techjournal/1005_col_barcia/1005_col_barcia.html

• http://www.facebook.com/groups/springkorea/permalink/254474224664214/?comment_id=254761881302115&offset=0&total_comments=13

• https://jira.springsource.org/secure/QuickSearch.jspa

• 웹 콘텐츠의 자원화

• http://www.slideshare.net/jmusser/open-apis-state-of-the-market-2011

• http://www.zdnet.com/blog/hinchcliffe/social-intranets-enterprises-grapple-with-internal-change/1410

• http://www.zdnet.com/blog/hinchcliffe/running-your-soa-like-a-web-startup/525

• http://www.ebizq.net/blogs/enterprise/2010/10/making_enterprise_applications.php

• http://www.zdnet.com/blog/hinchcliffe/should-companies-drive-their-traffic-to-facebook/2127

• http://www.ebizq.net/blogs/enterprise/2011/05/improving_enterprise_collabora.php

• http://spp.seoul.go.kr/main/news/news_report.jsp?communityKey=B0158&boardId=13317&act=VIEW