Archive for March, 2014

SharePoint用アプリとは技術的になんだろうかわかりやすくかいてみた。

作成中 まずはSharePoint Online(Office365)の概要を簡単に図にしてみた。 ちなみに、これはSharePoint用アプリの話ではない、まずSharePointがなにかわららないとわからなので。 ※On-Premiseでも基本的には同じだ。 下図のように、IIS とSQL Server を基礎として、SharePointが作られている。 SharePointはインタネットブラウザーからURLを実行すると簡単にいうと以下の図ように動作する。 ブラウザーから以下のようなURLリクエストをする。 https://xxxxxx.sharepoint.com/ aspx, master等のファイルを取得する リストデータが必要なら取得する ASP.NETがaspx+masterページからHTMLを作成してレスポンスする それでここからが本題です、SharePoint用アプリ(Apps for SharePoint)がどのように動いているかというと。 とりあえず、こちらに私の思う最大のメリットを書いておきます。 SharePointでアプリを開発する際はいままで、初心者には難しいSharePointのフィーチャー、カスタムリスト等SharePointの専門用語を覚える必要がありました。 しかし、RemoteApp:Provider-hostedの場合はどんなWebサーバ、プログラム言語でもアプリを作ることができます。 また認証系は今まで通りに、SharePoint(AD)/Office365(Azure AD)を使用できます。 さらに、SharePoint Online になると自動的にSharePointバージョンアップ等されるので, SharePointの機能をできるだけ使わずに、認証とリスト等のみ使うようにして作るとバージョンアップに耐えられるアプリを作成することが可能になりました。 ※Microsoft Office ストアにするとアプリに課金することもできます。 SharePointでホスト(SharePoint-hosted) ホストするアプリをASPX or HTMLで作成する。 VisualStudioでappを発行する。 ※appパッケージを作成する。 ※拡張子をapp–>zipにすると中身がみれます。 アプリカタログにアプリを発行(アップロード)する。 ※もしくは、Microsoft Office ストアに発行する。(審査あり) アプリの追加を行う アプリの追加時にSharePointのIISにASPX, HTMLをインストールする アプリの実行を行う アドレスは以下の「exceedone-*.sharepoint.com」になる。 https://exceedone–5ed14e7da2ad9a.sharepoint.com/sites/dev_noro/SharePointApp7/Pages/Default.aspx 自動ホスト(RemoteApp; Autohosted) ホストするアプリをASPX or HTML or MVC(ASP.NET)で作成する。 VisualStudioでappを発行する。 ※appパッケージを作成する。 ※拡張子をapp–>zipにすると中身がみれます。 アプリカタログにアプリを発行(アップロード)する。 ※もしくは、Microsoft Office ストアに発行する。(審査あり) アプリの追加を行う アプリの追加時にAzureのIISにASPX, HTMLXを追加する ※SQL Azureにデータベースを追加も可能 アプリの実行を行う アドレスは以下のように、「*.o365apps.net」になる。 https://1fcb6574-2bae-4bea-a36c-d47fe5c9a56b.o365apps.net/?SPHostUrl=https%3 プロバイダーでホスト(RemoteApp; Provider-hosted) 図作成中  技術的な特徴 種類 技術的な特徴 SharePointでホスト (SharePoint-hosted) SharePointのIISがWeb Serverになる。 よってASPX か HTMLファイルを配置することになる 自動ホスト (Autohosted) テナント、サイト単位で自動で「AzureのIIS」と「SQL Server」がWeb Serverになる。 よってASPX か HTMLファイルを配置することになる ※SQL Serverの容量制限とか調査中 ※Office365契約ユーザは無料のようだ? プロバイダーでホスト (Provider-hosted) どんなWeb Serverでもよい 例: On-Premise, AWS, Azure, さくら等 プログラムの方法 Webブラウザー側から JavaScriptで、「JavaScript Object Model(JSOM)」 JavaScriptで、「Restインターフェイス」 Webサーバ側から .NETで「.NET […]