Open棟梁Project - マイクロソフト系技術情報 Wiki

目次

概要

Dynamics AX開発がどんな感じか見てみました。

要約

AXはリッチクライアントで 他システム開発に使用することもできるが、 基本はAXカスタマイズの範囲で使用する。

AOT開発環境

X++

C++/CLIのUOC可能な範囲を絞ったサブセットのようなもの。

その範囲で、殆どのことは出来る模様。

相互運用(他言語の呼出し)

従って、X++からの.NETやCOM、DLLのライブラリの呼出は可能。

COM、DLL

.NET

相互運用(他言語からの呼出)

.NET言語から呼び出しのみ可能。

X++のライブラリが出来るということはないので .NETのProjectをAOTに追加し、AOTのオブジェクトを.NETのProjectにD&D。 すると、WebServicesReference?的なクラスライブラリが自動生成される。 このライブラリを経由してAXのClass・Tableにアクセスする仕様。

バージョン管理ツール

VCS、TFS、VSSなどを選択できるが、大規模開発向けではなさそう。

情報量

カスタマイズ

カスタマイズが案外面倒である。

下位レイヤのコードの動きを理解する必要があるため。  (詳しくは下記のレイヤーを参照)

詳細

以下、その他の詳細情報

AXはリッチクライアントで動作する。

 クライアントはADに属す必要がある。  AXのインストーラのインストールオプションでクライアントだけ選択する。

 クライアントの機能は以下。   ・Webサービスに接続(VS、Office)  ・VS連携は、VSTool(クライアント側と連携)   ・SSRSからAXのデータソースに繋げる。

・レイヤー  オブジェクトを管理している。  ・青(EndUser?)  ・緑(Partner)  ・ピンク(MS)  オブジェクト指向の継承ではない。  ソースコードがコピーされる。  従って下位レイヤのコードの変更はマージが必要。

・AOT

 ・データディクショナリ   以下を定義する。   ・テーブル、ヴュー    ・必須入力→必須入力チェックとなるもよう。    ・チェック処理もテーブルのメソッドに実装する。     この場合、既定のメソッドをオーバーライドする。     ・データ型   ・プリミティブ型   ・BaseEnums?(基本列挙方)   ・拡張データ型(ドメイン的な)

 ・マップ   売り買い:数量?単価=金額   一つ実装すれば、色々な所で使える。

 ・Class <-- Form <-- MenuItem?

  ・Class    X++のビジネスロジック

 ・Form   画面(datasource、method、designを定義)   ・画面とデータを紐付けるだけ(項目移送は書かない)。

  ・画面の項目はデザイナでコントロールに下に    フィールドを置くとその様に画面に出る。      ・コントロールのイベントは    メソッドのオーバーライドで実装する。

 ・MenuItem?   画面を起動するリンクのようなもの。

 ・LabelFiles?   国際化対応の   リソースファイル(.NETとほぼ同じ仕様)

 ・Job   X++の動作確認に利用できる。

 ・Project(インポート・エクスポートが可能)   ・モジュールを束ねて、インポート・エクスポート。   ・e.g.:    ・共通 → partnerレイヤに。    ・国毎 → enduserレイヤに。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS