Magic eDeveloper V10 の新機能概要
効率よく使いやすいタスクエディタMagic eDeveloper V10では、タスクエディタのデザインが改良され、タスク全体の見通したよくなり、式入力が簡単化されました。その他細かなところに至るまで、開発効率の向上に十分考慮を払った設計になっています。 理解を容易にする改良されたナビゲーションMagic eDeveloper V10のタスク構成にはデータビュー定義、ロジック定義、そしてインタフェースデザインという三つの主要な柱がありますが、これらは互いに明確に分かれて定義されるようになりました。データビューエディタ データビューは、タスクで扱うデータの定義を行います。ここには、次のような定義があります。
ロジックエディタは、このタスクにおけるデータ操作のロジックが定義されます。これには、タスクレベル、レコードレベル、グループレベル、項目レベルでの前・後処理、イベントハンドラなどがあります。 フォーム エディタ フォーム エディタは、データの表示、配置に関する定義を行うものです。これは V9Plus でのフォームテーブルとほぼ同じですが、V10では、各コントロールに定義されたロジックを参照できるだけでなく、そのロジックに直接アクセスしたり新しいハンドラを自動的に作成したりできるようになっていて、開発効率の向上に寄与しています。 見通しのよさ全ロジックユニットが表示されるV9Plusでは、ロジックユニット (ハンドラレベル)ごとに実行フローが表示されるようになっていましたが、V10ではすべてのロジックユニットが、ロジックビューで一度に表示されるようになっています。また、それぞれのロジックユニットの定義順序は実行の動作に影響を与えませんので、開発者が見やすく理解しやすい順序で定義していくことができます。さらに、V9Plusでは、式やパラメータなどが設定されていない項目でも、「0」が表示されていましたが、V10では、未設定項目は表示されないようになりました。 このため、タスクのロジックの全体像が把握しやすくなり、すっきりした画面で見落としや間違いなどのミスを減らすことができるようになっています。 ロジックユニットごとの展開・縮小 ロジックビューでは、ロジックユニットごとに表示を展開 (処理フローを表示する)、あるいは縮小(処理フローは表示せず、ハンドラのレベルのみを表示する) させることができます。 下図は、ロジックビューの内容をすべて縮小させたものです。 展開・縮小を活用すれば、処理フローの長いロジックユニットが多数あるタスクであっても、全体を見失うことがありません。 操作の煩雑さ、見つけにくさを減らす特性シートの活用 (ズーム回数の減少)Magic eDeveloper V10では、各タスク要素のすべての特性を特性シートから参照、修正することができますので、パラメータ設定を行うためにズームする回数が少なくなりました。 これにより、開発時に開発効率が向上するほか、保守時にも、奥深いダイアログで設定されているものを見落とす可能性が軽減されます。 タスク制御とタスク特性と統合 V9Plusでの タスク制御 ダイアログと、タスク特性 ダイアログが統合され、タスク全体にわたるパラメータの設定は、タスク特性ダイアログで、タブで切り替えて表示されるようになりました。 式定義の簡単化Magic のプログラム作成時には、式を定義することが頻繁にありますので、式定義が簡単に行えることが開発効率向上のために重要となります。Magic eDeveloper V10では、簡単に式を定義するための機能が充実しました。 クイック式入力 V9Plus では、式を新規に定義する場合には、式番号を入力するカラムから、F5 でズームして式テーブルを開き、F4 で新規行を作成し、式を定義する、という手順を踏む必要がありました。 V10 では、クイック式入力 機能があり、この一連の処理すばやく行うことができるようになりました。クイック式入力で式を入力するには イコール文字 ( = )をタイプして、クイック入力ウィンドウを開き、式を書きます。これだけの操作で、式テーブルに式が追加され、式番号が欄に設定されます。 単純な式の場合、どの場所からでも直接その値を入力できるため、そのつど式テーブルを開いて編集する時間を省くことができるようになりました。 自動コンプリート 関数の自動コンプリート機能は、式エディタで関数名を入力しているときに、Ctrl+スペース キーを押すと、その時点までで入力された文字列から始まる関数名を一覧で表示する機能です。 コンテキストヘルプ V10 の式エディタでは、関数のコンテキスト依存ヘルプの機能があります。これは、式エディタ上で、関数名の上にカーソルがある状態で F1 キーを押すと、その関数に関するリファレンスページを表示するものです。 改行、インデント、色分け表示 見やすくするために式は自動的に色づけされて表示されます。また、定数の中をのぞく式中の任意の箇所での改行、インデントが可能になっています。これにより長い式であっても内容が見やすくなりました。 下図では、IF の条件、THEN部、ELSE部を改行、インデントしています。また、定数は赤色、関数は青色、その他は黒色で表示されていています。 その他のプログラム生産性向上機能その他にも、Magic eDeveloper V10では、よりわかりやすく、より少ないプログラミングで開発できるように、多くの機能追加が行われています。ユーザ定義関数 開発者はオリジナルな関数を定義し、単純なものからコンポーネントを含むような複雑なものまで組込むことができます。このユーザ定義関数は、プロジェクト全体でMagicの内部関数と同じように扱うことができます。 項目変更ロジックユニット タスク内で項目変更があった場合、値の検証や他のデータへの波及などをロジックとして組み込んでおきたい場合があります。 V10では、このような場合のために、項目変更というロジックユニットを定義できるようになりました。 このロジックユニットにはMagicエンジンからパラメータが与えられ、その値により、その内容変更がユーザの入力によるものか、Magicエンジンでの項目更新コマンド式再計算によるものかを判断することができます。 サブフォーム Magic では、親子タスクでヘッダレコードと明細レコードを表示させる画面設計が良く使われます。このような場合、従来は ファントムタスク としてプログラムを作りましたが、これには独特のプログラミング技法と、微妙な画面設計が必要でした。 サブフォーム は、ファントムタスクを、より簡単に作りやすくする、V10 の新機能です。親タスクのフォーム上にサブフォームコントロールを配置し、子タスクとの関連づけを定義するだけでOKです。ファントムタスクで必要とされた細工は必要ありません。サブフォームを使えば、親子タスクの設計がすばやく簡単にかつ直感的に行うことができるようになります。 下図は、親タスクのフォームエディタ上でサブフォームコントロールを配置し、子タスクと連結を定義したところです。 実行時には、サブフォームコントロールの領域に、連結された子タスクの画面が表示されます。 DATETIME型サポート最近のリレーショナル型 DBMS では、Datetime 型というデータ型がサポートされています。Datetime 型は、ひとつのカラムに日付と時刻の両方のデータが格納されています。 Magic では、日付型と時刻型とは用意されていますが、Datetime 型はサポートされていませんので、DBMS のDatetime 型データを利用するのが不便でした。 V10 では、DBMS の Datetime 型カラムを利用するのに便利な機能が追加されています。Magicのルールエンジンは、データベースからデータを読み込むときに自動的にDateTime型のデータをDate型とTime型のデータに分離し、データベースにデータを書き込むときに、Date型とTime型のデータを自動的にマージして格納します。 色・フォント・キーボード定義ファイルの分離V9Plusまでは、色定義ファイルとフォント定義ファイルで定義された色とフォントは、開発画面、実行画面ともに共通のものでした。このため、アプリケーション実行時のために色やフォントの定義を変更すると開発画面での色やフォントも変わってしまう問題がありました。 V10では色定義ファイルとフォント定義ファイルを目的によって次の3つに分けています。
このように色定義ファイルとフォント定義ファイルを用途によって分けることにより、色やフォントのカスタマイズの自由度が上がりました。 なお、V10での色定義ファイルとフォント定義ファイルは、V9Plusのものと形式が同じなので、そのまま利用することができます。 効率の良いデバッグ機能Magic eDeveloper V10ではデバッガが大幅に機能拡張され、多くの便利なツールが含まれている本格的なものとなっており、高速で正確なデバッグ作業を実現することで、開発時間の短縮だけでなく、エンドユーザにも高品質のアプリケーションを提供できるという結果をもたらします。 Magic eDeveloper V10のデバッグツールによって、条件つきブレークポイントやウォッチ項目を設定でき、あるいは変数項目の内容を参照および修正したり、コールスタックの状態やモニター出力を参照することにより、すべてのプロジェクト状態を管理することができます。 Magic eDeveloper V10では開発者はそれぞれ個別に制御できるデバッグセッションを起動することができます。ある人があるプロジェクトをデバッグのために実行させているとき、別のMagicルールエンジンはMagicスタジオの管理下でその同じプロジェクトを通常実行させることができます。Magic eDeveloper V10ではプロジェクトの実行中であってもプロジェクトソース全体を参照することができ、ロジックの詳細を確認することができます。 実行のコントロールブレイクポイントブレイクポイントは、プログラム中に開発者が設定するもので、プログラムが実行時にその位置に到達したら、エンジンはプログラムの実行を一時的に中断(ブレイク)し、開発者がそのときのプログラムの状態を調査することができるようになります。 Magic V10でのブレイクポイントは、プログラムリポジトリ中の任意のタスクのデータビューエディタ、あるいはロジックエディタ上の行に設定することができます。 データビュー上では、データ項目の定義上にブレイクポイントを設定できます。このときには、ブレイクポイントの設定された項目の値に変更があった場合に、ブレイクが起こります。 ブレイクポイントは、ロジックエディタのコマンドにも設定することができます。この場合には、ブレイクポイントの設定されている行まで実行が進んだときにブレイクが起こります。 ロジックエディタ上に設定されたブレイクポイントには、条件を設定することができ、実行時に、この行まで実行が進み、かつ、条件が真となった場合にだけブレイクをかけることもできます。 この他に、特にブレイクポイントが設定されていなくとも、プログラムの実行中の任意の時点で、強制的にブレイクをかけることもできます。 ステップ実行 ブレイクがかかって実行が一時中断した場合、実行を続ける方法として、次のようなオプションがあります。
リポジトリを開くMagic eDeveloper V10 のデバッグ環境では、プログラムを実行中でも、読込専用で各種リポジトリを開くことができます。実行中のプログラムの中身を見るほかに、実行していないタスクやデータソースリポジトリ、モデルリポジトリの定義の確認、コンポーネントの確認などが自由に行えます。内部状態の把握と手動変更ブレイクがかかり実行が一時停止している状態では、その時点でのエンジンの状態をさまざまな角度から調べることができます。コールスタック コールスタックは、メインプログラムから現在実行中のプログラムまでの、呼び出しの経路を表示します。 項目一覧 項目一覧では、現在実行中のコンテキスト中のデータ項目の値を調べることができます。さらに、テストのために値を強制的に変更することもできます。 ウォッチリスト ウォッチリストは、項目一覧と同様、項目の現在の値を調査したり設定したりするものですが、項目一覧の場合、現在有効な項目がすべて表示されるのに対し、ウォッチリストは、開発者が指定した項目だけを表示するところが異なります。タスクに多くの項目が定義されている場合でも、チェックしたい項目だけに注目することができます。 コンテキスト一覧 V10の実行エンジンはマルチスレッドで並行実行をサポートしていますが、コールスタック、項目一覧などは、各コンテキスト毎に独立して存在するものなので、適切なコンテキストを選択するために、コンテキスト一覧を使います。 アクティビティモニタ (フローモニタ) アクティビティモニタは、V9Plus で フローモニタ と呼んでいたものと同じもので、Magicプログラムの実行フローのトレースをとります。スタジオの画面上に表示することもできますし、ファイルに記録するように設定することもできます。 ログ出力ロギングフィルタロギング フィルタは、フローモニタに表示させる内容を制限するもので、ロギング ダイアログで設定します。 設定内容は、アクティビティモニタへの出力の内容の制限(V9Plusと同様)のほかに、データベースゲートウェイのログ出力に関する設定を、ここに一箇所にまとめましたので、設定が簡単になりました。 また、設定変更をした場合、V9PlusではMagicを再起動する必要がありましたが、V10ではすぐに反映されるので、実行の途中から詳細ログをとるとか、ログ出力をやめるなどができるようになります。 ロギング関数 ログ出力の内容を設定できる組み込み関数が用意されましたので、プログラムからダイナミックに設定変更することが可能になりました。 プロジェクトベースの開発XMLによるリポジトリ定義Magic V9Plusまでは、プロジェクト(アプリケーション)を CTLファイル(MCFファイル)というバイナリのPervasiveファイルとして格納していましたが、Magic スタジオ V10は、プロジェクトの定義をソースファイルの形式で、リポジトリごと、プログラムごとに分けて管理します。これにより、次のような利点が得られます。
プロジェクトのバージョン管理Magic eDeveloper V10にはより厳密なソースデータ管理機能が組み込まれており、オフラインでの修正内容を追跡することも可能になっているため、開発者が今までにない開発スタイルで作業を進めることを可能にしています。また、改良された変更内容管理機能を利用することにより、アプリケーションの品質を高めるとともに、システムのリソース管理を効率よく行うことができます。 Magic eDeveloper V10では、プロジェクト管理のためにデータベースを利用するといった手間を省き、各プロジェクトソースは既定のXMLスキーマによってXMLドキュメントとして記述し保存されるようにしています。Magic eDeveloper V10の標準的なバージョン管理機能として、オブジェクトへのチェックイン/チェックアウト、前バージョンへの復帰、最新バージョンの作成、各バージョンへの名前付け、バージョン間の内容差異を確認することなどが利用できます。
V10バージョン管理の概念V9Plusまでのチーム開発では、MCFファイルを多くの開発者が同時に共用し、アクセスしながらチェックアウト、チェックインして開発していました。
ヒストリ管理ファイルの修正履歴はデータベース化されているので、修正履歴を参照したり、変更箇所を比較をしたり、あるいは過去の任意の時点のバージョンに戻る(ロールバックする)ことも可能です。マーク、ブランチ、マージバージョン管理ソフトウェアの機能を使って、個々のファイルやプロジェクトファイル全体に対してマークを付けたり、バージョンのブランチ、マージなども行うことが可能です。オフライン開発遠隔地での作業では、マスターとは切り離された環境で開発(オフライン開発)することも可能です。その後、再度ネットワークなどで接続されたら、オフライン中に行った作業をマスターに一度に反映できます。スタジオとランタイムの分離Magic eDeveloper V10では、スタジオはランタイムによるプロジェクト実行とは完全に分離されています。ランタイムで動作させたときの例外処理やデッドロック発生にまったく影響されないため、開発はランタイムによる実行の影響を受けずに、安全に進めることができます。 Magic eDeveloper V10スタジオはランタイムセッションを完全に制御しているため、コントロールされたテスト環境で開発を進める一方、バックグランドでサーバエンジンを実行させたり操作を加えたりしてデバッグをすることができます。 また、V9Plusまでは、開発版と実行版の動作に微妙な違いがあることがありましたが、V10では実行は常に実行版で行われるため、開発時と実行時の違いが出ることがありません。 |
|||||||||||||||||||||||||||||||||||||
| 企業情報 | プレスリリース | 製品情報 | サービス | 教育 | ユーザ事例 | パートナー | ユーザ登録 | |||||||||||||||||||||||||||||||||||||
|
Copyright (C) Magic Software Japan K.K. All Rights Reserved. |
|||||||||||||||||||||||||||||||||||||