こんにちは!アステリアのショウジです。
本日2023年12月22日にASTERIA Warpの新バージョン「2312」が登場しました。
この記事では、今回追加された機能の注目ポイントをご紹介します!
新機能の一覧は、プレスリリースもあわせてご確認ください。
目次
大容量のデータを処理する方法のひとつとして、ループ処理があります。今回、内部の実装を見直すことでループ処理時の性能が向上しました。
たとえば、100万回のループ処理を実施するフローの検証例では、ASTERIA Warp 2306で平均354ミリ秒かかっていたフローが、ASTERIA Warp 2312ではおよそ308ミリ秒で処理できるようになりました(12.8%高速化)。
わずかな違いに見えるかもしれませんが、ループ回数が多いほど効果を実感いただけることと思います。
図1:検証フローでの処理性能比較例
CSVストリームとFixedLengthストリームに「省メモリモード」プロパティが追加されました。これを有効にすると、ファイルを読み込んだときのメモリ使用量を削減することができます。フィールド数とレコード数が非常に多いファイルに対して特に有効です。
たとえば、50万件・300MB程度の固定長ファイルを読み込んだ検証例では、従来はメモリを5GBほど消費していたフローが、省メモリモードをONにすることで320MB程度の消費で済むようになりました。(あくまで一例ですので、実際のフローではここまでの大幅な削減にはならない場合もあることにはご留意ください。)
図2:検証フローでのメモリ使用量比較例
ASTERIA Warp 2312では、以下のコンポーネントやマッパー関数が追加されました!
それぞれ、内容を見ていきましょう。
RecordGroup | 入力ストリームのレコード(Record, CSV, FixedLength)をフィールド名で指定したフィールドが同じ値を持つレコードにグループ分けします。そして、そのグループごとにループして出力します。 |
レコードデータをキー項目でグルーピングし、グループごとにループ出力するコンポーネントです。RecordGroupコンポーネントを使うと、実務でありがちな「取引先ごとにファイルを分割する」といった要件への対応がさらに簡単になります!
言葉だけでは少しわかりにくいと思いますので、図解してみました。
図3:取引先コードでファイルを分割する処理のイメージ
このようなデータを処理する場合、従来はループ処理やソート、レコードフィルタ―などの機能を組み合わせて実現する必要がありました。それがRecordGroupコンポーネントだけで実現できるようになりました。
以下にRecordGroupコンポーネントを使った場合、使わなかった場合のフローの例を掲載しました。ご覧の通り、RecordGroupコンポーネントを使ったほうがコンポーネントの数も少なくて済みますし、ファイルの読み込み回数も減らせますので処理速度も向上が期待できます。
図4:RecordGroupコンポーネントを使ったフローの例
図5:RecordGroupコンポーネント無しで同様の処理を実施するフローの例
PDFFileMerge | 複数のPDFファイルを1つのPDFファイルに結合します。 |
複数のPDFファイルを1つのPDFファイルに結合するコンポーネントです。
このコンポーネントを活用すると、たとえば顧客向け資料の中で変更が不要なページをあらかじめPDFファイルとして準備しておき、そこにASTERIA WarpのPDFコンポーネントで動的に生成したPDFファイルを結合させて、1つのPDFファイルとして完成させるような使い方が可能になります。
図6:PDFFileMergeコンポーネントの利用イメージ
図7:PDFFileMergeコンポーネントを使ったフローの例
PlatioCreateUser | Platioユーザーの作成 | |
PlatioUpdateUser | Platioユーザーの更新 | |
PlatioDeleteUser | Platioユーザーの削除 | |
PlatioSearchUser | Platioユーザーの検索 |
モバイルアプリをノーコードで簡単に作成できるツール「Platio」と連携し、Platioのユーザーを管理するためのコンポーネント群です。
従来からPlatioのミニアプリとデータ連携をすることはできましたが、今回はユーザー管理のための連携ができるようになりました。
これにより、社内の基幹システムなどで管理されている社員マスタ―等とPlatioのユーザーを連携し、一元管理できるようになりました。マスターデータマネジメント(MDM)が推進できますね。
図8:基幹システムの社員マスタからPlatioユーザーへの連携イメージ
FormatDateStd | DateTime型の日時データを指定のフォーマットに整形します。 |
これまで提供されてきた「FormatDate関数」の代わりとなる関数です。FormatDate関数と機能的にはほぼ同じですが、内部の実装がリニューアルされました。それに伴い「日付フォーマット」で和暦の元号を使用する場合の指定方法が変更されています。詳細はFormatDateStd関数のヘルプでご確認ください。
最近のブラウザでは、SSLサーバー証明書のサーバー名を参照する際、コモンネーム(CN)ではなくサブジェクトの別名(SAN)を使用します。
これを受け、フローサービス管理コンソールでも「サブジェクトの別名(SAN)」を使用できるようになりました。「設定」→「SSL」→「サーバー証明書」の作成画面と表示画面に項目が追加されています。
図9:証明書作成画面
図10:証明書表示画面
ASTERIA Warp 2212で登場し、ご好評いただいているスケジュールのカレンダー表示機能。スケジュール登録件数が多い場合の表示速度が向上し、動作が軽快になりました。
「いろいろと機能が強化されていて便利そう!自社の業務で活用できるかも?」と少しでも思われた方は、体験版『手ぶら de ASTERIA Warp』をお試しください!準備不要で5日間『ASTERIA Warp 2312』を体験できます。ぜひご活用ください!
ASTERIA Warpのプロダクトマネージャー。システムエンジニアや情報システム部員としての経験も活かしながら、ASTERIA Warpをわかりやすくお伝えしていきます。
ASTERIA Warp製品の技術情報やTips、また情報交換の場として「ADNフォーラム」をご用意しています。
アステリア製品デベロッパー同士をつなげ、技術情報の共有やちょっとしたの疑問解決の場とすることを目的としたコミュニティです。