ADO.NET...

21
ADO.NET 데이터 서비스 프레임워크 김대우 개발자 및 플랫폼 사업 본부 차세대 웹 플랫폼 팀 http://www.uxkorea.net

Transcript of ADO.NET...

Page 1: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

ADO.NET 데이터 서비스 프레임워크

김대우

개발자 및 플랫폼 사업 본부

차세대 웹 플랫폼 팀

http://www.uxkorea.net

Page 2: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

Agenda

• REST 소개

• ADO.NET 데이터 서비스 소개

• 데이터 “서비스”

• 데이터 접근 방안

• ADO.NET 데이터 서비스 모델

• URL 호출 규약(Convention)

• 데이터 서비스 생성

• 구조 및 보안 서비스

• 웹 어플리케이션과 데이터 서비스

• 서비스 소비 방안

• 로드맵 / 요약

Page 3: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

REST 소개

• REST 배경

• SOAP 방식

– PC와 서버간 Envelop을 이용해 XML 통싞

– 요청과 응답이 XML형태의 정형화된 통싞

• REST 방식

– URL을 이용해 서버와 통싞

– 응답은 XML 또는 HTTP 응답 기반 데이터

Page 4: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

REST 소개

• REST 요청

• REST 응답

http://서버주소/MyFriends.svc/People/

<Friendxmlns=”http://foo.com/2004/07/wcf“xmlns:i=http://www.w3.org/2001/XMLSchema-instance><People><ID>Daewoo</ID><Name>Daewoo</Name><Birthday>2001</Birthday>

</People></Friend>

Page 5: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

REST 소개

• REST를 사용하는 이유

Why?

Page 6: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...
Page 7: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...
Page 8: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

ADO.NET 데이터 서비스 소개

• Project “Astoria”

• 데이터베이스가 아닌 데이터 “스토어”

• 웹에서 서비스 되는 데이터

• 표준 HTTP를 이용한 REST 지원

• 대용량 데이터 지원

ADO.NET 데이터 서비스(Astoria)가ADO.NET(or ADO)을 대체하는가?

NO!

Page 9: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

ADO.NET 데이터 서비스 소개

• Cloud 컴퓨팅

• 매쉬업과 Open API

• 현재 웹 어플리케이션의 발전 방향• ▷ Green IT

• ▷ 통합 커뮤니케이션(Unified communications)

• ▷ 비즈니스 프로세스 관리(Business process management)

• ▷ 메타데이터 관리(Meadata management)

• ▷ 가상화(Virtualization)

• ▷ 매쉬업(Mashup)

– o 매쉬업(Mashup) 도구를 사용하면 사용자는 여러 개의 웹 사이트에서 자료를 수집하고 그것들을 합하여 웹 중심의 복합 응용 프로그램을 만들 수 있음

– o 2010년까지 Web 매쉬업이 복합적인 엔터프라이즈 애플리케이션을 작성할때 모델의 80%를 차지할 것이며, 향후 5년간 크게 진화할 것

• ▷ 웹 플랫폼(Web platform)

• ▷ 컴퓨팅 패브릭(Computing fabric)

• ▷ 실세계 웹(Real World Web)

• ▷ 소셜 소프트웨어(Social software)

Page 10: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

ADO.NET 데이터 서비스 소개

• Operation 기반 Workflow vs. Data 기반 Workflow

Data 기반 서비스 어플리케이션

Page 11: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

데이터 “서비스”

HTML + Javascript

Data (XML,JSON,…)

DLL + XAML

Data (XML,JSON,…) Data (XML,JSON,…)

Mashup UI

Data Feeds

AJAX 응용프로그램

Silverlight 응용프로그램

온라인서비스

매쉬업

Page 12: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

데이터 접근 방안

단순 HTTP

• 리소스로 데이터 처리, 단순 HHTP 메소드 이용

• 캐쉬, 프록시, 인증 이용

Uniform URL 구문

• 모든 정보에 대해 접근 가능

• 유연하고 개발이 용이한 URL 구문 사용

Multiple representations(여러 URL 표현)

• HTTP의 Content-type 이용

• AtomPub 프로토콜 지원, JSON 질의 및 단순 XML 방식 이용

Page 13: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

ADO.NET 데이터 서비스 모델

• 데이터 모델 이해

– 개체 모델(Entity Model)

– 개체(Entity) : 리소스(Resource)

– 관계 : 링크(Link)

• 데이터 모델

– HTTP 메소드로 매핑 가능

– GET : 리소스 조회

– POST : 리소스 생성

– PUT : 리소스 수정

– DELETE : 리소스 삭제

Page 14: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

URL 호출 규약

• 리소스 접근 방식

• 조회 부가 정보

Entity-set /Bookmarks

Single entity /Bookmarks(123)

Member access /Bookmarks(123)/Name

Link traversal /Bookmarks(123)/Tags

Deep access /Bookmarks(123)/Tags('abc')/Name

Raw value access /Bookmarks(123)/Names/$value

Sorting /Bookmarks?$orderby=Name

Filtering /Bookmarks?$filter=Created gt '2007-05-07'

Paging /Bookmarks?$top=10&$skip=30

Inline expansion /Bookmarks?$expand=Tags

Page 15: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

데이터 서비스 생성

• 비주얼 스튜디오로서비스 생성

• 다양한 유형의 데이터 연계

• 데이터 접근 방식 다양화

Data Access Layer

Entity Framework

Custom LINQ provider

Relational database Other sou

rces

Service Runtime

Hosting/HTTP listener

HTTP

IQueryable [+ IUpdatable]

Page 16: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

구조 및 보안 서비스

• 접근성

– 컨테이너별(Container) 제공

– 읽기 및 쓰기 옵션 설정

• 인증

– 호스팅 환경과 통합 가능

– ASP.NET, WCF 또는 사용자 정의 인증 사용

• Interceptor를 이용한 개별 데이터 보안 처리

– HTTP GET/PUT/POST/DELETE 전에 실행

– 검증 및 사용자 정의 로우레빌 보안 정책 가능

– REST 방식 사용

Page 17: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

웹 어플리케이션과 데이터 서비스

• AJAX 통합

– AJAX 친화적인 JSON 포맷 서비스 가능

– ASP.NET AJAX 툴킷의 Javascript 라이브러리와 연동 가능

• Silverlight 지원

– .NET 프로그래밍 모델 지원

– 개체 기반, LINQ API 가능

– 메타데이터를 통해 코드로 자동생성된 개체 사용 가능

Page 18: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

서비스 사용 방안

• 웹 응용프로그램

– ASP.NET을 통해 웹 응용프로그램이 데이터서비스를사용 가능

– 원격 서비스 접근을 위해 ASP.NET 데이터 소스 콘트롤 이용

• 데스크톱 응용프로그램

– .NET 클라이언트 라이브러리 지원

– 데스크탑의 API를 똑같이 Silverlight 환경에서 이용가능

Page 19: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

로드맵 / 요약

• Beta1 발표 시기

– 2008년 2/4 분기

• 공식 발표 시기

– 2008년 3/4 분기 예정

• 요약

– 유연한 웹 데이터 스토어를 표준 HTTP를 통해 접근및 사용

– 라이브러리 및 툴에 대해 단일화된 환경 이용 가능

Page 20: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

참고자료

• ADO.NET 데이터 서비스 프레임워크

– 웹: http://astoria.mslivelabs.com

– 블로그: http://blogs.msdn.com/astoriateam

– 포럼: http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1430&SiteID=1

Page 21: ADO.NET 데이터서비스프레임워크cfs3.tistory.com/upload_control/download.blog?fhandle...ADO.NET 데이터서비스프레임워크 ... • 실세계웹(Real World Web) ...

Q&A

감사합니다.

김대우

개발자 및 플랫폼 사업 본부

차세대 웹 플랫폼 팀

http://www.uxkorea.net