블로그 이미지
정홍주
Azure에 대한 내용뿐만 아니라 새로운 트렌드로 빅데이터, BI, SharePoint, 앱 등의 내용을 다룹니다.

calendar

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Notice

2013.04.12 09:01 Microsft Azure

Windows Azure – Mobile Services (5)

HTML/JavaScript – 데이터, ID

 

Windows Azure의 모바일 서비스에 iOS, Android 에 대한 지원 외에 아래 그림과 같이HTML/JavaScript 에 해당하는 내용이 추가되어 있습니다.

 

HTML 응용 프로그램 만들기와 다운로드를 통해 localhost로 테스트할 수 있습니다.
 

 

다운로드하고 나서 압축을 풀고 파일을 한번 살펴보면 app.js 에서 jQuery로 많은 내용을 하고 있다는 것을 알 수 있습니다.

 

테스트를 위해 실행하는 방법은 Server 폴더로 이동하여 launch-windows 를 클릭하면 됩니다.

R 을 클릭하여 웹 서비스를 시작하여 테스트할 수 있습니다.

 

http://localhost:8000 으로 브라우저를 통해 테스트하시면 아래와 같은 화면을 확인 하실 수 있습니다. 다른 도메인으로 하려면 모바일 서비스의 구성에서 Cross-Origin Resource Sharing 에 추가할 수 있습니다.

 

정말 손쉽게 jQuery를 이용하여 백 엔드의 데이터 서비스를 처리하는 것을 확인 가능합니다. 또한 스케쥴러와 서버 로직 등에 대한 내용을 구성할 수 있습니다.

바로 이어서 인증에 대한 내용을 확인해보겠습니다. 인증에 대한 자세한 사항은 아래 링크를 확인하시면 자세한 정보를 확인 가능합니다.

http://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started-with-users-html/?fb=ko-kr

 

위 링크 중에서 핵심은 아래 코드가 됩니다.

function logIn() {

        client.login("facebook").then(refreshAuthDisplay, function (error) {

            alert(error);

        });

    }

 

 

물론 미리 facebook 앱에서 등록하고 ID 부분에 ID 암호를 입력해두어야 합니다.

https://developers.facebook.com/apps/

 

최종 실행 결과를 확인해보겠습니다. Log In을 클릭하면 Facebook 관련 창이 뜨는 것을 확인할 수 있습니다.

신고
posted by 정홍주
2013.04.11 09:34 Microsft Azure

 

Windows Azure – Mobile Services (4)

 

Windows Azure Mobile Services가 많이 업데이트 되어 있습니다. 스케쥴러와 HTML에 대한 내용을 추가할 예정이며 본 글에서는 스케쥴러에 대한 내용을 다루도록 하겠습니다.

메뉴가 한글로 변경되고 업데이트되었지만 지난 글은 아래 링크를 통해 확인할 수 있습니다.

http://redju.tistory.com/tag/Mobile%20Services

 

스케쥴러는 로직을 주기적으로 실행되게 해주는 모바일 서비스의 기능입니다.

 

1.     모바일 서비스를 생성하고 나서 스케쥴러 메뉴에서 만들기 작업을 할 수 있습니다.

생성할 경우 이름만 입력하면 되고 수행되는 시간을 설정 가능합니다. 기본적으로 최소 시간은 15분 단위로 반복 작업이 실행되게 구성 가능합니다. 스케쥴러를 여러 개 추가도 가능하며 크기 조정 메뉴에서 예약으로 지정하면 가능 합니다  

 

2.     설정되어 구성되면 아래와 같이 마지막 실행 시간과 다음 실행 시간을 보여줍니다.

 

3.     반복적으로 수행될 작업에 대한 내용은 스케쥴러의 스크립트 메뉴를 통해서 가능합니다. 서버 로직을 구성하시면 됩니다. 데이터를 수집해서 모바일 서비스의 테이블에 추가하는 내용에 해당됩니다. 예를 들면 여러 데이터베이스에서 최신 정보를 뽑아 갱신 해준다거나 트위터 등의 데이터를 수집해서 15분 단위로 갱신해주는 경우로 들 수 있으며 갱신되고 나면 추가로 Push Notification을 보내게 설정할 수도 있습니다.

4.     여기서는 간략히 테이블에 샘플 데이터를 지속적으로 추가하는 내용으로 로직을 구성해보았습니다.

 

5.     작업이 주기적으로 실행되면 아래와 같이 잘 구성된 것을 확인할 수 있습니다.

 

6.     이상으로 간략히 Windows Azure의 모바일 서비스의 스케쥴러 기능에 대해 알아보았고 이를 통해 여러 장치(Windows 8, Windows Phone 8, iOS, Android, HTML )에서 손쉽게 반복적인 작업을 수행할 수 있다는 것을 확인할 수 있습니다.

 

 

 

신고
posted by 정홍주
2013.03.19 08:34 Microsft Azure

 

Windows Azure Update - 2013 3 18

 

Windows Azure가 또 업데이트 되었습니다.

관련내용은 Scott 의 블로그 게시물에 자세히 나와 있으니 참고하십시오.

http://weblogs.asp.net/scottgu/archive/2013/03/18/windows-azure-new-hadoop-service-html5-js-cors-phonegap-mercurial-and-dropbox-support.aspx

 

l  Mobile Services: HTML5/JS Clients

l  Web Site: Source Control Update –Dropbox 등 추가

l  HDInsight: Hadoop Preview

 

Mobile Services 에 대한 내용은 아래 그림을 보시면 앱에서 HTML 메뉴가 포함된 것을 확인할 수 있습니다. 

 

 

HTML, ASP.NET 에도 Windows Azure Mobile Services를 손쉽게 이용할 수 있을지 한번 알아보도록 하겠습니다.

HDInsight 에 대한 내용은 바로 이어서 글을 올리겠습니다.

 

 

신고
posted by 정홍주
2012.09.10 08:30 Microsft Azure

Windows Azure – Mobile Services (3)

 

본 글에서는 Mobile Services를 통해 Windows 8 App에 인증을 손쉽게 구현해보도록 하겠습니다. 먼저 Windows Push Notifications & Live Connect 사이트에 로그온하여 내 앱 메뉴를 클릭합니다. 이미 작업했던 앱 이름을 확인할 수 있으며 앱 이름을 클릭하고 설정 변경에서  API 설정을 클릭합니다. 클라이언트 암호와 리디렉션 도메인을 아래 그림처럼 확인이 가능합니다. 클라이언트 암호는 Windows Azure Management Portal에서 사용할 것이며 리디렉션 도메인은 Windows Azure Management Portal Mobile Services 에서의 사이트 URL을 입력하면 됩니다.

(https://스이름.azure-mobile.net/)

 

Windows Azure Management Portal Mobile Services 로 이동하여 상세 정보 페이지로 이동하여 IDENTITY 메뉴에서 클리이언트 암호를 확인합니다.

DATA 메뉴를 클릭하고 TodoItem 을 클릭하여 권한을 인증된 사용자만 액세스 할 수 있도록 아래와 같이 설정합니다. 모든 권한을 Only Authenticated Users 로 선택하고 SAVE 메뉴를 클릭합니. 

 

Windows 8 App을 시작하고 저장이나 새로고침을 해보면 아래와 같은 401 오류가 발생하는 것을 알 수 있습니다.

 

Live SDK for Windows가 설치되어 있지 않다면 아래 URL을 통해 다운로드하여 설치합니다.

(http://msdn.microsoft.com/en-us/live/ff621310)

Windows 8 프로젝트의 솔루션 탐색기에서 참조 추가를 통해 Microsoft.Live.dll을 추가합니다.

C:\Program Files (x86)\Microsoft SDKs
\Live\v5.0\Metro XAML\References\CommonConfiguration\Neutral

 

개체 탐색기를 통해 Microsoft.Live.dll을 확인할 수 있습니다.

 

MainPage.xaml.cs 에 아래와 같은 using 구문을 추가합니다.

using Microsoft.Live;

using Windows.UI.Popups;

 

session 이라는 필드와 Authenticate 메서드를 MainPage 클래스에 아래와 같이 선언합니다.

private LiveConnectSession session;

 

 

private async System.Threading.Tasks.Task Authenticate()

{

LiveAuthClient liveIdClient = new LiveAuthClient("<<TODO Redirect URL here>>");

 

while (session == null)

{

       if (liveIdClient.CanLogout)

liveIdClient.Logout();

 

 

      LiveLoginResult result = await liveIdClient.LoginAsync(new[] { "wl.basic" });

      if (result.Status == LiveConnectSessionStatus.Connected)

      {

          session = result.Session;

          LiveConnectClient client = new LiveConnectClient(result.Session);

          LiveOperationResult meResult = await client.GetAsync("me");

          MobileServiceUser loginResult = await App.MobileService.LoginAsync(session.AuthenticationToken);

 

string title = string.Format("환영 {0} !", meResult.Result["first_name"]);

          var message = string.Format("로그인 ID - {0}", loginResult.UserId);

          var dialog = new MessageDialog(message, title);

          ialog.Commands.Add(new UICommand("OK"));

          await dialog.ShowAsync();

      }

      else

      {

          session = null;

          var dialog = new MessageDialog("로그인 필요");

          dialog.Commands.Add(new UICommand("OK"));

          await dialog.ShowAsync();

 

      }

 }

}

}

 

위 코드에서 <<TODO Redirect URL here>> Mobile Servicessite url을 입력합니다.

그리고 OnNavigtedTo 이벤트를 아래와 같이 수정합니다.

protected async override void OnNavigatedTo(NavigationEventArgs e)

        {

            await Authenticate();

            RefreshTodoItems();

        }

 

F5를 통해 App을 시작하면 아래와 같은 인증 창이 나타나는 것을 확인 가능합니다. 손쉽게 Live 인증에 대한 내용을 추가할 수 있다는 것을 알 수 있습니다.

로그인에 성공하면 코드에서처럼 dialog가 나타나게 됩니다.  

이상으로  Windows Azure에서 제공되는 Mobile Services 에 대한 Data, Push Notification, Authentication에 대한 내용을 알아보았습니다. 이를 통해 Windows 8 App에 대한 기능을 더 손쉽게 추가할 수있다는 것을 확인할 수 있습니다.

 

신고
posted by 정홍주
2012.09.07 09:30 Microsft Azure

 

Windows Azure – Mobile Services (2)

 

두 번째 글은 Mobile Services를 통해 Push Notification을 구성해보도록 하겠습니다. Push Notification Windows Phone 7 에서  서비스를 이용해서 Notification을 받아  Tile을 업데이트 하거나 했었는데요. Windows 8 App 에서도 Push Notification을 구성할 수 있는데 여러가지 작업을 해야 겠지만 Mobile Services 를 통해 손쉽게 처리할 수 있습니다.

 

Mobile Services를 통해 Push Notification 을 구성하기 위해서는 Metro 스타일 앱의 응용 프로그램 관리 사이트 로 이동해서 App의 패키지 표시 이름과 게시자를 구성하여야 합니다.

Mobile Services를 통해 생성한 프로젝트의 package.appxmanifest 를 클릭하여 패키지 이름과 게시자를 확인 합니다.

그리고 위 사이트로 이동하여 아래 그림처럼 Step 2 에서 값을 입력하고 동의함을 클릭합니다.

 

그러면 다음 페이지에서 Package name, Client secret Package Security Identifier (SID)를 확인 가능합니다.

Package name은 아래 그림처럼 Visual Studio 프로젝트에서 변경해주시면 됩니다.

 

Client secret Package Security Identifier (SID) Windows Azure Mobile Services 에서 사용하게 됩니다. Windows Azure Management Portal Mobile Services의 상세 페이지로 이동하여 아래 그림처럼 PUSH 메뉴를 클릭합니다. Client secret Package Security Identifier (SID) 를 입력합니다.  

Windows 8 App Push Notification 을 구성하도록 하겠습니다. 먼저 package.appxmanifst 파일에서 응용프로그램 UI 탭에서 알림가능을 예로 선택되었는지 확인합니다. 아니오라면 예로 선택합니다.

App.xaml.cs 로 이동하여 아래처럼 Channel 클래스를 추가하고 Push Notification 을 구성하겠습니다.

 

public class Channel

    {

        public int Id { get; set; }

        public string Uri { get; set; }

    }

 

Push Notification을 위해 아래와 같은 using 구문을 추가합니다.

using Windows.Networking.PushNotifications;

 

onLaunched 메서드는 async로 아래와 같이 변경합니다.

protected async override void OnLaunched(LaunchActivatedEventArgs args)

 

Push Notification 을 구성하기 위해 아래와 같은 코드를 onLaunched 메서드의 맨 아래에 추가합니다.

var ch = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();

 

await MobileService.GetTable<Channel>().InsertAsync(new Channel() { Uri = ch.Uri });

 

 

Todolist 테이블에 값이 추가될 때 마다  Push Notification 을 전송하기 위해 Channel 테이블을 Mobile Services에 생성하도록 하겠습니다. Windows Azure Management Portal Mobile Services의 상세 페이지에서 DATA 메뉴를 클릭하고 하단의 CREATE 메뉴를 클릭합니다. 테이블 이름은 Channel로 지정합니다. 

생성된 테이블은 아래와 같으며 컬럼이 id 만 생성되어 있는 것을 확인가능하며 코드와 Script를 통해 구 성할 것입니다.

 위 그림의 Script 메뉴를 클릭합니다. Script를 통해 추가적인 작업이 가능하며 여기서는 동일한  Uri 일 경우 Notification을 하지 않도록 스크립트를 아래와 같이 추가하고 Save 버튼을 클릭합니다. 

스크립트의 실제 내용은 아래와 같습니다.

function insert(item, user, request) {

    var channelTable = tables.getTable('Channel');

    channelTable.where({ uri: item.Uri })

        .read({ success: insertChannelIfNotFound});    

 

    function insertChannelIfNotFound(existingChannels) {

        if(existingChannels.length > 0) {

                                          request.respond(200, existingChannels[0]);

        } else {

                                          request.execute();

        }

    }

}

 

 

왼쪽의 TodoItem을 클릭하여 마찬가지로 Script를 통해 Insert 동작에서 Channel 테이블에 등록된 Uri ToastNotification을 전송하는 스크립트를 작성합니다. 

실제  스크립트는 아래와 같습니다.

function insert(item, user, request) {

    request.execute({

        success: function(){

                                          request.respond();

                                          sendNotifications(item);

        },

        error: function(err){

                                          request.respond(500, "Error");

        }

    });

}

 

function sendNotifications(item){              

    var channelTable = tables.getTable('Channel');

        channelTable.read({

            success: function(channels){

                channels.forEach(function(channel){

                    push.wns.sendToastText04(channel.Uri, {

                        text1: item.text,

                        text2: "text line 2",

                        text3:  "text line 3"

                    }, {

                        success: function(response){                                              

                            console.log(response);

                        },                                   

                        error: function(err){                                              

                            console.error(err);                      

                        }                   

                    });

                });

            }       

    });   

}

 

 

이제 Visual Studio 2012에서 로컬 컴퓨터로 실행하여 TodoItem에 값을 입력하면 ToastNotification이 발생되는 것을 확인할 수 있습니다.

 


Live Connect, App Channel 등록과 Azure의 스크립트를 통해 손쉽게 Push Notification을 구성할 수 있습니다. 

 

 

신고
posted by 정홍주
2012.09.03 06:50 Microsft Azure

 

Windows Azure - Mobile Services (1)

8월말에 Windows Azure Mobile Service가 발표되었으며 Windows 8 에서 한번 살펴보도록 하겠습니다.

 

먼저 Windows Azure Management Portal에서 Mobile Services를 생성하고 C# 응용 프로그램을 통해 테스트 할 수 있습니다. 그리고 Push NotificationAuthentication 을 추가할 수 있습니다.

본 글에서는 Mobile Services를 생성하고 C# 응용 프로그램에서 SQL Azure의 데이터를 처리하는 내용을 다룹니다. Windows Azure Training Kit Mobile Services를 참조합니다.

 

1.     Windows Azure Management Portal 로 로그온합니다. Mobile Services가 활성화 되었다면 아래와 같은 화면을 볼 수 있습니다. 생성하기 위해 “CREATE A NEW APP” 링크나 하단의 NEW 메뉴를 클릭합니다.
 

2.     Mobile Services URLSQL Azure 데이터베이스를 생성합니다. Mobile Services는 아래 그림에서 입력한 URLhttps://hMobile.azure-mobile.net 으로 생성되게 됩니다. SQL Azure Windows 8 App 에서의 데이터를 위한 저장소에 해당됩니다.

 

3.     SQL Azure 데이터베이스에 대한 정보를 아래와 같이 입력합니다.

 

4.     완료 버튼을 누르면 아래와 같이 생성된 내용을 확인 가능합니다.

5.     이름을 클릭해서 상세 페이지로 이동할 수 있습니다. Data, Push, Identity 를 볼 수 있으며 Windows 8 App 에서 Data, Push, Identity 를 손쉽게 구현할 수 있도록 해주는 것이 Mobile Services라는 것을 확인 가능합니다.
 

6.     Create a new Windows 8 Application 메뉴를 확인할 수 있습니다. 여기서는 새로 생성하는 것으로 진행합니다. 링크를 클릭하면 단계를 아래와 같이 확인 가능합니다.
 

1번의 Mobile Services SDK Mobile Services를 액세스 할 수 있는 어셈블리이므로 설치를 먼저 해야 합니다.

2번의 Table 만들기는 .NET 개체 및 SQL Azure 테이블을 구성하게 됩니다.

마지막으로 3번의 응용 프로그램을 선택하고 다운로드 합니다

7.     압축을 풀고 프로젝트를 실행하면 아래와 같은 결과를 볼 수 있습니다.

저는 동일한 값을 두 번씩 입력했습니다.

8.     Windows Azure Management Portal 에서 Mobile Services의 상세 페이지의 Data에서도 확인이 가능합니다.
 

9.     프로젝트로 와서 코드를 한번 확인해보도록 하겠습니다. 솔루션 탐색기를 보면 Mobile Services 관련 어셈블리가 추가되어 있는 것을 확인할 수 있습니다.

 

10.   App.xaml.cs 에서 MobileClientService를 정의하고 있습니다.

11.   MainPage.xaml.cs 에서는 테이블 개체를 정의하고 INSERT, SELECT를 코드로 접근하고 있습니다.

 

위에서 살펴본 것처럼 Windows Azure Mobile Services Windows 8 App 에서 클라우드의 데이터를 손쉽게 접근하게 해주는 것을 확인 가능합니다. Mobile Servcies를 통해 WCF를 생성하고 REST API를 호출하는 등의 내용 없이 가능하다는 것을 알아보았습니다.

 

이어서 Push Notification, Authentication 에 대한 접근을 알아보도록 하겠습니다.

 

신고
posted by 정홍주
2012.08.29 08:00 Microsft Azure

 

Windows Azure - Mobile Services

 

미리 보기 기능으로 Mobile Services를 살펴볼 수 있습니다.

Mobile Services Windows 8 클라이언트 앱을 위해 손쉽게 push notification, 사용자 인증과 같은 통합 작업을 간소화 할 수 있습니다.

 

클라우드에 데이터를 손쉽게 저장하거나 앱에 사용자를 추가하고 push notification을 손쉽게 통합할 수 있습니다.

 

저는 아래와 같이 신청한 상태이며 승인이 진행 중입니다. 활성화 되면 보다 더 자세히 살펴보겠습니다. WindowsAzure.com 에서 Mobile Services 미리 보기 기능을 활성화 할 수 있습니다.

 

 

 

UPDATE:

Scott의 동영상이 올라와 업데이트 합니다. 아래 링크를 참조하십시오.

https://www.youtube.com/watch?v=ovDtALgsBuQ

 

 

신고
posted by 정홍주
prev 1 next

티스토리 툴바