Razor와 WebMatrix로 OData 처리 - OData Helper가 발표 되었습니다.
안녕하세요. 코난 김대우 입니다.
- WebMatrix에서 외부 Helper를 설치 & 이용하는 방법
- OData 에 대한 소개와 사용 방법을 소개해 드립니다.
이번에 소개해 드릴 내용은 Razor와 WebMatrix로 OData 처리에 대한 Tip 입니다.
아마도 이 글을 보시는 분은 전문 개발 업무를 보시는 분일 듯 하네요.
OData(Open Data Protocol)란?
간단히 웹상에서 손쉽게 데이터를 조회하거나 수정할 수 있는 주고 받을 수 있는 웹( 프로토콜)입니다.
서비스 제공자 입장에서는 웹의 데이터 제공 방식으로 각 포털 등이 제공하는 Open AI 포맷을 독자 형태가 아닌 오픈된 규약으로 제공 가능하며, 개발자는 이 정보를 오픈소스로 상세한 설명이 제공되는 다양한 클라이언트 라이브러리로 자신의 어플리케이션에서 데이터를 소비 가능합니다.
WebMatrix에서 Helper로 제공.
아마도, WebMatrix에 기본 포함된 Helper가 아닌 것 중에서는 단순 샘플이 아닌 외부 설치 Helper 입니다. WebMatrix에서 외부 Helper를 어떻게 설치하고, 코드에서 사용 가능한지 소개해 드리는 것도 한 목적 입니다. 또한, 클라우드 컴퓨팅 서비스인 SQL Azure, Sharepoint 2010 등에서 이 OData를 기본 제공하고 있으니 서비스 연동이나 데이터 처리에서 쉽게 이용 가능합니다.
OData Helper를 설치
이 OData Helper는 오픈소스로 제공됩니다. https://odatahelper.codeplex.com/ 에서 다운로드 후, WebMatrix 웹사이트 최상위에 "Bin" 폴더를 없으면 만들고 이곳에 Helper dll 파일을 복사해 둡니다.
WebMatrix에서 외부 Helper DLL 설치 방법 아시겠지요?
(1) 외부 Helper를 가져온다.
(2) 웹사이트 루트의 Bin 파일을 만들고 여기 복사한다.
(3) 코드에서 이 Helper를 호출해 사용한다.
계속해 보죠.
웹사이트 루트에 OData 폴더를 만들고 아래 예제를 수행해 봅니다. - Netflix의 영화 정보를 OData로 조회
@using Microsoft.Samples.WebPages.Helpers
@{
var result = OData.Open("https://odata.netflix.com/Catalog/Languages('French')/Titles")
.Where("Type eq 'Movie'")
.OrderBy("AverageRating desc")
.Top(3)
.Get();
var grid = new WebGrid(result);
}
<!DOCTYPE html>
<html>
<head>
<title> WebGrid에 데이터를 표시 합니다. </title>
</head>
<body>
<h1>웹그리드로 데이터를 표시</h1>
@grid.GetHtml()
</body>
</html>
Odata.cshtml로 저장 후 실행합니다. 그럼, 허접하지만 Netflix가 OData로 제공하는 데이터가 웹그리드로 보이실 겁니다.
OData의 데이터를 쿼리하는 부분 보이시죠? OData 개체에 대해 아주 눈에 익은 SQL 구문을 쓰는 것처럼 데이터를 가져와 보여 줍니다.
SQL 쿼리와 거의 유사하네요. - 다른 Insert나 Update, Delete도 거기서 거기에요. - WebMatrix에서 OData 쓰기 확실히 쉽습니다.
데이터 표시는 웹 그리드를 이용합니다.
웹그리드 참조 : https://www.sqler.com/240442
WebMatrix에서 OData Helper를 이용해 데이터 조회 뿐만 아니라 모든 CRUD 작업이 가능합니다. 자세한 정보를 보시려면 아래를.
참고링크 : https://www.jamessenior.com/post/Announcing-the-OData-Helper-for-WebMatrix-Beta.aspx
OData를 지원하는 어플리케이션이나 라이브 서비스(공개된)을 보시려면 아래를 참조하세요.