Japanese | English
 

Nextra Logo

   
  皇位継承としての証の「三種の神器」、キリスト教の根本教義の一つである「三位一体」。

共通する考えは、3つが重なり合いその構造をサポートする。

この思想は、Nextra の 3層分散アーキテクチャに引き継がれ、お客様のアプリケーションをしっかりと支えるインフラとして、世界中のミッションクリティカルシステムを10年に渡り支え続けてまいりました。

真摯に原点に返り、お客様が求められていることを挙げてみると...


1. 高開発生産性・柔軟性を確保

2. マルチ言語・DB・OSをサポートし、めまぐるしい変化への対応を可能にするアーキテクチャーの確保

3. 運用コスト、リスクの低減


これらを実現するのが、3層分散アーキテクチャーのコンセプトをベースに、分散アプリケーション・サーバとして確実に実績をあげてきた Nextra ではないでしょうか?

ダーウィン曰く
「変化に対応するものだけが生き残る」

企業の生命線を握る基幹システムにおいても、変化に対応できるアーキテクチャーを手にした企業だけが生き残れる時代ではないでしょうか?
   
   
  ベンチマーク 資料

東証のシステムは、張子の虎か?トランザクションパフォーマンスvol1(PDF File/size: 337kb)
   
   
 

Nextraのテクノロジー

1. アプリケーション・クラスタリング

Nextra が提供するRPC ランタイムライブラリの優れたL7(レイヤー7)リアルタイム・ルーティング機能により、システム全体のゼロ・ダウンタイムを実現します。
複数セットのアプリケーションを起動しておくことにより、アプリケーション・ダウンやサーバマシン・ダウンに1秒以内に対応することができます。
これにより、24 時間365 日、いつアプリケーションが落ちてもシステム全体のダウンを防ぐ、安心な仕組みを実現できます。プログラマーは、アプリケーション・クラスタリング実現に関して、コーディングの必要はありません。

2. ロードバランシング
効率的でシームレスなロードバランシング機能により、安定したサービス提供が可能です。複数セットのサーバプロセスを起動しておくことにより、サーバプロセスの利用効率を最適化できます。
Nextra / RPC ランタイムライブラリのラウンドロビン機能により、それぞれのサーバプロセスには均一な負荷がかかることになります。また、並列サーバプロセスとブローカによるノード分けにより仮想空間を複数セット実現することで、さらに負荷分散率を上げることも可能です。
プログラマーは、ロードバランシング実現に関してもコーディングの必要はありません。

3. ネーミング・サーバ
サーバプロセスの位置情報を把握します。
クライアントはネットワーク上に分散されたサービスの物理的な位置情報をBroker(ブローカ)より取得します。
並列、階層化も可能です。

4. アプリケーション監視
運用フェーズに入ったアプリケーションの自動監視を行います。
ソケットレベルでの確認を行い、プロセス無応答・ダウン時には再起動を行います。

5. 通信インターフェース自動生成
3層分散アーキテクチャーに沿った開発を支援するNextra では、通信・OS レベルのAPI プログラミングは必要ありません。各プログラム言語用の通信インターフェースをNextra 開発ツールにより自動生成し、異なるプログラム言語間の容易なモジュール連携を実現します。
開発は各層(プレゼンテーション層、アプリケーション層、データ層)同時に並行して進めることができ、開発者はビジネス・ロジックだけに注力することができます。
さらに、Nextra が提供するテストツールを使用すると、クライアントプログラムの作成を待たずに、サーバプログラムのテストを行うことができます。

6. 高速RPC通信
ミッションクリティカルシステムで求められる、安定したアプリケーション稼動を実現するNextra は、高速RPC 通信とロードバランシング機能による安定したサービス応答時間の確保、アプリケーション・クラスタリング機能によるシステム全体のゼロ・ダウンタイムを実現します。

7. 非同期(Asynchronous)メッセージング
複数のサービスを同時に呼び出し、リモートサービスからの応答があったものから順次処理できるようになりました。 非同期メッセージングによるアプリケーションの疎結合化は、 ユーザーへのレスポンス時間の短縮やシステム拡張を容易にします。 サポート言語:C、C#.NET、VB.NET、Java。

 


非同期(Asynchronous)メッセージングのイメージ

* CallBack address reference for C language

   
   
  Nextraの3層

1:プレゼンテーション層
Webブラウザ、アプリケーションGUI などのPCユーザ用インターフェース

2:アプリケーション層
RDBMSからのデータ抽出、四則演算などのビジネスロジックをつかさどる


3:データ層
RDBMS、ERP、レガシーシステム
   
   
 
図1.Nextraの論理3層モデル

図1.Nextraの論理3層モデル
   
   
  システム開発・運用について

開発

「Nextra」では、通信・OSレベルのAPIプログラミングは必要ありません。
開発者が最小限の情報を記述するだけで「Nextra」が各層(プレゼンテーション層、アプリケーション層、データ層)間のコミュニケーションプログラムを自動生成 します。
開発は各層を同時並行で進めることができます。開発者はビジネス・ロジックだけに注力することができ、開発コスト、開発期間の大幅削減により、生産性を飛躍的に高めることができます。
同時に将来のあらゆるアプリケーションニーズに対して柔軟性を確保します。

運用
運用フェーズに入ったアプリケーションの自動監視を、運用管理ツールである「AppMinder」により行うことが出来ます。これにより、アプリケーションダウンによる機会損失の回避、運用要員のコスト削減を実現できます。
   
   
  Nextraのコンポーネント

「Nextra」は、システムの構築・テストを支援する開発ツールと、本番稼動時のサービスを提供する運用ツールから構成されます。




開発ツール

RPCMake

分散された各層( プレゼンテーション層、アプリケーション層、データ層)プロセス間の通信インフラ(スタブ)を自動生成します。
開発者は、通信部分に関わる作業から解放されます。IDL(Interface Definition Language)ファイルをインプットとし、クライアントプログラム、サーバプログラム用のスタブを自動生成します。
   
  SQLMake
  Nextraが提供する、DBアクセス・サーバ(DB_start)を呼び出す、クライアントプログラム用スタブの自動生成を行います。DBアクセス・サーバ(DB_start)は、SQLMakeで使用されたSQLファイルをインプットとし、SQLMakeで生成されたクライアント・スタブを持つクライアントプログラムと通信を行うことができます。
 
  TPMake
  トランザクションの整合性を侵すことなく、様々なRDBMSの下で実行される複数のDBにアクセスできるトランザクション・サーバプログラムの開発をサポートします。
開発者は、TPMakeで自動生成されたコードを使用してトランザクション制御のロジックを記述します。
TPMakeに関しては、SQLファイルだけでなく、リソースファイルも作成しなければいけません。
リソースファイルは、各SQLファイルを適切なDBにマップするテキストファイルです。
   
  RPCDebug
  サーバプログラム単体テストツールです。
RPCDebugを使用すると、特定サーバの全てのRPCをテストすることができます。
よって、クライアントプログラムの作成を待たずに、サーバプログラム内のRPC関数のテストを行えます。
   
  defGen (Beta)
  COBOLコピー句より、インターフェースの自動生成を行います。
defGenツールの自動生成機能を利用することにより、オープンシステムへの移植、Javaや.NETからの既存ロジックの利用が可能となります。
   
 
図2.Nextraの開発ソフトウェア構成


図2.Nextraの開発ソフトウェア構成

 

 

  運用ツール
   
  Broker
  Nextraネーミングサーバ。サーバプロセスの位置情報を把握します。
クライアントは、ネットワーク上に分散されたサーバの物理的な位置情報を、Broker(ブローカ)より取得します。
マスタブローカ、サブブローカというようにブローカの階層を形成することも可能です。
   
 
図3.Nextraの運用管理ソフトウェア構成


図3.Nextraの運用管理ソフトウェア構成
   
   
  AppMinder
  ネットワーク上に分散されたサーバプロセスを定期的に応答管理し、稼動状況を監視します。
同時に、自動立ち上げや、サーバプロセスダウン時には、自動再起動を行います。
   
 
図4.AppMinder


図4.AppMinder

 

 

 
  DBアクセス・モジュール
 
  DBアクセス・サーバ (DB_start)
  DB_startは、バイナリ実行モジュールとして提供されます。
これにより、開発者はわずらわしいDB操作言語を記述せず、SQLステートメントを記述するだけでクライアントからDBの操作が可能になります。
 
  トランザクション・サーバ
  TPMakeで自動生成されたコード内に定義されたSQL関数を使用して、トランザクション制御のロジックを開発者がコーディングします。
コンパイルをすることで、実行可能なトランザクション・サーバの出来上がりです。
   
  xa サーバ
  Nextra/Javaアプリケーション・サーバから、xaインターフェースを利用して、2PC(2フェーズ・コミット)を実現できます。
   

 

 
  稼動環境
   
  OS :
  AIX、HP-UX/Itanium2、Redhat、Solaris、Windows2003/2008
   
  プログラミング言語 :
  C、C#.NET、COBOL、Delphi、Java、Power Builder、VB.NET、Visual Basic
   
  DB
  DB2、HiRDB、Oracle、SQL Server