ServiceStack

提供: MonoBook
ナビゲーションに移動 検索に移動

ServiceStack(読み:さーびすすたっく)とは、オープンソースで開発が行われている.NET Framework向けの大規模なWebフレームワークである。

概要[編集 | ソースを編集]

ServiceStackはstackoverflow.comで有名なStack Exchange社のDemis Bellot(通称:mythz)氏によって開発が始められたものである。現在ではServiceStack LLCという別会社が設立され、そちらで開発が行われている。またこのオープンソースに関わるコントリビューターは100名を超えるに至っている。

ServiceStackはドメイン駆動設計(英語:Domain Driven Design, 通称:DDD)の思想に強く染まっているのが特徴である。ServiceStackはDDDが古くから流行している欧米ではDDD向けフレームワークの中心的存在として広く認知されており、たとえば英国公共放送BBCの公式サイトなどの大型採用事例も多数報告されている。一方で日本ではDDDの和訳・和書が2011年まで発刊されなかったこともあり、フレームワークはもとよりDDDという思想自体が知られていないという状況であった。

ライセンス[編集 | ソースを編集]

ServiceStackのライセンスには、3.0まではBSDライセンスを、4.0以降はAGPL v3および商用ライセンスを採用している。

AGPL v3ではGPLにあるアプリケーションサービスプロバイダの抜け穴を閉じるよう設計されている。具体的にはASPではソフトウェアは単に利用されるだけで、頒布されるわけではなく、よってコピーレフト条項が発動しない、という抜け穴が完全に塞がれており、たとえサーバーで第三者向けにサービスを提供(社内システムなど第二者向けはこの限りではない)するだけであっても、そのサービスの完全なソースコードを提供可能にしておく必要がある。これを拒否する場合には商用ライセンスを結ぶ必要がある。

用途が業務システムに偏っていた同プロジェクトの利用者にとっては実質的に商用ライセンスのみに等しく、当然のようにこれに異論を唱えた人々も現れ、NServiceKitという派生も生まれている。

実行環境[編集 | ソースを編集]

ServiceStackの実行環境はASP.NET MVCなどと比べてMonoとの相性が非常によく、作ったものは特に調整する必要もなくXSPを用いてLinuxMac OS XなどのWindows以外の環境でもサクッと動かせる。また、セルフホスティングにも対応しており、IISXSPがなくても単体で動作させることができたりもする。

開発環境[編集 | ソースを編集]

開発環境はNuGetを用いて非常に簡単に構築することができる。Visual Studioであればプロジェクト作成後にパッケージマネージャーから追加するだけである。同様にLinuxMac OS XなどでもXamarin StudioNuGet Addin for MonoDevelop and Xamarin Studioを追加することで簡単に構築することができる。

使い方[編集 | ソースを編集]

関連システム[編集 | ソースを編集]

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]

外部リンク[編集 | ソースを編集]