Formsモダナイゼーションに関するパートナ・パネル・ディスカッション

Joel Kallman (ソフトウェア開発担当副社長)と世界的なAPEXコミュニティのエキスパート数名によるOracle Formsモダナイゼーションに関するディスカッションを閲覧できます。Oracle APEXを使用してOracle Formsアプリケーションをモダナイズする場合の利点と課題について学びます。現実の成功事例、課題およびヒントについて議論されています。

参加者

Joel Kallman (ホスト)
ソフトウェア開発担当副社長、Oracle、オハイオ州コロンバス(アメリカ)

Dario Bilić
取締役兼マネージャ、BiLog、ザグレブ(クロアチア)

Simon Greenwood
開発サービス・ディレクタ、Explorer UK Ltd.、リーズ(イギリス)

Sergei Martens
マネージング・パートナ、Smart4APEX、ティルブルフ(オランダ)

Francis Mignault
CTO兼共同設立者、Insum Solutions、モントリオール(カナダ)

この記録は、APEXオフィス・アワーの一部として行われました。https://apex.oracle.com/officehours

主なディスカッション・ポイント

質問1

あなたが完了した(または何か進行中の)プロジェクトの1つについて、簡単に概要を説明していただけますか。(11:55)

Dario:

  • 大規模な地域の欧州銀行
  • 500のOracle Forms、600のOracle Reports
  • APEXを使用したパイロット、JavaとAngular、.NET、Forms 12cへのアップグレード
  • パイロットに基づいてOracle APEXを選択

Simon:

  • ガスおよび電気メーターのスマート・メーターを管理するエネルギー部門ISV
  • イギリスの最大規模エネルギー・サプライヤ6社のうち4社で使用
  • 数百のFormsを変換中
  • モダナイゼーションの理由 =
    • ソフトウェア(ブラウザ専用)の配布にSaaSオファリングが必要
    • デスクトップのみでなく、タブレットにもレスポンシブな最新の設計
    • エントリ・ポイント・コストの節約
    • 将来的にクラウド・オプションが必要(Oracle Formsクラウド・サービス以外)
    • 欧州に進出するため、複数言語対応が必要
    • Forms開発者がAPEXの学習に必要不可欠なスキルを保持

Sergei:

  • 石油およびガス業界のタンク・ターミナル会社
  • Oracle Formsをモダナイズして将来予想される成長に備え、ビジネス・ニーズを適切に満たすようにリファクタリング
  • 当初はADFで取り組んだが、APEXの方が高速になると確信
  • それぞれ10人のメンバーが所属する2チームでミッション・クリティカルなアプリケーションを開発中

Francis:

  • 主要なアメリカのクルーズ客船会社の乗船資産管理システム(乗船、寄港地観光、ゲスト・サービス、バックオフィスおよびレポート)
  • 多年にわたる複数のプロジェクト
  • 300のFormsのモダナイズと多数のレポート
  • モダナイゼーションの理由 =
    • パフォーマンス上の問題
    • UIの改善
    • PL/SQL投資のすべてを利用可能

質問2

APEXによるモダナイゼーションのアプローチについてどうお考えですか。リライトですか。部分的な移行ですか。既存のOracle Formsアプリケーションに類似した新しいアプリケーションの作成ですか。(20:50)

Simon:

  • すべては状況に応じて検討することが必要
  • 一般的に、リライトを完了すると、ライセンス・コストを節約できるなどのメリットがある
  • 似たようなものを作成できるが、そうすべきではない – Formsは基本的にクライアント/サーバー
  • APEXを使用して最新のWebアプリケーションを構築する
  • Formsから別の何かに移行するための特効薬はない – 再開発が必要
  • 可能なかぎりコードを再利用する

Sergei:

  • 開発者がAPEXを習得できるように1対1 (または多)の移行から開始する
  • トリガー・ロジックをデータベース・ロジックに移行する
  • 新機能については簡単に達成できる目標を選択する方がビジネス的によい
  • FormsとAPEXの両方で作業をせずに済むように、ユーザー・グループの移行を検討する

Francis:

  • すべてを1つのプロジェクトで実行する「ビッグバン」を正当化するのは困難
  • 既存のアプリケーションを拡張する部分的リライトを使用する – モジュール別
  • 最初にAPEXを理解して、既存の表に対してその使用を開始する

質問3

このタイプのプロジェクトで直面した最大の困難は何でしたか。(29:40)

Sergei:

  • Forms開発者のマインドセットを、可能なかぎり1つのページに多くの内容を配置することからWeb対応の設計に変更すること
  • 大規模プロジェクトの場合、UI標準を設定して一貫性を維持すること
  • スコープ・クリープ – ビジネスは新しい機能を求め続ける

Simon:

  • Forms開発者は永続データベース接続に慣れているため一時表を使用する – APEXでは、APEXコレクションの使用が必要
  • 複数行編集ページ
  • APEXのページ送信時の検証のかわりに、アイテム・トリガーとブロック・トリガーを使用して検証する
  • 100% Forms処理を再現しようとする場合の問題(たとえば、複数ページにわたる処理)

質問4

顧客にとって最大のメリットは何でしたか。顧客は結果に満足していますか。

Dario:

  • データベース・ライセンスを通じてすでにAPEXに支払い済のため、Formsからの移行コストを節約できる
  • Forms開発者を維持したままAPEXを使用できる – 相当なコスト節約
  • Webテクノロジに即座に移行 – 数千人のエンド・ユーザーに配布するのではなく、(集中管理された) Webを介してデプロイ
  • APEXを使用してモバイルおよびRESTサービス機能を取得
  • モダナイズされたアプリケーションでビジネス・ユーザーにアピール

Francis:

  • Oracleに対する既存の投資を活用 – ライセンス、データ・モデル、同じテクノロジ・スタック
  • APEXと他のWebテクノロジについてForms開発者をトレーニングすることが容易
  • 21世紀に飛躍 - モバイル、レスポンシブ、最新型アプリケーション

質問5

私たちは投資をバックエンド・ビジネス・ロジック、SQLおよびPL/SQL内に維持することについていつも話題にしています。これは間違った考えですか。APEXの新しい環境で動作するようにどの程度のバックエンド・コードを変更する必要があるでしょうか。(41:50)

Francis:

  • Forms内ではなくデータベースにロジックが存在する場合、ほぼすべてのコードを利用できる
  • Forms内または生成されたデザイナ内に構築されている場合、ビジネス・ロジックを精査して抽出するのは困難
  • APEXに組み込まれたAPEX Forms移行機能を使用してロジックに注釈を付けることができる
  • Forms開発アプローチに可能なかぎり近いAPEX = 再利用が容易

Dario:

  • Forms内部にあるほとんどのコード – そのすべてをデータベースに移動することが必要
  • データベースにすでにコードがある場合、再利用が非常に容易。

質問6

APEXでのモダナイズに適しているかどうかを評価するために従っているプロセスについて説明してください。FormsアプリケーションのモダナイズにAPEXを使用できない場合の例を教えてください。(46:30)

Simon:

  • 一部のものはWebフレームワークに適していない(デスクトップ操作を実行するweb_utilなど)
  • Formsトリガーに存在するコード量を判別して、作業量を決定する
  • 現在も使用されているセクションを確認する(もう使用されていない部分 = モダナイズしない)

Dario:

  • APEXはWebベースで、制限のあるクライアント/サーバーではない
  • Formsでは、あまりWebとしての実体がないクライアント側への制御が大きかった
  • プラグインや、クライアント側の要件を満たすための他の技術を使用できる

質問7

Formsのバックグラウンドのある誰かにAPEXの使用方法を教える場合、どのようにしていますか。これはWebの話ですが、Webも様々です。(50:55)

Sergei:

  • 会社全体で3ステージでForms開発者をトレーニング
    • 初級者 – APEXの基礎、その後、開発者は操作と学習
    • 中級者 – レンダリング・ステージ、クライアント・ステージ、処理ステージ
    • 上級者 – ベスト・プラクティスと標準、一貫性
  • 開発が開始されると、JSとCSSが話題になる
  • JS、CSS、HTMLのWeb開発者のエキスパートを配置するのが最適

Dario:

  • 新しいWebテクノロジを把握するためにチームにWebテクノロジのエキスパートを配置するのが最適
  • モダナイズする必要があるFormsを使用したワークショップが対象
  • APEXコミュニティの力を意識させる(Twitter、apex.world)
  • 質問をするように促す(Google検索をする場合でも)
  • 複数のページ/アプリケーション全体で必要な共通機能のプラグインを作成する
  • FOEXなどのサード・パーティ・フレームワークに注目する

Francis:

  • Webの動作方法についてForms開発者を教育する(マインド変更が最も重要)
  • 開発者に操作をさせて簡単なアプリケーションを構築させる
  • 開発者と連携して、すべきこととしなくてよいことを教育する
  • アプリケーションをデバッグ/トレースする方法を学習する
  • エンド・ユーザーのトレーニングも必要 – 画面とプロセスが異なる

質問8

既存のForms開発者がAPEXとWebの開発で一人前になるまでどれぐらいかかりますか。その後は自分一人で開発を続けることができましたか。(1:01:45)

Dario:

  • 42分
  • トレーニング後、サポートがあれば通常は数週間で生産性が高まる
  • 十分なサポートがなければ、通常は1、2か月後に生産性が高まる

Simon:

  • 数日で独り立ちして、数週間で一人前になる
  • JavaScriptやjQueryなどの他のWebテクノロジではより長くかかり、数か月を要することもある
  • 開発者は、時間と経験をかけてAPEXを受け入れる必要がある

質問9

顧客は自分たちでこの移行を行うことができますか。このオフィス・アワー・フォーラムには、多くのパートナが参加していますが、もし自分がこれを見ていたら、「これをやるには誰かの助けが必要だ」と考えると思います。これについてはどうお考えですか。

Francis:

  • すでにAPEXを知っていれば、自分たちで容易に開始できる
  • 経験豊富なコーチ/パートナを持つことは非常に有益
  • パートナにはツールがあり、トレーニングその他を提供できる
  • パートナは、課題、セキュリティ、アプローチなどに関する広範な経験を持っている
  • 顧客は、小規模なプロトタイプから開始する方がよい

Sergei:

  • 小規模なアプリケーションは問題ない
  • 大規模なアプリケーションでは、パートナが提供できるベスト・プラクティス(バージョン管理、環境、プラグインなど)を使用することが重要
  • 最初の数か月は支援を受けることが特に重要

質問10

これを見ていて、APEXでFormsアプリケーションをモダナイズすることを真剣に考えている人に、何か具体的なアドバイスはありますか。(1:08:40)

Dario:

  • ビジネス・ユーザーは気に入る、経営陣も気に入る、開発者も心から気に入る、とにかくやってみる
  • OracleまたはAPEXのカンファレンスに参加して、その熱気と素晴らしい内容を体感する

Simon:

  • APEXの最新バージョンをダウンロードする
  • apex.oracle.comでサインアップする
  • Forms開発者はAPEXをすぐに選択する
  • 既存のアプリケーションをレビューしてページがまだ使用されていることを確認する
  • 移行の特効薬はない – これは主に再設計
  • Formsに関連するホワイト・ペーパー「Javaクライアント・ロードマップ」を参照して将来の方向性を評価する
    { https://www.oracle.com/technetwork/java/javase/javaclientroadmapupdate2018mar-4414431.pdf}

Sergei:

  • 小規模から開始 – すぐに結果が得られる小規模プロジェクトを選択する
  • 対話モード・レポートや対話グリッドなどのレポート機能を調査する

Francis:

  • すぐにAPEXの使用を開始する – 操作してみる
  • UIの計画、セキュリティの計画(認証と認可)およびナビゲーションの計画をする
  • 「ビッグバン」方式ではなくフェーズ別に開発する
  • シンプルを維持する – オプション機能は最小限に
  • Formsを試したり再現しない
  • 変更管理 – ユーザー、開発者、アナリスト、DBAをトレーニングする必要がある
  • APEXコミュニティに参加する