ファイルシステムでHello World
この連載では"ファイルシステムの作り方"をご紹介します。第1回目の今回は簡単なイントロダクションと単純なHello Worldファイルシステムの作り方を説明します。次回以降で詳しい解説と本格的なファイルシステムの作り方をご紹介しようと思います。
作者 Robert Bazinet, 翻訳者 編集部 投稿日 2008年4月30日 午前6時47分
Microsoftはデバイス、フォルダおよびニュースを結びつけて、同期させる Windows Live Mesh(source)サービスのテクノロジープレビューをリリースした。Microsoftによると、ユーザがPC、Macおよび携帯電話のどこからでも情報にアクセスすることができるという。
Live Meshは、複数のデバイス間で情報を共有する必要がある人の製品であり、自宅や職場、それに旅行先でも利用できる。各デバイスにLive Meshクライアントがインストールされて、共有されるフォルダは中央のMeshにインストールされ、それらを同期し、必要な場所につねにある。同期情報へのアクセスはWebからはもちろんのこと、あらゆる場所から可能である。当初は、Mesh Desktopは5GBのフリーストレージをサポートする。
こんにちのLive Meshの使い道には、友人と写真を共有して、 単純にフォルダの共有を勧めることもあるだろう。共有フォルダは、フォルダ内での文書の更新、コメントの追加およびインスタントメッセージの送信のすべてを可能にする。それについてはデバイスの動作方法を説明したビデオを見ると理解が深まる。
シンプルなフォルダの共有について理解することは重要であり、デバイス間の同期はLive Meshの機能および能力を示す唯一のものである。John Udell氏がRay Ozzie氏にインタビューをおこない(source)、Live Meshの導入や今に至るまでの経緯そしてこれからの計画について語った。
最も普及しているLive Meshアプリケーションはファイルとフォルダの同期装置であるが、Ray氏はこれはメッシュのすべてのデバイス全体のカレンダーイベントのようなカスタム オブジェクトの同期に同じように適用することができるアプリケーションパターンの別の例にすぎないと述べた。また、アプリケーションタイプのスペクトルを越えて適用できる。ブラウザから従来のリッチクライアント、FlashやSilverlightといったWebベースのリッチクライアントなど。
John氏はまた、ユーザとWebサイトで通信するためのコミュニケーションパイプラインとして、 あまり明らかでない方法でLive Meshを使用する方法を説明している。
あまり知られていない別のLive Meshアプリケーションのパターンがある。このパターンでは、WebサイトはLive Meshユーザと通信するためのパイプラインとしてLive Meshを使用する。旅行や銀行のサイトを実行している場合、パイプラインを使用してユーザに構造化データを送信することができる。たとえば、旅程や取引報告の場合である。それらのXMLフィードを作成するのは容易であり、Live Mesh インフラストラクチャーを使用して安全かつ確実にそれらを送信し、各ユーザのLive Meshのすべてのデバイス全体で同期し、作成時に使用された同じRESTfulフィードAPIを使用して、ローカルアプリケーションにアクセスすること ができる。
Live Meshが主にフォーカスしているものの1つは、アプリケーションをビルドして、Live Meshで提供されるずべてのサービスをフルに活用するためのデベロッパ向けのプラットフォームである。デベロッパが以下の特徴を持ったアプリケーションをビルドすることを可能にするLive Mesh SDKが計画されている。
- Live Mesh同期サービスを使用して、各ユーザのメッシュのすべてのデバイス全体に及ぶファイル、データおよびアプリケーションを同期する。デバイスがサービスと時々しか連結しないというシナリオにおいてさえも、そうである。
- Live Meshメンバーサービスを使用して、ファイルとデータの共有エクスペリエンスをすべての人に提供する。
- Live Desktopのエクスペリエンスを拡張して、場所を選ばずにアクセスできるアプリケーションを提供する。
- Live Meshニュースフィードシステムにプラグインして、アプリケーションでの主要な活動に関する通知を作成する。
Windows Live開発チームのプラットフォームの指針は以下のとおりである。
- サービスはプラットフォームの中枢 – Live Meshプラットフォームは、Live Mesh APIを使用してアクセス可能なLive Serviceを含む多くのコアサービスを公開している。それに含まれるものには、Storage(オンラインおよびオフライン)、 Membership、Sync、Peer-to-Peer CommunicationおよびNewsfeedがある。
- クライアント上およびクラウドでも同様のAPI – プログラミングモデルはクラウドおよびすべての接続デバイスで同様であり、Live Meshアプリケーションがクラウドで実行されようが、ブラウザであろうが、デスクトップであろうがモバイルデバイスであろうが関係なく、全く同じ動作をする。
- オープンで拡張可能なデータモデル –Live Meshアプリケーションで必要な極めて一般的なタスク向けに基本的なデータモデルが提供される。またデベロッパは特定のアプリケーションに必要な方法でデータモデルをカスタマイズしたり拡張したりすることができる。
- 柔軟なアプリケーションモデル – デベロッパはニーズに最適なアプリケーションデベロッパモデルを選択することができる。
現在Live Meshデベロッパ開発プログラムは、待ちリスト(source)があり、誰でもそのリストに名を連ねることができる。SDKのデモは、Live MeshのWebサイトで閲覧可能で(source)、デベロッパが期待しているもののプレビューを提供している。
Microsoft Live Meshの詳細は、Live MeshのWebサイト(source)に掲載されている。 またWindows Live開発チーム提供の公式情報は、チームのWebサイト(ブログ・英語)を参照のこと。
原文はこちらです:http://www.infoq.com/news/2008/04/microsoft-live-mesh
この連載では"ファイルシステムの作り方"をご紹介します。第1回目の今回は簡単なイントロダクションと単純なHello Worldファイルシステムの作り方を説明します。次回以降で詳しい解説と本格的なファイルシステムの作り方をご紹介しようと思います。
あなたのチームが、既存アプリケーションを「シングルトンの入れ子」設計から依存性注入(DI)へ移行しようとしているなら、この論文に心引かれるでしょうが、DIへの移行は難しいことが分かっています。論文にはGoogleのJava DIコンテナ(Guice)の名を入れていますが、Javaや.NET、Python、Rubyなどにも当てはまります。
アジャイルの「自己組織化チーム」のパラダイムでは、チームのメンバに新しいスキルが要求されます。この記事では、発展しつつあるチームの自己組織化を壊さずに、新たなスキルを伝えるためのいくつかの戦略を提案します。そして、新しいスキルを身につけるのに役立つ資料のありかを提示しています。
今回の記事では、非同期ワークフローと呼ばれるワークフロー機能の面白い使用法を考察しますが、非同期ワークフローは.NETの非同期プログラミングモデルを単純化することを目的としています。
アーキテクチャは一般に、Word文書に主として見られるような極めて実体のない、ソフトウェアシステムの概念的な側面であるか、または完全に技術によって駆動されるものかのいずれかです。そのどちらも間違っています。では、どう対処すればよいでしょうか? この記事ではアイデアを説明します、そしてアプローチのキーポイントを要約します。
Werner Schuster氏が、簡単な例を示しながら、Javaのようなプロパティをメタプログラミングを使ってRubyに追加する方法を示します。
現在のRIAアーキテクチャにおいて、クライアント/サーバーの通信は重要な位置を占めています。本稿では、James WardとShashank TiwariがアドビによるオープンソースのBlazeDSメッセージングサーバーの世界へ飛び込みます。
ウィルス対策ソフトや情報漏えい防止用のソフトは、いわば影の存在です。ユーザの操作性やGUIを工夫する以上に、いかに目立たない存在となるかにその技術を注ぎ込んでいます。ここでは日立ソフトが開発した「秘文」の事例を紹介します。
No comments
返信