Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ASTERIA WARP開発前に知っておくべき10の鉄則

2,159 views

Published on

2017年5月23日ASTERIAビギナーズ勉強会(AUG技術情報WG)のプレゼン資料です。

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

ASTERIA WARP開発前に知っておくべき10の鉄則

  1. 1. マスター タイトルの書式設定 ASTERIA WARP開発前に 知っておくべき10の鉄則 インフォテリア株式会社 東京R&Dセンター センター長 田村健 2017.5.23
  2. 2. マスター タイトルの書式設定まずはじめにお聞きします • ASTERIA WARPをまだ触ったことがない人 • ASTERIA WARPの体験セミナーを受けたことがある人 • ASTERIA WARPで何か作ったことがある人
  3. 3. マスター タイトルの書式設定 ASTERIA WARPで開発を始める前に 知っておくべきことってなんだろう?
  4. 4. マスター タイトルの書式設定 ASTERIA WARPで開発するってこういうこと
  5. 5. マスター タイトルの書式設定 つまずいたときに、あ〜、これ、こういうことか と思い出すためのあれこれ
  6. 6. マスター タイトルの書式設定 本日の目標 10の鉄則を頭の片隅に残して帰って下さい
  7. 7. マスター タイトルの書式設定 7 準備編 ASTERIA WARPを知ろう
  8. 8. マスター タイトルの書式設定
  9. 9. マスター タイトルの書式設定 ASTERIA WARPはJavaでできている
  10. 10. マスター タイトルの書式設定1. ASTERIA WARPはJavaでできている • 1610以降はインストールにJavaが必要 • Java VM上で動作しているので基本的にはJavaの世界 • メモリ管理やスレッド管理はJava-way • データベースへのアクセスはJDBC • 問題が起きたらスタックトレースが重要 • Java WebStartやJavaアプレットは使われていない • Java EEやTomcat、Spring、Strutsなどのフレームワークは使わ れていない • lib/extフォルダを見てみよう
  11. 11. マスター タイトルの書式設定
  12. 12. マスター タイトルの書式設定 コンポーネントと関数を知ろう
  13. 13. マスター タイトルの書式設定2. コンポーネントと関数を知ろう • ASTERIA WARPでできることはコンポーネントと関数でできる こと • どんなコンポーネントや関数があってどんなことができるのか を知っているのとそうでないのではその後の開発が大きく変わ る • コンポーネントは常に増えていく • Experimental Buildやオプションアダプター
  14. 14. マスター タイトルの書式設定ざっと何があるか知っておくために • 「ASTERIA WARP 基礎と実践」の「第2章 ASTERIAを使ってで きること」を読みましょう • パレットを眺めましょう • 気になるアイコンは右クリックでヘルプを見てみる
  15. 15. マスター タイトルの書式設定ざっと何があるか知っておくために • コンポーネントリファレンス、関数リファレンスの一覧を表示し て眺めてみましょう • コンポーネント一覧 https://help.asteria.com/documentation/warp/ja/current/flow/designer/componentIndex.html • マッパー関数一覧 https://help.asteria.com/documentation/warp/ja/current/flow/designer/functionIndex.html
  16. 16. マスター タイトルの書式設定
  17. 17. マスター タイトルの書式設定 コンポーネントの極意はヘルプにあり
  18. 18. マスター タイトルの書式設定3. コンポーネントの極意はヘルプにあり • コンポーネントでできることはヘルプを見れば分かる! • できないこと制限事項として書いてあることも • ヘルプを表示するには • アイコンを選択して「F1」キー • 右クリックで「ヘルプ」メニュー^ • ADNでオンラインで検索
  19. 19. マスター タイトルの書式設定プロパティを知るものだけがコンポーネントを制す • プロパティを知るにはヘルプを一度見ておく • 隠れているプロパティがあることも
  20. 20. マスター タイトルの書式設定
  21. 21. マスター タイトルの書式設定 流れるデータ=ストリーム
  22. 22. マスター タイトルの書式設定4. 流れるデータ=ストリーム • データはストリームで処理をする • データ連携の基本となるのはRecordストリーム • CSVやFixedLengthはRecordに入出力フォーマットがついた派生型 • JSONはTextとXMLを行ったり来たり • ループの使い方が速度とメモリに影響を与える
  23. 23. マスター タイトルの書式設定ストリームは変換できる 入力\出力 Binary Text HTML CSV FixedLength XML Record ParameterList MIME Binary ○ ○ ○ ○ ○ ○ × × ○ Text ○ ○ ○ ○ ○ ○ × × ○ HTML ○ ○ ○ × × ○ × × ○ CSV ○ ○ × ○ ○ × ○ × ○ FixedLength ○ ○ × ○ ○ × ○ × ○ XML ○ ○ ○ × × ○ × × ○ Record ○ ○ × ○ ○ ○ ○ × ○ ParameterList ○ ○ × ○ ○ ○ ○ × ○ MIME ○ ○ × × × × × × ○ https://help.asteria.com/documentation/warp/ja/current/flow/designer/flowservice/topic_stream.html#topic_stream_converter
  24. 24. マスター タイトルの書式設定
  25. 25. マスター タイトルの書式設定 フローを流れをコントロールすれば 性能もコントロールできる
  26. 26. マスター タイトルの書式設定ループは性能の鍵 • ループなし • ループあり メモリは使うが速い メモリ少ないが若干遅いことも
  27. 27. マスター タイトルの書式設定パラレル? • パラレルフローは並列実行ではない • 分岐ごとに逐次実行 • ストリームを分岐時に保持するので、メモリを圧迫することも
  28. 28. マスター タイトルの書式設定パラレルサブフロー • パラレルサブフローは並列実行 • ループの内部処理をサブフローにすると別スレッドで 同時に実行してくれる • CPUのコアをフル活用 • ネットワークやディスクでボトルネックになることも • Mapperなど、CPUを使う計算処理に向いている • 並列実行なのでメモリにも注意
  29. 29. マスター タイトルの書式設定 実践編 フローを書いて動かしてみる
  30. 30. マスター タイトルの書式設定
  31. 31. マスター タイトルの書式設定 とにかく作って動かしてみる
  32. 32. マスター タイトルの書式設定 Scrap & Build
  33. 33. マスター タイトルの書式設定デバッグ実行(ステップ実行)
  34. 34. マスター タイトルの書式設定デバッグ実行(ステップ実行)
  35. 35. マスター タイトルの書式設定デバッグモードで実行 • エラーが起きるときにスタックトレースを表示することができる • 実行ログ(FlowService.log)にはさらに細かい情報が出力される • RDBコンポーネント実行時のSQLなど 通常モード デバッグモード
  36. 36. マスター タイトルの書式設定プロファイルモードで実行 • コンポーネント単位の実行時間を調査
  37. 37. マスター タイトルの書式設定外部から実行された場合のデバッグ実行 1. デザイナーでデバッグ実行時に「外部からフローを実行する」 をチェックしてデバッグ実行 2. デザイナーが待機状態になる 3. 実行(URLにアクセス、外部ツールから実行するなど)
  38. 38. マスター タイトルの書式設定
  39. 39. マスター タイトルの書式設定 開発ルールを決めておく
  40. 40. マスター タイトルの書式設定7. 開発ルールを決めておく • ASTERIA WARPは自由にすぐに作ることができるのが特徴 → 放っておくと取り返しがつかないことに • わかりやすい開発ルール • 命名規則 • バージョン管理機能の使用とユーザー管理 • コネクションの利用 • 変数の使用 • 外部変数、フロー変数の使い分け • コメントの付け方 • コンポーネントの繋ぎ方 • 縦とか横とか
  41. 41. マスター タイトルの書式設定
  42. 42. マスター タイトルの書式設定 ベストプラクティス、アンチパターンを 知る、貯める、共有する
  43. 43. マスター タイトルの書式設定ベストプラクティス • BranchではなくSwitchを活用しよう • 文字列の合成、パスの作成にはEmbed関数を使おう • Concatenateの区切り文字は便利 • RDBGetでループするときは取り出す件数を指定しよう • URLトリガーのフローはHTTPStartで始めよう • 何か変更するときはとりあえずフローを複製 • FlowDiffを活用しよう
  44. 44. マスター タイトルの書式設定アンチパターン • 変数などの名前には「_」「-」以外の記号は使わない • パスの区切り文字には「」を使わない。「/」を使う • 文字コードにはUTF-8以外を使わない • EndResponse は使わない。End を使う • パラレルフローの不要な合流は行わない • 不要な「ストリームをまとめる」は行わない • 1つのプロジェクトに20以上のフローは作成しない • スクロールしなければみることができないフローは作らない
  45. 45. マスター タイトルの書式設定 応用編 効率よく開発するために
  46. 46. マスター タイトルの書式設定
  47. 47. マスター タイトルの書式設定 ASTERIA WARPを使って 開発を効率化する
  48. 48. マスター タイトルの書式設定モジュール化 • サブフロー • フローで書いた処理を再利用する • 呼び出し方もいくつかあり • SubFlow、ParallelSubFlow、FlowInvoker • 関数ライブラリ • マッパー関数を組み合わせたものを再利用する • 外部変数 • 定数や変数を複数フローで共有する • ストリーム定義 • ストリームのプロパティやフィールド定義を再利用する
  49. 49. マスター タイトルの書式設定拡張機能 • カスタムコンポーネント、カスタム関数 • よく使う処理をコンポーネントやカスタム関数にする • JavaInterpreter • コンポーネントや関数の処理をJavaで記述できる • 若干遅いので注意 • Flow Thin Client • 外部のJavaプログラムからフローを呼び出すためのライブラリ • Web API • FSMCの機能やフローの実行と同等のものをWeb APIとして呼び出し
  50. 50. マスター タイトルの書式設定
  51. 51. マスター タイトルの書式設定 先輩に差をつける便利機能5選!
  52. 52. マスター タイトルの書式設定テーブル定義書 • コネクション接続先のテーブル定義の情報をExcelに書き出す
  53. 53. マスター タイトルの書式設定プロパティ式エディタ • プロパティの値を雛形を使ってマクロ化 • 簡単な編集であればマッパーよりも見やすくわかりやすい
  54. 54. マスター タイトルの書式設定入力ストリーム定義を出力にコピーする • 入力と出力のフィールドが似ている場合にマッパーの右クリッ クから「入力ストリーム定義を出力にコピーする」を選択する とフィールド定義をコピーできる
  55. 55. マスター タイトルの書式設定ドラッグ&ドロップ • コンポーネントとコンポーネントの間のリンク上にMapperなどのコンポ ーネントをドロップするとリンクを繋ぎ直すことなく間にコンポーネン トを挟むことができる • コネクションを使用するコンポーネントにコネクションをドロップする とコネクションを設定できる • コネクションをワークスペースにドロップすると対応するコンポーネン トを配置できる • ファイルをプロパティにもつコンポーネントにファイルをドロップする とファイルパスを設定できる • ファイルをドロップするとファイル種別に対応したコンポーネントを配 置できる
  56. 56. マスター タイトルの書式設定イメージをファイルに保存 • ワークスペースで右クリックから「イメージをファイルに保 存」するとフローのイメージを画像ファイルにすることができ る • 社内で情報を共有したり、仕様書、ブログ、メールなどに添付する際 に便利
  57. 57. マスター タイトルの書式設定 One more thing...
  58. 58. マスター タイトルの書式設定困る前に&困った時の情報収集手段 • ADN https://support.asteria.com https://forum.asteria.jp (ADN Forum) • 各種SNS情報 • Facebook https://www.facebook.com/asteriajp/ • Twitter https://twitter.com/asteriajp • AUG https://aug.asteria.jp/ https://aug.asteria.jp/join/(FBグループへの参加やメルマガの登録など) • Qiita Organization https://qiita.com/organizations/infoteria/activities
  59. 59. マスター タイトルの書式設定 次は先輩の体験談を じっくり聞いてみましょう

×