前のモジュールでは、データベースの作成について見てきました。しかし、アプリケーションを完全に動作させるためには、データを保存するだけでは十分ではありません。データを何らかの方法で処理し、修正し、計算で使用し、転送する必要があります。ほとんどのアプリケーションの開発で最も重要な段階は、その作業のロジックを作成するプロセスです。

ビジネスプロセスエディタ

ビジネスプロセスの基本

AppMasterプラットフォームでは、ビジネス・プロセス・エディタが作業ロジックを構築するために設計されています。このモジュールは、それを知ることに特化しています。

各ビジネスプロセス(BP )は、アプリケーションロジックの独立した部分であり、ある特定の機能です。同時に、BPそのものはブロックとその間のリンクのセットで構成されています。

ブロックは通常、ある種の初歩的な動作である。例えば、2つの数値を掛け合わせる、データベースのテーブルに変数を書き込む、文字列を連結する、配列に要素を追加する、などである。しかし、より複雑な操作は、フィルタリングやソートを用いてデータベース内の要素を検索するなど、別のブロックで実行することができる。

さらに、作成されたビジネスプロセスは、別のビジネスプロセスの一部として、別のブロックとして表現することもできる。これは、BPの機能を他のビジネスプロセスで再利用する場合や、BPが大きくなりすぎて個々のパーツを独立したブロックとして表現できる場合などに利用するのが合理的である。

ブロックの間には通信線が引かれ、ブロックの順序、実行順序が決定される。多くの場合、これは通常の直線的な順序にはならない。ある状況下では、BPのある段階で得られたデータが、その後の行動の選択肢に影響を与えるような場合、分岐が発生することがある。また、サイクルで作業することも可能である。サイクルを終了するための条件が満たされるまで、一連のアクションが何度も実行されることになる。

同時に、どのようなビジネスプロセスにも必須の2つのブロックが存在する。BPの作業の開始(Start)と終了(End)のブロックである。これらのブロックは自動的に作成され、削除することはできない。それ自身は何の操作も行わないが、ビジネスプロセスの入口と出口となる。また、これらのブロックには、BPの入出力データである変数を設定することができる。

ビジネスプロセスの構築

いよいよテストに入ります。ビジネスプロセスを扱うセクションに進みましょう。最初のビジネスプロセスを作成し、その内部ロジックを設定しましょう。

ビジネスプロセスの作成」をクリックすると、新しいビジネスプロセスを作成するためのパラメータを含むモーダルウィンドウが表示されます。

  1. プロセス名。唯一の必須項目。
  2. フォルダ。ビジネスプロセスがたくさんある場合、それらをグループに分け、適切なフォルダに配置する方が便利です。
  3. 説明 1つの名前だけでは、BPの目的を十分に伝えられず、その仕事の詳細を明らかにできない場合がある。説明欄は、そのような情報のためにある。
  4. トランザクション・モード。このスイッチをオンにすると、BPは原子性のプロパティを取得する。これは、BPが完全に実行されるか、個々のブロックが何も実行されないかのどちらかであることを意味する。もし、いずれかのブロックでエラーが発生した場合、それ以前のブロックによる変更はすべてロールバックされる。

2つの数値の値を入力とするビジネスプロセスを作成しよう。これらの数値を使って、数学的な演算を行おう。の結果を計算してみよう。

  1. 合計
  2. 減算
  3. 乗算(Multiplication)
  4. 除算。

除算の結果......さらに小数点第1位まで切り上げます。
その結果、5つの数値が得られることになるので、これを組み合わせて配列にします。この配列が、ビジネスプロセスの結果となります。

すべては入力から始まる。数学的演算を行う数値を決定する必要がある。ここで重要なことは、私たちは数字そのものを尋ねているのではないということです。必要な値を取り込む変数を作るのである。これは、学校の方程式を解くのに似ています。X + Y = Z ですから、特定の2つの数値を設定するのではなく、抽象的なXとYを設定することになります。

入力値を設定するには、「スタート」ブロックを選択します。右ペインに変数を設定するセクションが表示されます。ここでは、変数名(XとYと決めています)と変数の種類を設定します。2番目のモジュールでは、数値を書き込むために2つのオプションがあることを説明しました。Integer(整数データ用)とFloat(浮動小数点数用)です。今回は、整数値に限定するわけではないので、Float型を選択するのが正解でしょう。

次のステップは、数学演算のブロックを追加することです。これらは左のパネルにあり、セクションに分けられています。必要なものを選択し、ワークスペースにドラッグするだけです。まず、数学的操作に興味があるので、それぞれSumSubtractMultiplyDivideのブロックが必要です。

各ブロックは、ビジネスプロセスのミニチュアであることを確認できます。それは必然的に始まり(In)と終わり(Out)、そして入力データと出力データ(ほとんどの場合、それらはありますが、これは必須ではありません、それらがないBPもあります)を持っています。

演算は順次行われる。それらの接続を確立し(実行順序を決定し)、必要な入力データを提出することが必要である)。

次に、除算結果の丸めです。Roundブロックを使い(切り上げ、切り下げのオプションが可能)、除算ブロックの結果を入力として送り、精度を設定します。私たちは小数点以下1桁に興味があるので、精度パラメータを1に設定します。

中間結果はこのようなものになるはずです。

注目すべきは、ブロックの配置そのものが自由であることだ。ブロックの配置自体は自由で、一列に並べることもできるし、あるブロックを別のブロックの下に置くこともできます。これは知覚の利便性にのみ影響し、ビジネスプロセスの結果には影響しない。重要なのは、通信線そのものが正しい順序で設定され、必要なデータがブロックの入力で受信されることである。

次に、受信したデータで配列を作成することです。そのためには、配列の追加ブロックが最適です。このブロックの役割は、まさに配列に新しい要素を追加することです。入力は配列と必要な要素、出力は配列にもう 1 つ要素を追加したものです。

データ型を手動で設定する必要がないことに注意しましょう。ブロックは、入力として受け取るデータに応じて、必要な型に自動的に調整されます。入力にFloatを適用した場合、出力は自動的にFloatの配列になり、誤って互換性のないデータ型に接続することはできません。

配列に5つの値を追加するので、Append Arrayブロックは5回使用する必要があります。最初のケースでは、追加する要素だけを入力として与えれば十分です。配列は自動的に作成されます。それ以降のケースでは、要素と、要素を追加する配列自体の両方を入力に得る必要があります。

ちなみに、左側のパネルで、Append Arrayの隣に、似たような名前の関数がありますね。配列の前詰めは 新しい要素を一番最初にするもので、配列の末尾に要素を追加するAppendとは異なります。Concat Arrayブロックは、2つの配列を連結するために使用されます。

AppMasterは多くの異なるブロックを使用します。たとえコースの中で特定のブロックについての情報がなかったとしても、恐れずにそれらをすべて実験して使ってみてください。

最終的な結果を転送するためには、対応する変数をEndブロックに追加するだけです。この例では、これはFloat Arrayです。

これで、最初のビジネス・プロセスの作成は完了です。次のモジュールでは、実際にどのように使用し、入力データを供給し、結果を受信するかを理解します。


ホームワーク

3つの数値を処理するビジネスプロセスを作成します。1つは定数、残りの2つは変数です。

計算しなさい。

  1. これらの数値の和
  2. 乗算(Multiplication)
  3. 2)を1)で割った結果を整数値に切り上げたもの
  4. 1)を2)で割った結果を小数点以下第2位まで切り上げたもの。

業務処理の結果は、2つの配列になるはずです。1つには、データが計算された順番に並んでいる。2つ目には、同じデータを逆順に並べたもの。