ハイパーメディアであってもハイパーテキストであっても、使用される送信プロトコルは HTTP です。つまり、ハイパーメディアはすべてのブラウザで受け入れられます。ハイパーメディアの種類を記述するために、MIME を使用します。 MIME は、MultiPurpose Internet Mail Extensions の略で、多目的インターネット メール拡張タイプです。これは、最初に電子メール システムに適用され、その後、その定義が徐々にインターネット分野に適用されました。 MIME を使用してメディアの種類を指定すると、クライアントのブラウザーはこの種類のメディアの処理方法を明確に認識できます。
Node.js は、Google の V8 JavaScript エンジンに基づいて構築されたライブラリであり、主にスケーラブルなネットワーク アプリケーションを便利かつ迅速に構築するために使用されます。 Node.js はイベント駆動型であり、JavaScript のクロージャー特性とイベント処理メカニズムを最大限に活用し、データ集約型のリアルタイム アプリケーションに非常に適したノンブロッキング I/O モデルを採用しています。 Node.js は Apache HTTP Server と同様の機能を実装し、JavaScript に基づいて同時実行性の高い Web アプリケーションを構築できるようにします。 Node.js を使用すると、フロントエンドとバックエンドの開発で同じプログラミング言語 JavaScript を使用できるようになります。
REST Web サービスは、HTTP プロトコルに合わせて作られていると言えます。HTTP プロトコルでは、URI を使用して一意のネットワーク リソースを識別し、GET、POST、PUT、DELETE などの動詞を使用してリソースを操作します。 REST Web サービスは SOAP よりも明らかに優れています Web サービスは、追加のカプセル化プロトコルやリモート プロシージャ コールを必要としないため、より簡潔で効率的です。
リソースの表現形式としては、HTML5、XMLデータ形式、JSONデータ形式、バイナリのProtobuf形式などが可能です。どのデータ形式を使用するかは、プロジェクトのニーズによって異なります。
Node.js は、クライアントまたはサーバーで使用できる HTTP 操作機能を提供します。 Node.js の最大の利点は、多数のサードパーティ ライブラリがあることです。RESTful Web サービスに関しては、開発作業を簡素化できるライブラリも複数あります。例:
1) ノード修正
ホームページ: https://github.com/mcavage/node-restify
restify は、RESTful API を構築するための Express ライブラリに似た、合理化された Node.js ライブラリです。
インストール:
$ npm install restify
2) ノードレストフル
ホームページ: https://github.com/baugarten/node-restful
node-restful は Express ライブラリのパッケージであり、RESTful API の作成に非常に適しています。
インストール:
npm install node-restful
サードパーティのライブラリは数多くありますが、1 つずつリストすることはしません。さらに、Node.js のコア ライブラリを直接使用して RESTful API を構築したり、Express ライブラリを使用して RESTful API を構築したりすることもできます。目標を達成するには多くの方法があります。
ハイパーメディアに関する書籍は非常に少ないため、ハイパーメディア API の構築方法を具体的に論じた書籍はさらに少なくなっています。ハイパーメディアもネットワーク リソースであり、URI によって定義することもできるため、Node.js は RESTful API を実装します。ハイパーメディアの使い方はとても簡単です。
「HTML5 とノードを使用したハイパーメディア API の構築」という本の翻訳は硬すぎて、読むのが不快だと言わざるを得ません。しかし、ハイパーメディア RESTful API の実装の必要性は非常に一般的であり、Web 開発者にとって必要なスキルの 1 つであると言えるため、この本自体は依然として非常に価値があります。何度も読んでその意味を理解してください。これがこの本の読者への私の小さな提案です。