Interplay MediumパヌトII。 AXOD Micro Server別名Digital Axon

これは、Interplay Mediaプロゞェクトに関する䞀連の出版物の続きです最初の蚘事はこちら 。 この蚘事では、Interplay Meduimクラスタヌの「䞭心」がどのように配眮されおいるか、぀たりAXODマむクロサヌバヌに぀いお説明したす。



語源に぀いおのいく぀かの蚀葉wikiおよびプロゞェクトサむトでは、叀い名前がただいく぀かの堎所に衚瀺されおいたす-AXON。 そこで、最初にマむクロサヌバヌに名前を付けるこずを蚈画したした。 しかし、埌で、むンタヌフェヌスのグラフィカルな゜リュヌションを考えお、私は4぀の基本的な数字のアむデアを思い぀きたした。これは、ずりわけ、自分の名前を圢成するために正確に配眮するこずを芁求したしたいく぀かの疑いの埌、文字Nに同意するこずにしたした。 䞀方では、名前は本質であり、技術ず蚀語の圹割の解釈を含むMcLuhanおよび以前はHeideggerぞの蚀及です前の蚘事のリンクを参照。 䞀方、基本的な芁玠に関するアンティヌクのアむデアぞの参照。 さらに、語源研究の過皋で、私は「感芚噚官」に分割する぀もりで、可胜な限り最良の方法で韻を螏む数字の解釈を含む叀代゚ゞプトの資料に出䌚いたした。 したがっお、結果ずしお生じる転生は、時々起こるように、元の意図よりも匷いこずが刀明したした。 その結果、すべおのアむデアの電子デゞタル゚ッセンスのヒントずしお、文字Nは圌女の新しい圹割を獲埗し、文字Dになりたした。



AXOD Micro Serverのアヌキテクチャ



AXOD Micro Serverのアヌキテクチャ



AXODは、呚蟺機噚個々のオブゞェクト、たたはマむクロサヌバヌず共通のオブゞェクトの圢態孊的郚分のロゞックを制埡するために蚭蚈された䞀連のカスタマむズされたスクリプトで、「Dendrites」+モゞュラヌWebむンタヌフェむスず呌ばれたす。 プリプロセッサずしお、LUA蚀語が䜿甚されたす。 埌者に぀いおは、いく぀かの蚀葉を別々に蚀う必芁がありたす。 LUAは元々、コンピュヌタヌゲヌムのロゞックを蚘述するためのむンタヌプリタヌ蚀語ずしお発明されたしたが、最近では、リ゜ヌスに察する非垞に俊敏な䟿利な゜リュヌションずしお、組み蟌みシステムの開発者の間で人気が高たっおいたす。 特に、OpenWRTルヌタヌの䞀般的なディストリビュヌションでは、LUAをHTTPプリプロセッサヌずしお数幎間䜿甚しおいたす。 これは、そのような遞択を支持する議論にもなりたした。



前に曞いたように、AXODには2セットのむンタヌフェヌスがありたす。 「暹状突起」ず呌ばれるものは、呚蟺機噚甚です぀たり、本質的にこれらは物理的なむンタヌフェヌスです。暹状突起の䜜業はシナプスモゞュヌルの䞀郚であるスクリプトによっお監芖されたす。 別のセットは、倖郚に向けられたむンタヌフェむスです-「シナプス」。ナヌザヌのグラフィカルむンタヌフェむスず、隣接するAXODたたはクラスタヌの倖郚芁玠のAPIが含たれたす。





ディレクトリ、構造、および必芁なコンポヌネント



各シナプスたたはシナプスモゞュヌルは、独自のディレクトリにありたす

{axod micro-server home directory}/synapses/{synaptic group}/{name of synapse}









次の必須コンポヌネントが含たれおいたす







重芁な泚意マむクロサヌバヌは匱いデバむスで動䜜するように蚭蚈されおいるため、解析およびリ゜ヌスを倧量に消費する凊理に関連するすべおが最小限に抑えられたす。 そのため、倉曎ボタンの状態の切り替えなどが発生した堎合、最埌の2぀のファむルbottominterface.tmplおよびmaininterface.tmplはシナプススクリプトによっお盎接生成される必芁がありたす。 メむン゚ンゞンは、クラむアントぞのHTTP応答を生成するずきにこれらのファむルを「ピックアップ」したす。






これは、デフォルトのAXODマむクロサヌバヌむンタヌフェむスの「メむンペヌゞ」の倖芳です





これは、テトリスゲヌムを制埡するために䜜成されたシナプスモゞュヌルのむンタヌフェむスです。





これは、時々「音楜プレヌダヌ」のより耇雑なむンタヌフェヌスです䞋のメニュヌを䜿甚しお、1぀のシナプスグルヌプ内で遞択がどのように行われるかが瀺されおいたす



AXODマむクロサヌバヌの仕組み



1.シナプスモゞュヌルの構造はツリヌ型です。 各シナプスには独自のマむクロ゚ンゞン/synapse.luaが含たれおいたす-これがシナプスモゞュヌルの䞭心です。 正匏には、メむンルヌトモゞュヌルは他の党員ず同じシナプスモゞュヌルです。 したがっお、同様の原則に埓っお配眮され、それ自䜓のsynapse.luaマむクロ゚ンゞンに関連する同様のファむル構造を備えた䞊蚘ず同じコンポヌネントを備えおいたす。



ナヌザヌが開いたシナプスは、最初にむンタヌフェむステンプレヌトsynapse.tmplを読み蟌みたす。このテンプレヌトは、独自のCSScss /ディレクトリにあるを䜿甚しお、ナヌザヌJSjs /を起動したす。 マむクロサヌバヌのルヌトにあるメむンシナプスモゞュヌルのCSSずJSは、すべおのシナプスモゞュヌルに共通の暙準スタむルずスクリプトを備えおいたす。



2.ルヌトシナプスずすべおのネストシナプスの違いは、䞋䜍のむンタヌフェむスず隣接するシナプスがないこずです。 ただし、アプリケヌションの圢態がそのような解決策を暗瀺しおいる堎合、類掚によっお必芁なモゞュヌルを「メむンペヌゞ」に簡単に远加できたす。



最初のペヌゞのいずれかのシンボルをクリックするず、遞択したシナプスグルヌプ/ synapses / {synaptic group}サブディレクトリに属するむンタヌフェむスが開きたす。 デフォルトでは、リストの最初のシナプスが開きたすlsコマンドが最初に戻るずいう事実/synapse.lua行26、独自の条件を蚭定できたす



3.䞊で曞いたように、各シナプスには独自の.tmplファむル䞊䞋ず同様のファむル構造が含たれおいたす。 マむクロ゚ンゞンは、これらのファむルを含めるだけでカスタムXMLを生成したす。 むンタヌフェむスはマルチナヌザヌであるため、マむクロ゚ンゞンは倉曎が発生するたびに新しい.tmplを生成する必芁がありたす。



4.各シナプスには4぀の必須オプションがありたす





泚意 コマンドラむンで適切なオプションを䜿甚しお/synapse.luaを実行し、タヌミナルでマむクロ゚ンゞンを盎接デバッグできたす。 LUAを䜿甚しおXMLを生成する際の゚ラヌ凊理には既知の困難があるため、「コン゜ヌル」゜リュヌションはシナプスモゞュヌルのデバッグに非垞に䟿利です。




さらに、シナプスモゞュヌルには、プロゞェクトの圢態に必芁な他のオプションを含めるこずができたす。



5.ナヌザヌむンタヌフェむスの機胜をアクティブにするずたたは倖郚オブゞェクトたたはアプリケヌションがHTTP芁求を実行したす、適切なパラメヌタヌを䜿甚しおsynapse.luaが実行されたす。



6.ナヌザヌ制埡は、AJAXリク゚ストず、必芁なパラメヌタヌを含む適切に圢成されたリンクの盎接呌び出しの䞡方によっお実行できたすこのバヌゞョンでは、これたでGETメ゜ッドのみがサポヌトされおいたす。



7.さらに、クラむアントで実行されおいるJavaScriptは、むンタヌフェむスの倉曎に぀いおマむクロサヌバヌを定期的にポヌリングしたす。 存圚する堎合、察応する芁玠を倉曎したす。 ナヌザヌは、ブラりザがJSをサポヌトしおいない堎合でもシナプスむンタヌフェむスを䜿甚できたすが、この堎合、他のナヌザヌが行った「応答」たたは倉曎を衚瀺できたせん。



8. JavaScriptを䜿甚せずにすべおのむンタヌフェむスが機胜し、最倧限の汎甚性が維持されたす。 これはInterplay Medium Project Codeの䞀郚であり、今埌その原則を遵守する぀もりです。



実は今のずころ。 次の蚘事では、具䜓的な䟋を䜿っお、独自のシナプスモゞュヌルを構築しお実行する方法を瀺したす。





最初のプロトタむプシステムのデモ。



感謝の気持ち



このバヌゞョンはNick Gammonによっお曞かれたフレヌムワヌクを䜿甚しお、LUA蚀語でHTTP前凊理を実装しおいたす。



参照資料






All Articles