ネットカーネル

ネットカーネル
原作者HPラボラトリーズ[1]
開発者1060リサーチ
安定版リリース
6.2.1 / 2018年1月27日; 7年前[2] (2018-01-27)
書かれたジャワ
タイプアプリケーションフレームワーク
ライセンス1060パブリックライセンス[3]
Webサイトwww.1060research.com/products/

NetKernelは、高性能コンピューティング、エンタープライズ アプリケーション統合、エネルギー効率の高いコンピューティングに使用される、英国のソフトウェア会社および同名のソフトウェア プラットフォームです。

開発者はコードとアーキテクチャを明確に分離できます。アプリケーションサーバーとして使用したり、Javaコンテナに組み込んだり、クラウドコンピューティングプラットフォームとして利用したりできます。

プラットフォームとしては、リソース指向コンピューティング(ROC)抽象化の実装です。ROCは、コードやオブジェクトの物理領域上に存在しますが、物理領域から完全に分離された論理コンピューティングモデルです。ROCでは、情報とサービスは論理アドレスによって識別され、これらのアドレスはリクエストの期間中は物理エンドポイントに解決され、その後解放されます。論理間接アドレス指定により、システムの運用中に変更できる柔軟なシステムが実現します。NetKernelでは、論理層と物理層の境界は、様々な透過的な最適化を実行できるオペレーティングシステムレベルのマイクロカーネルによって仲介されます。

リソースを用いて抽象情報をモデル化するという考え方は、RESTアーキテクチャスタイルとWorld Wide Webに由来します。統一されたアドレス指定モデルを使用するという考え方は、Unixオペレーティングシステムに由来します。NetKernelは、WebとUnixを統合したもので、単一のコンピュータ内のモノリシックなマイクロカーネル上で動作するソフトウェアオペレーティングシステムとして実装されています。

NetKernelは1060 Researchによって開発され、オープンソースソフトウェア[3]と商用ソフトウェアの 二重ライセンスの下で提供されています。

歴史

NetKernelは1999年にヒューレット・パッカード研究所で開発が始まりました。Russ Perry博士、Royston Sellman博士、Peter Rodgers博士によって、業界内XMLメッセージングにおけるXML方言への関心の高まりに対応できる汎用XMLオペレーティング環境として考案されました。[1]

ロジャーズはウェブを、彼がROCとして推論した一般的な抽象概念の実装と捉えました。しかし、ウェブは情報の公開に限定されているのに対し、彼は同様の原理を用いて計算を実行できるソリューションを考案し始めました。共同創業者のトニー・バターフィールドと緊密に協力し、彼らはコードやオブジェクトの物理的な領域から切り離された論理モデル上で実行可能なソフトウェアを作成する手法を発見しました。このアプローチの可能性を認識し、彼らはHPラボからスピンアウトしました。

ロジャース氏とバターフィールド氏は、2002 年にイギリスのコッツウォルズ地方の端にある小さな市場町、チッピング ソドベリーで「1060 Research Limited」として会社を設立し、数年かけて NetKernel となるプラットフォームを開発しました。

2018年初頭、1060リサーチはチャールズ・ラドクリフ氏を新CEOに任命すると発表した。[4]ラドクリフ氏は2018年2月、NetKernelコミュニティに対し、NKEE 6をベースとした、完全にホストされ、プログラミング可能で、Web経由でアクセス可能な新しいプラットフォーム、NetKernel Cloudの開発に取り組んでいると発表した。ラドクリフ氏は6ヶ月後に辞任した。[5]

概念

リソース

リソースは、コンピュータシステム内で識別可能な情報です。リソースは抽象的な概念であり、直接操作することはできません。リソースが要求されると、リソースの現在の状態を示す具体的かつ不変の表現が提供されます。これは、World Wide Web の機能と非常によく似ています。Web では、URL アドレスはグローバルにアクセス可能なリソースを識別します。ブラウザがリソースへのリクエストを発行すると、レスポンスでリソースの表現が返されます。

住所

リソースは、アドレス空間内のアドレスによって識別されます。NetKernelでは、すべてのリソースを識別するためにUniform Resource Identifier(URI)アドレスが使用されます。単一のグローバルアドレス空間を持つWebとは異なり、NetKernelは無制限の数のアドレス空間をサポートし、アドレス空間間の関係性をサポートします。

NetKernel はさまざまなURI スキームをサポートし、ソフトウェア システム内の URI アドレス指定に特に適用可能な新しいスキームを導入しています。

リクエスト

NetKernelにおける基本的な操作は、リソース要求リクエスト)です。リクエストは、リソースURIアドレスと動詞(verb)で構成されます。サポートされている動詞には、SOURCE、SINK、NEW、DELETE、EXISTS、METAなどがあります。各リクエストはマイクロカーネルにディスパッチされ、マイクロカーネルはURIアドレスを物理エンドポイントに解決し、処理用のスレッドを割り当ててスケジュールします。エンドポイントが処理を完了すると、マイクロカーネルは開始クライアントにレスポンスを返します。

プログラミング

NetKernelの基本命令は、URIで指定されるリソース要求です。URI要求を順序付けるメカニズムは、マイクロカーネルの上位に配置されています。現在のJavaベースの実装では、要求はJava APIを使用してディスパッチされます。つまり、Java APIを呼び出せる言語であれば、NetKernelのプログラミングに使用できます。

2013 年 4 月現在[update]、サポートされている言語のセットは次のとおりです。

  • ジャワ
  • ルビー
  • スカラ
  • クロージュア
  • JavaScript
  • Python 2
  • グルーヴィー
  • 豆殻
  • PHP
  • DPML
  • XQueryなどのXML関連言語
  • URI 仕様自体は、関数型プログラミング言語を表現するのに十分な豊富さを持っています。

アクティブURIスキーム

アクティブURI スキームは、URI 内で機能プログラムをエンコードする手段として Hewlett-Packard によって提案まし

アクティブ: {関数名} [+ {パラメータ名} @ {パラメータ値URI}]*

例えば、次のURIは乱数ジェネレータを呼び出す。

アクティブ:ランダム

次の例では、XSLTサービスを使用して、 XSLT スタイルシートを含む XMLドキュメントを変換します。

アクティブ:xslt+演算子@ファイル:/style.xsl+オペランド@ファイル:/document.xml

引数値自体が URI アドレスである可能性があるため、ツリー構造の関数呼び出しセットを単一の URI にエンコードできます。

輸送

トランスポートは、NetKernel外部からのリクエストをNetKernelアドレス空間に取り込むためのメカニズムです。HTTPプロトコル、JMS(Java Message Service)、CRONに対応したトランスポートが利用可能です。その他のトランスポートはNetKernelの他の部分から独立しているため、簡単に追加できます。

トランスポートの役割は、1 つのプロトコルに基づく外部要求を URI と特定の動詞 (SOURCE、SINK など) を含む NetKernel 要求に変換し、返された表現をサポートされているプロトコル経由でクライアントに送り返すことです。

トランスポートは2つのマッピングを処理します。1つ目は、外部でサポートされているプロトコルのアドレス空間とNetKernel内部のアドレス空間との間のマッピングです。2つ目は、NetKernel動詞に外部で指定された動詞またはアクションとの間のマッピングです。

例えば、HTTPトランスポートの場合、外部アドレス空間はURLのサブ空間です。次のマッピングはこの点を示しています。

http://www.mywebsite.com/publications/...
       
             |
             v

ファイル:/src/publications/...

さらに、HTTP プロトコルは、NetKernel 動詞にマップされる GET、PUT、HEAD などのメソッドをサポートしています。

スクリプト言語

URI リクエストを発行し、返された表現をキャプチャし、クライアントと通信するためのメカニズムが必要です。

スクリプト言語は、それ自体がサービスであるランタイムエンジンによって実行されます。例えば、Groovyfile:/program.gy言語ランタイムは、以下の ファイルに含まれるプログラムを実行します。

アクティブ:groovy+operator@file:/program.gy

参照

参考文献

  1. ^ ab 「About: History」。1060 Research
  2. ^ "NetKernel 標準版のダウンロード".
  3. ^ ab "1060パブリックライセンスv1.2". 1060リサーチ.
  4. ^ 「ブリストルのスタートアップ企業NetKernel、ドイツ銀行のイノベーションリーダーをCEOに採用」FinExtra、2018年2月7日。
  5. ^ 「ディープテックのCEOとしての6か月間で学んだ3つの重要な教訓」
  • 公式サイト
  • 1060リサーチ
  • GitHubを使い始める
Retrieved from "https://en.wikipedia.org/w/index.php?title=NetKernel&oldid=1150451784"