안녕하세요, 김대우입니다. 지난 포스팅에 이어지는 Azure Mobile Service .NET 백엔드의 내용이에요.

 

클라우드 모바일 서비스 서버 로직을 .NET으로! - Microsoft Azure Mobile Service의 .NET backend (1)
클라우드 모바일 서비스 서버 로직을 .NET으로! - Visual Studio로 개발과 배포를 한방에! (2)

클라우드 모바일 서비스 서버 로직을 .NET으로!–한걸음 더, .NET으로 암호화 루틴 추가해 보기 (3)

 

이전 포스팅에서 말씀 드린대로, Visual Studio로 개발과 배포 과정을 진행 하겠습니다.

Visual Studio에서 프로젝트를 생성해 보도록 할게요.


image_thumb.png


Cloud 프로젝트 – Azure 모바일 서비스를 선택합니다. 만약 프로젝트가 없다면, SDK 설치 항목만 보일 거에요. SDK를 설치하고 나면 바로 Azure Moile Service 프로젝트가 보이실 겁니다.

- 앞에서 말씀 드린대로, 본 강좌는 .NET 백엔드를 이용하실 경우에만 사용되며, Javascript를 이용하실 경우에는 Visual Studio를 이용하지 않아도 됩니다.


(만약, Azure 게시 프로필이 없다면 https://manage.windowsazure.com/publishsettings/ 에서 다운로드 하시면 됩니다.)

 

image_thumb_1.png

이어서, 프로젝트 템플릿을 선택 하구요 .

템플릿은 2014년 10월 현재 하나 뿐입니다. 아래 비활성화된 부분 보이시지요? “Web API” 형태의 프로젝트가 생성됩니다.

 

image_thumb_2.png

이어서 클라우드 서비스인 Azure에서 모바일 서비스를 만드는 부분이에요.

 

이름 부분은 고유하게 잡아야 합니다. 고유한지 여부가 자동 체크되니 확인 후 이름을 넣으시면 되구요.

데이터베이스의 경우 새로 만들기도 가능하고 기존에 사용 중인 Azure SQL Database가 있다면 해당 DB를 이용해도 됩니다.

여기까지 진행하고 잠시 기다리면 프로젝트가 생성되고, 이제 모바일 서비스를 사용하기 위한 예제 역시 바로 보실 수 있어요. 

모바일 서비스와 프로젝트 둘 다 만들어 진겁니다.

 

image_thumb_3.png

프로젝트를 살펴 볼까요. MVC와 프로젝트 구조가 유사한데 View가 없습니다. “Web API” 형태의 서비스이기 때문이지요. ASP.NET Web API 경험이 있으시다면 큰 차이 없다는 느낌이 오실거에요. 흥미있는 부분은 ScheduledJobs 부분으로 필요시에 HTTP로 해당 Job을 수행하도록 요청도 가능합니다.

 

직접 프로젝트를 한번 돌려 보도록 할게요.

image_thumb_4.png


프로젝트를 실행하면 이렇게 시작 화면이 뜹니다. 동작은 하는 것 같은데… 잘 감이 안오죠? “try it out”을 클릭할게요

 

중요!

모바일 서비스 프로젝트는 모바일 디바이스가  HTTP REST 방식으로 통신하게 됩니다. REST 방식이라 디버깅이나 테스트가 약간 곤란할 수 있는데요, Azure Mobile Service는 이 REST 방식을 쉽게 테스트하기 위한 UI를 제공합니다. 지금 보는 화면이 바로 이 테스트를 위한 화면이에요.

 

image_thumb_5.png

REST API로 처리되는 – 메서드가 모두 보입니다. 삽입-POST 작업을 해 볼까요.

 

image_thumb_6.png

기본적으로 생성되는 엔터티는 이렇게 todoitem이구요. 구조는 아래에서 보실 수 있습니다. 프로젝트에서는 DataObject 부분에서 클래스 구조를 확인 가능하죠.

 

image_thumb_7.png

테스트 데이터 넣어 볼게요. text 부분에 “안녕 반가워!!!”라고만 넣어 봤습니다.

 

image_thumb_8.png


Send를 실행하면 이렇게 결과를 보실 수 있구요. 잘 처리가 된것을 보실 수 있습니다. 프로젝트에서 디버그 포인트 걸고 값을 확인도 가능합니다. Visual Studio가 갑이에요.

(포스팅 하지 않고 동영상 녹화로 할걸 그랬나봐요. 캡처 + 글로 설명 힘듭니다. 쿨럭…)

 

image_thumb_12.png

데이터가 잘 저장 되는지 볼게요.

 

image_thumb_10.png


네. Todoitem 클래스는 여기에 선언되어 있습니다.

컨트롤러 부분을 보시면 todoitem 컨트롤러에 해당 API들에 대한 메서드가 구현되어 있는 것을 보실 수 있습니다.

 

이렇게 잠시 기본 예제 코드를 살펴 봤어요.

클라우드에 가서도 잘 동작하는지 실제 배포를 진행해 보도록 할게요. – 물론 우리의 .NET 백엔드는 실제로 잠시 후에 만들어 볼거에요.

 

배포 과정을 진행 하겠습니다.

image_thumb_11.png


프로젝트에서 “게시”를 클릭합니다.

 

image_thumb_13.png

(Azure Mobile Service 프로젝트가 최초 잘 생성되었다면 이 화면 없이 진행됩니다.)

기본 매핑된 모바일 서비스가 없다면 모바일 서비스 생성 화면이 뜹니다.


이 과정을 진행하면 모바일 서비스가 생성되고 Azure 클라우드 서비스에 추가 됩니다.

(만약 생성 중 오류가 발생했다는 메세지가 뜨면 Azure SQL Database의 허용된 IP 주소를 체크해 보세요. 저의 경우 SQL Database의 허용된 IP가 아니라 생성 실패 오류가 뜨더군요.)

 

image_thumb_15.png

(만약, 게시 프로필이 없다면 https://manage.windowsazure.com/publishsettings/ 에서 다운로드 하시면 됩니다.)


다음을 누르면 이렇게 게시 방법이 나옵니다. “연결 유효성 검사” 체크 하시구요.

(WebMatrix 사용 경험이 있으시거나 Razor 프로젝트를 해 보셨다면 익숙 하시지요? Web Deploy 화면입니다. 이 Web Deploy를 통해 증분 배포나 종속성이 있는 DLL등을 자동으로 배포하게 되지요.)

 

image_thumb_16.png


릴리즈로 게시 하구요(디버그 게시 후 원격 디버깅도 됩니다.) 이어서 미리 보기로 뭐가 배포 되는지 확인 가능합니다.

게시를 시작하면 잠시 후 게시 완료 메세지를 보실 수 있어요. (다음 게시의 경우 증분 게시가 이루어집니다.)

우리의 모바일 서비스가 생성+게시까지 금방 이루어 졌습니다.

 

image_thumb_17.png


실제 릴리즈된 Azure의 서비스가 보입니다. – URL로 확인 가능해요. 테스트를 위해 “try it out”을 누르면? 어라 인증창이 뜹니다.

로컬에서 Visual Studio로 개발할때에는 없었는데 말이죠.


한번 Azure로 배포되면 보안성 제공을 위해 API 테스트를 할 경우 인증을 요구하게 됩니다. 이 경우 걱정 마시고, 모바일 서비스의 “어플리케이션 키”를 패스워드 부분에만 (ID는 비우고) 넣으면 테스트 가능해요.

 

image_thumb_18.png


어플리케이션 키를 보기 위해서는 해당 모바일 서비스의 하단 “키 관리” 부분에서 인증키를 볼 수 있습니다.

 

image_thumb_19.png


요 응용 프로그램 키를 복사해 암호에 넣으면 됩니다.

 

image_thumb_20.png

이제 .NET 백엔드를 이용하니 다음 내용에서는 암호화 루틴을 하나 붙여 .NET 백엔드를 구현하는 예제를 보도록 할게요.


클라우드 모바일 서비스 서버 로직을 .NET으로! - Microsoft Azure Mobile Service의 .NET backend (1)
클라우드 모바일 서비스 서버 로직을 .NET으로! - Visual Studio로 개발과 배포를 한방에! (2)

클라우드 모바일 서비스 서버 로직을 .NET으로!–한걸음 더, .NET으로 암호화 루틴 추가해 보기 (3)



[참고링크]

안드로이드 개발자를 위한 Windows Azure Mobile Service 소개 (1/6)

안드로이드 개발자를 위한 Windows Azure Mobile Service를 이용한 백엔드 데이터 처리 (2/6)

안드로이드 개발자를 위한 Windows Azure Mobile Service 서버 스크립트 (3/6)

안드로이드 개발자를 위한 Windows Azure Mobile Service를 이용한 페이징 처리 구현 (4/6)

안드로이드 개발자를 위한 Windows Azure Mobile Service로 구축하는 인증(Authentication) 서비스 - Microsoft id, Facebook id, Twitter id, Google id (5/6)

안드로이드 개발자를 위한 Windows Azure Mobile Service 푸쉬 알림(Push Notification) 서비스 구축 - WNS(WPNS), APNS, GCM (6/6)

 

Windows Azure Mobile Service 소개 (1/7)

Windows Azure Mobile Service를 이용한 백엔드 데이터 처리 (2/7)

Windows Azure Mobile Service 서버 스크립트 (3/7)

Windows Azure Mobile Service를 이용한 페이징 처리 구현 (4/7)

Windows Azure Mobile Service로 구축하는 인증(Authentication) 서비스 - Microsoft id, Facebook id, Twitter id, Google id (5/7)

Windows Azure Mobile Service 푸쉬 알림(Push Notification) 서비스 구축 - WNS(WPNS), APNS, GCM (6/7)

Windows Azure Mobile Service 의 서비스 확장(Scale)과 분석 및 모니터링 (7/7)

 

Windows Azure 90일 무료 평가판 - Windows Azure Mobile Service도 사용 가능

Windows Azure Mobile Service 공식사이트 - Android, iOS, Windows 8, Windows Phone 8

Windows Azure 공식 웹사이트

Windows Azure Mobile Service 튜토리얼 웹사이트

[동영상 강좌] (1) Windows Azure 개요
[동영상 강좌] (2) Windows Azure 웹 사이트
[동영상 강좌] (3) Azure에서 실행되는 ASP.NET 웹 사이트 만들기
[동영상 강좌] (4) Windows Azure 클라우드 서비스
[동영상 강좌] (5) Cloud Service 프로젝트 처음 만들어보기
[동영상 강좌] (6) 기존 ASP.NET 웹 사이트를 Windows Azure로 옮기기
[동영상 강좌] (7) Windows Azure 가상 컴퓨터
[동영상 강좌] (8) Windows 가상 컴퓨터 소개
[동영상 강좌] (9) SQL 데이터베이스 소개
[동영상 강좌] (10) SQL 데이터베이스 실습하기
[동영상 강좌] (11) Windows Azure 저장소
[동영상 강좌] (12) Windows Azure 저장소 실전 예제 살펴보기
[동영상 강좌] (13) Windows Azure 서비스 버스
[동영상 강좌] (14) 서비스버스 Queue와 Topic
[동영상 강좌] (15) 클레임 기반 인증 구현하기
[동영상 강좌] (16) 확장성 전역성 높은 가용성을 지닌 앱 만들기
[동영상 강좌] (17) 캐시 클러스터를 이용하여 신축성있는 클라우드 서비스 만들기
[동영상 강좌] (18) 트래픽 관리자를 이용한 24x365 글로벌 서비스 구축하기
[동영상 강좌] (19) WPNS와 Windows Azure로 알림 서비스 구현하기
[동영상 강좌] (20) Windows Azure 미디어 서비스 API 활용하기






profile

부족하지만, SQLER의 누군가와 함께한 나눔을 통해 제가 더 많이 즐거웠습니다.
SQLER와 함께 즐거워 할수록, 그 나눔을 통해 더 많은 기회와 가치를 발견하게 되었습니다.
나눔의 생각이 앞으로도 계속, SQLER를 움직일 것입니다.

코난, 김대우 / SQLER 운영자 / 골라먹는 SQLER RSS 정보 구독 / 실시간 SQLER 소식 uxkorea 트위터