WCF 데이터 서비스

WCF Data Services
WCF 데이터 서비스
원저작자마이크로소프트
초기 릴리즈2008년 8월 11일, 13년 전(2008-08-11)
안정된 릴리스
5.6.0
운영 체제Microsoft Windows, Linux, macOS
웹 사이트docs.microsoft.com/en-us/previous-versions/dotnet/wcf-data-services/hh487257(v=vs.103)

WCF 데이터 서비스(구 ADO).NET 데이터 서비스([1]코드명 「Astoria」)[2]는, Microsoft 가 데이터 서비스라고 부르는 플랫폼입니다.이는 실제로 서비스가 노출되는 데 사용되는 런타임과 웹 서비스의 조합입니다.또한 ASP 에서 Astoria Data Services를 생성할 수 있는 Data Services Toolkit도 포함되어 있습니다.NET 자체Astoria 프로젝트는 MIX 2007에서 발표되었으며, 첫 번째 개발자 프리뷰는 2007년 4월 30일에 제공되었습니다.번째 CTP는 ASP의 일부로 사용할 수 있게 되었습니다.NET 3.5 확장 미리보기.최종 버전은 Service Pack 1의 일부로 출시되었습니다.2008년 8월 11일, NET Framework 3.5.이름이 ADO에서 바뀝니다.NET Data Services to WCF Data Services는 2009년 PDC에서 발표되었습니다.

개요

WCF 데이터 서비스는 Entity Data Model(EDM; 엔티티 데이터 모델) 개체로 표현되는 데이터를 HTTP를 통해 액세스하는 웹 서비스를 통해 공개합니다.데이터는 REST와 같은 URI를 사용하여 주소 지정할 수 있습니다.데이터 서비스는 이러한 URI를 사용하여 HTTP GET 메서드를 통해 액세스하면 데이터를 반환합니다.데이터를 플레인 XML, JSON 또는 RDF+XML로 반환하도록 웹 서비스를 구성할 수 있습니다.초기 릴리스에서는 RSS ATOM 의 형식은 지원되지 않지만 향후 지원될 수 있습니다.또한 PUT, POST, DELETE 등의 다른 HTTP 메서드를 사용하여 데이터를 업데이트할 수도 있습니다.POST를 사용하여 새 엔티티를 만들고, PUT을 사용하여 엔티티를 업데이트하고, DELETE를 사용하여 엔티티를 삭제할 수 있습니다.

묘사

WCF(Windows Communication Foundation)는 웹 서비스를 사용하여 달성하고자 하는 목표(다른 프로토콜 지원 및 이중 통신)를 달성할 수 없을 때 지원을 제공합니다.WCF를 사용하면 서비스를 한 번 정의하고 HTTP, TCP, IPC 및 메시지큐를 통해 사용할 수 있도록 설정할 수 있습니다.서버 사이드 스크립트(ASP)를 사용하여 웹 서비스를 사용할 수 있습니다.NET), JavaScript Object Notifications(JSON) 및 REST(Representational State Transfer)까지 지원합니다.

기본에 대해서

WCF 서비스를 사용하여 서로 다른 프로토콜과 다른 종류의 애플리케이션을 사용하여 통신할 수 있다고 할 때, 이를 실현하는 방법을 이해할 필요가 있습니다.애플리케이션의 WCF 서비스를 사용하는 경우는, 다음의 3개의 주요한 질문이 있습니다.

1. 클라이언트의 관점에서 WCF 서비스는 어디에 있습니까? 2.고객은 서비스(예: 프로토콜 및 메시지 형식)에 어떻게 액세스할 수 있습니까? 3.서비스가 클라이언트에 제공하는 기능은 무엇입니까?

이 세 가지 질문에 대한 답을 얻으면 WCF 서비스를 만들고 사용하는 것이 훨씬 쉬워집니다.WCF 서비스에는 엔드포인트 개념이 있습니다.WCF 서비스는 클라이언트응용 프로그램이 WCF 서비스와 통신하기 위해 사용할 수 있는 엔드포인트를 제공합니다.위의 질문에 대한 답변은 WCF 서비스의 ABC로 알려져 있으며 실제로는 WCF 서비스의 주요 컴포넌트입니다.자, 그럼 하나씩 하나씩 살펴봅시다.

주소: WCF 서비스는 웹 서비스와 마찬가지로 클라이언트가 WCF 서비스에 액세스하기 위해 사용할 수 있는 URI도 제공합니다.이 URI는 WCF 서비스의 주소라고 불립니다.그러면 "WCF 서비스 위치"라는 첫 번째 문제가 해결됩니다.

바인딩:WCF 서비스를 찾을 수 있게 되면 서비스(프로토콜 와이즈)와의 통신 방법을 고려해야 합니다.바인딩은 WCF 서비스가 통신을 처리하는 방법을 정의합니다.또, 메시지 부호화등의 다른 통신 파라메타를 정의할 수도 있습니다.이것으로, 「WCF 서비스와의 통신 방법」의 두 번째 문제가 해결됩니다.

계약:이제 남은 질문은 WCF 서비스가 제공하는 기능에 관한 것뿐입니다.계약은 WCF 서비스가 클라이언트에 제공하는 퍼블릭 데이터 및 인터페이스를 정의하는 것입니다.

데이터를 나타내는 URI에는 서비스의 물리적인 장소와 서비스명이 포함됩니다.또한 EDM 엔티티 세트 또는 특정 엔티티 인스턴스를 각각 지정해야 합니다.

http://dataserver/service.svc/MusicCollection

또는

http://dataserver/service.svc/MusicCollection[SomeArtist]

전자는 컬렉션 세트의 모든 엔티티를 나열하고 후자는 SomeArtist에 의해 인덱싱된 엔티티만 나열합니다.

또한 URI는 엔티티 데이터 모델에서 관계의 트래버설을 지정할 수도 있습니다.예를들면,

http://dataserver/service.svc/MusicCollection[SomeSong]/Genere

는 관계 장르(SQL 용어로는 장르 테이블과 결합)를 통과하여 엔티티 SomeSong과 관련된 장르의 모든 인스턴스를 가져옵니다.URI 에서는, 다음과 같이 단순한 술어를 지정할 수도 있습니다.

http://dataserver/service.svc/MusicCollection[SomeArtist]/ReleaseDate[2006년 eq]

SomeArtist에 의해 색인화되어 2006년에 출시된 아이템을 가져옵니다.필터링 및 파티션 정보는, 다음의 URL 로 부호화할 수도 있습니다.

http://dataserver/service.svc/MusicCollection?$orderby=ReleaseDate&$skip=100&$top=50

skip 키워드와 top 키워드의 존재는 페이징 지원을 나타내지만 Data Services 버전1에서는 사용 가능한 레코드 수를 결정하는 방법이 없기 때문에 페이지 수를 결정할 수 없습니다.ODATA 2.0 사양에서는 $count 경로 세그먼트(엔티티 개수만 반환) 및 $inlineCount(별도의 라운드 [3]트립 없이 엔티티 페이지 값 및 총 개수...)에 대한 지원이 추가되었습니다.

레퍼런스

  1. ^ "Simplifying our n-tier development platform: making 3 things 1 thing". ADO.NET Data Services Team Blog. 2009-11-17. Retrieved 2009-12-17.
  2. ^ "ADO.NET Data Services CTP Released!". Retrieved 2007-11-12.
  3. ^ Archiveddocs. "What's New in WCF Data Services 5.0". docs.Microsoft.com. Retrieved March 9, 2019.

외부 링크