Btrieve Classes for .NET(日本語版) について

Btrieve エキスパートのための .NET 開発ツール。

Btireve Classes for .NETは、C++アンマネージド・コードから直接Btrieve APIを呼び出す形式でソフトウェアレイヤーを薄くすることで驚異的なパフォーマンスを確保しています。また、ADO.NETやOLE DB providerは複数種類のデータベースに対応するために多くの機能や仕様が追加されているのに比べ、Pervasive/Btrieveに特化しているためそのような一般化のためのコードが無いことがこのパフォーマンスを生み出しています。

ADO.NET + OLE DB provider の場合ソフトウェア層が厚い事がパフォーマンス的に不利な状況の原因と思われます。 COM を使ったモジュールがソフトウェア層に入る場合 RPC ベースのマーシャリングのオーバーヘッドは大きいと推測します。
当製品のライブラリは C++ アンマネージド・コードから直接 Btrieve API を呼び出す形式でソフトウェア レイヤーは非常に薄い構成です。マネージド・データへの変換はデータ転送量が少なくなるように最適化されたコードを採用しています。 C++ で記述しているのは C# 等のジェネリックなマーシャリングよりも細かくマーシャリングを制御してパフォーマンスを確保することが出来るからです。 また、ADO.NET や OLE DB provider は複数種類のデータベースに対応するために多くの機能や仕様が追加されているのですが弊社ライブラリは Pervasive/Btrieve に特化しているためそのような一般化のためのコードが無いことがこのパフ ォーマンスを生み出していると考えます。

ストラクチャービルダー

.NET 言語では VB6 では出来なかった構造体メンバーのアライメント設定が可能となりましたが、 その定義方法は多くの属性を定義しなければならないものです。最初に定義サンプルを見たときにはこれは何かの間違いではないかと思った程複雑なものです。 実際にこの構造体をコードして定義するのはカラム数、テーブル数が増加するほど非常にワークロードを必要とすることを実際にアプリケーションを作成してみて実感 しました。 特にヌルフラグ分の領域確保を間違えたバグを探すのにも時間がかかります。 このような状況を踏まえて今回のバージョン 1.10 ではストラクチャービルダーという Microsoft Visaual Studio.NET 用のアドインを添付いたしました。このツールにより、 指定した DDF/テーブルに関連する構造体を自動生成してソースコードに簡単 に挿入することが出来ます。構造体定義は言語により微妙にフォーマットが違っています。 今回のバージョンでは C# と VB.NET に対応しています。  

3系統のクラス

  • Compat Class
    株式会社テクナレッジ製品 VBMan ActiveX Controls for Btrieve のメソッドとコンパチブルなメソッドを提供するクラスです。 既存の VBMan アプリケーションを .NET 環境に少ないワークロードで移行する場合にご利用ください。 エラー・コード等も VBMan と互換性がございます。
  • DDF class
    .NET Framework の仕様に添って設計された新しいクラス群です。Record/Extended/Transaction/Exception 等のクラスで構成されます。カラム等へのアクセス、データ型の変換コードもスマートに記述することが出来ます。設計が新しい分、開発効率はこのクラスが優れています。
  • Native class
    当クラスでは Btrieve API 呼出しをマネージド・コードから可能としました。既存のアプリケーションに DDF が無い場合や、既存の Btrieve API で作成したコードを移行したい場合等にご利用ください。ご存知のように Btrieve API はパラメータの多く、レコードバッファからアプリケーション・データへの取出しや、格納するコードが必要になるため、アプリケーション・コードは煩雑になります。