WCF 데이터 서비스
WCF Data Services원저작자 | 마이크로소프트 |
---|---|
초기 릴리즈 | 2008년 8월 11일, | 전(
안정된 릴리스 | 5.6.0 |
운영 체제 | Microsoft Windows, Linux, macOS |
웹 사이트 | docs |
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]트립 없이 엔티티 페이지 값 및 총 개수...)에 대한 지원이 추가되었습니다.
레퍼런스
- ^ "Simplifying our n-tier development platform: making 3 things 1 thing". ADO.NET Data Services Team Blog. 2009-11-17. Retrieved 2009-12-17.
- ^ "ADO.NET Data Services CTP Released!". Retrieved 2007-11-12.
- ^ Archiveddocs. "What's New in WCF Data Services 5.0". docs.Microsoft.com. Retrieved March 9, 2019.
- "Codename "Astoria": Data Services for the Web". Retrieved April 30, 2007.