進化するサービスのためのプラットフォーム
cgiosは、アプリケーションの仕様変更耐性という点に特化して設計された、世界初のオペレーティングシステムです。

「ネジの大きさ」「コンセントの電圧」「通信手順」などは、一旦決まるとほとんど変化しません。
これは「機械が自ら工夫する」ということがないためです。
このような「機械の都合」の世界では、標準化と再利用が非常に有効でした。
従来のソフトウェア工学のフォーカス


一方で、「人の生活パターン」「商慣習」などは日々変化しています。人はそもそも工夫を好む存在だからです。
「人の都合」の世界では、「機械の都合」の世界におけるソフトウェア設計の勝ちパターン「標準化と再利用」は、もはや役に立ちません。
cgiosのフォーカス

■ 従来のオペレーティングシステム
左側の「機械の都合」に主眼が置かれており、業務アプリケーション設計者はそのOS上で無理矢理「人の都合」を実現していました。「仕様変更」が忌み嫌われてきたのはこのためです。
■ cgios
cgiosは、「標準化と再利用を是、仕様変更を悪」とする従来の慣行を打破し、移ろい易い「人の都合」をあるがままに受け止めるために新しく設計された、業務アプリケーション開発・実行環境です。
「機械の都合」を抽出することで、「仕様変更」に柔軟に対応
■ 従来のシステム開発
従来のシステム開発環境には「人の都合」と「機械の都合」が混在していたため、システムの自由度が少なく、一旦作ったシステムは設計時の仕様に縛られてしまうという制約を抱えていました。
そのため、ビジネススキームの変化に対応するために稼動中のシステムに手を加えることは非常にリスクが高く、結果として多くの場合そのまま「だましだまし」使うという運用が行われていました。
■ cgiosによるシステム開発
cgiosは「機械の都合」と「人の都合」の混合状態を分離し、「機械の都合」部分のみを純粋に抽出した技術セットです。
cgiosは「いかなる場合でも仕様変更は起こり得る」という前提で設計されているため、開発中、運用中でも「変化」に対して非常に強い耐性を持っています。
これにより、移ろい易い「人の都合」に由来する仕様変更への柔軟な対応が可能となりました。

cgios カーネル技術
Consistent Context アーキテクチャ※
■ 従来のウェブアプリケーション
従来のウェブアプリケーションでは、クライアントが各URLに常にアクセスできるため、「二重登録」など設計者の意図しない処理フローの可能性が常に懸念されていました。この問題はアプリケーションレベルでしか防ぐことができず、開発者にとって大きな負担となっていました。

■ cgios
cgiosでは、この問題に対してフレームワークレベルでの対処を可能としています。これは、cgiosカーネルがOSとなり、プログラム(ストリーム)の実行コンテクストをサーバ側で管理することにより、処理に矛盾を引き起こすようなクライアント側の遷移をブロックし、設計者の意図する遷移のみを許すというものです。

Form Ledger アーキテクチャ※
■ 従来のウェブアプリケーション
従来技術では、画面出力プログラム(ビュー)とPOSTデータを受け取るプログラム(コントローラ)は相互間にやりとりがなく、悪意のあるデータのチェックなどはアプリケーションレベルで気を使わなくてはならず、やはり開発者にとって大きな負担となっていました。
■ cgios
cgiosでは、ビューがクライアントにフォーム画面を送付する際に、「どんなフォームを発行したか」という情報を「フォーム台帳」に記録しておき、コントローラがPOSTデータを受け取る際にフォーム台帳と突き合わせることで、不正に捏造されたデータを自動的に弾くことができる他、チェックボックスにおけるチェック取消の明示的な取得や入力を集約するカスタムタグ、フォーム発行元オブジェクトへのデータの自動格納などを実現することが可能となっています。

※日本国特許 第4146434号 / U.S. Patent No.7472165
運用を支える技術
■ LiveLogging®
従来のウェブアプリケーションにおける利用ログは文字ベースのものが一般的で、ユーザの挙動を読み取るのは困難でした。cgiosでは「記録できるものは記録する」というポリシーに基づき、ユーザの挙動を画面ベース(操作ベース)で全て記録します。これはサービスの仕様変更を検討する際に非常に有効な資料となります。
■ Organic Cluster
万能細胞を模したアーキテクチャによる、非常に高い可用性を持つクラスタ運用機能を標準で備えています。これにより、24時間×7日といういわゆるノンストップサービスを低コストで実現可能です。