データモデルを処理するORDAクラス
前回の ブログでは、ORDAデータモデルクラスの世界について紹介しました。さて、いよいよ手を動かして、もっと勉強しましょう
ORDAの構造(データストア、データクラス、エンティティ、エンティティ選択)がオブジェクトで構成されていることは既にご存知でしょう。しかし、それらは単なるオブジェクトではなく、特定のORDAクラスにリンクされた強型オブジェクトなのです。つまり、データの物理的な実装の複雑さを隠蔽するための関数を書くことができるのです。
ORDAクラスの世界へようこそ
ORDAは、4D v17で革命を起こしました。それは、全く新しい可能性の世界を開き、あなたを別のプログラミングの次元に導きました。オブジェクト指向のアプローチで簡単にアプリケーションを開発できる次元です。
私たちは、そこで終わりませんでした!私たちは、その後の機能リリースごとに、一連の機能を通じてORDAの機能強化を続けてきました。そして今、4D v18 R4では、さらに一歩進んだORDA データモデルクラスが利用可能になりました。あなたのデータモデルに特化したクラスです。
これは、あなたのコードを大きく向上させるでしょう。あなたのアプリケーションは、簡単にサービスを公開し、より管理しやすく、保守しやすくなり、他のアプリケーションとシームレスに統合できるようになります。
これもプロジェクトのおかげで実現した大きな機能です
ORDA:再起動せずに最新のデータストアを利用できる
4D v18 R3には、開発者のエクスペリエンスに大きな影響を与えるエンハンスメントが含まれています。多くの方から要望のあった機能を、4Dが実現しました!
開発段階(コードの記述とテスト)で4Dスタンドアローンモードで作業する場合、構造が更新されたときに最新のデータストア(ds)を更新するためにデータベースを再起動する必要はありません。
新しい属性や新しいテーブルが必要なとき、毎回データベースを再起動する必要はありません。全て自動です!
コマンドを呼び出すと、最新のデータストアを取得できます。 dsコマンドを呼び出すと、最新のデータストアオブジェクトを取得できます。つまり、このデータストアオブジェクトの複数のバージョンを、実行中のプロセスを停止させることなく、構造を更新したタイミングに応じて、同時に処理することができるのです。
クライアント/サーバーモードで作業している場合、4Dサーバー上で動作しているコードには問題なく機能します。
リモートクライアントでは、構造の更新が必要なクライアントを再起動するだけです。
データベーステストの改善
開発の品質を向上させるためには、ユニットテストが重要です。これらのテストのため、デベロッパーや QAチームは、様々なモード (シングルユーザー / クライアントサーバー) や異なる環境 (Macintosh / Windows) で 4Dデータベースを起動するためのツールを必要としています。
4D製品は、すでにコマンドラインパラメーターを使用して起動することができ、自動テストや運用が可能です。もし、独自のアップデートメカニズムを作成したい場合や、何百台もの 4D Server が稼働しているサーバーファームを扱う必要がある場合はどうでしょうか。たとえば、使用するデータベースファイルを指定したり、起動時にパラメーターを渡したりしたいかもしれません…
互換性の設定 – ネストされたトランザクション (その3)
互換性設定とパフォーマンス向上のための「隠し」機能についての継続的なシリーズを歓迎します。 最初の投稿では、QUERY BY FORMULA コマンドと、それがアプリケーションの動作に与える影響について見てきました。第2回目は「ピリオドとカンマをプレースホルダーとして使用する」という互換性オプションについて、「数字が>>>>>>>のように表示される」 問題を回避するために紹介しました。
3回目の今回は、「ネストされたトランザクション」について説明します。
トランザクションとは何ですか、またどのように使用するのですか?
200,000ユーロをある銀行口座から別の銀行口座に振り込むことを想像してください。送金元の口座からその金額を引き出し、送金先の口座に入金します。ここまではすべて正常で、完璧な世界ではこの操作は成功します。しかし、現実の世界では、残念ながらうまくいかないことがある。何かが起きて、お金が失われてしまうのです。それはとても残念なことです。
しかし、トランザクションは、お客様のアプリケーションでこのようなことが起こらないようにするために存在します。このブログでは、トランザクションの用途と重要性、そしてトランザクションがどのようにあなたのビジネスを救うかを示すいくつかのシナリオについて詳しく説明する。
ORDAでジェネリックコードを書く
ORDAは、4D Summit 2018の 大きな発表の一つで、4Dの新しい可能性を切り開くものでした。ORDAの詳細とそのメリットについては、こちらの記事をご覧いただき、ORDAがあなたの仕事のやり方をどのように変えるかをご確認ください。
モノの中の時代…(そして、どこまでも)
オブジェクトは、開発者の生活を楽にするために、その有用性を示し続けています。
オブジェクトの内部で時間(または継続時間)の値を使用することが、よりスムーズで直感的になりました。4D v17 からは、オブジェクトの中の時間は、ミリ秒ではなく、秒として設定されます!
ORDA: エンティティセレクションの統計計算
ORDAは、データセットを調査し、計算を実行する簡単に理解できる集約操作のセットを含むことによって、フィルタを通してデータを流し、集約された値を得るための素晴らしい機能を提供します。例えば sum, average, count, minおよび maxメソッドは、その名前が示すとおりの操作を実行するために使用されます!
エンティティセレクションと論理演算
ORDAシリーズが続きます!今回のブログでは、エンティティセレクションにおける論理演算子の使い方を紹介します。
これらの演算子は、従来の4Dセットと同様に、2つのエンティティセレクション間の交差、結合、差異を取得することができます。