Flex/Seasar2からHTML5/Springへのマイグレーション

Adobe Flash Player のサポート終了

Flash Playerの開発元であるアドビ社は、2020年末にFlash Playerのサポートを終了するとアナウンスしています。
これによりAdobe Flexで開発されてきた数多くのWeb アプリケーションは、標準の動作環境を失うことになります。
この問題への⼀般的な対応策は、FlexからHTML5へのプログラムの書き換えです。
弊社のソリューションでは、FlexアプリケーションのHTML5へのマイグレーションを、ツールを使って変換することにより、スムーズに⾏うことができます。

Seasar2のサポート終了

Seasar2はJAVAベースのフレームワークとしてはいち早くFlexに対応し、Flexアプリケーションのサーバーサイド処理で幅広く利⽤されてきました。
しかし、Seasar2はすでに開発終了がアナウンスされており、2016年9⽉26⽇をもって公式プロジェクトからのサポートが終了しています。
この問題への⼀般的な対応策は、Seasar2から別のフレームワークへのプログラムの書き換えです。
弊社のソリューションでは、Seasar2のアプリケーションとの類似性の観点から、Seasar2に似たDIフレームワークであるSpring Frameworkへの マイグレーションを⾏います。
ツールを使ってSeasar2からSpringへプログラムを変換することにより、スムーズにマイグレーションを⾏うことができます。

Flexの画⾯操作性をそのままブラウザーで再現

FlexのGUIを定義しているMXMLを、コンバートツールにて、HTML5の類似タグに変換します。
この際に、MXMLで定義している情報はそのままHTML5タグ内の属性に反映させ、これを弊社で⽤意した CSS3 および Javascript の部品で処理して、 Flexとほぼ同じ表⽰と操作性を実現します。

既存の画⾯処理プログラムをそのままJavaScriptに変換

ActionScriptは、ECMA Script(JavaScript)から派⽣したものであり、JavaScriptに対して型定義の機能を拡張しています。
同様にJavaScriptに型定義の機能を拡張した⾔語として TypeScript があります。TypeScript は JavaScript に ActionScript と同様の型定義機能を導⼊します。
ActionScript と TypeScript は類似性が⾼く、ActionScript から TypeScript へ⽐較的シンプルな変換を⾏うことで、多くの既存プログラムを JavaScript として再利⽤できます。
Blaze DSによるクライアント・サーバー間通信のようなFlex 固有の機能については、弊社で⽤意した Javascript の部品で吸収できます。

Blaze DS 専⽤サービスを 標準的な REST サービスへ変換

多くのFlexアプリケーションは、クライアントサーバー間の通信に Adobe Blaze DS を利⽤しています。
Blaze DS は標準的なWebアプリケーションの通信⽅式である REST サービスの考え⽅を踏襲しており、REST サービスへの変換は容易です。
弊社のソリューションでは、変換ツールを利⽤して、Blaze DS⽤のSeasar2フレームワークである S2Blaze DS から Spring Web を使⽤した REST サービスへの マイグレーションを⾏うことができます。

DIコンテナをSeasar2からSpring AOPへ変換

Seasar2とSpring AOPは、ほとんど同じ思想でDIを実装しており、アノテーションやフレームワークのクラス名変換だけでコンバート可能です。
弊社のソリューションでは、変換ツールを利⽤して、Seasar2からSpring AOPへのマイグレーションを⾏うことができます。
アノテーションを利⽤せずに、S2ContainerのAPIを直接呼び出しているプログラムに対しては、弊社の⽤意したSeasar2互換フレームワークでラップし、 コードの修正は最⼩限にして、Spring AOPの機能に置き換えることができます。

DBアクセスプログラムをそのまま変換

Seasar2のDBアクセスフレームワークである S2JDBC では、エンティティ定義はJava標準であるJPAに合わせた仕様となっていますが、クエリーAPIは 独⾃のものとなっています。
このため、S2JDBC ⽤に作られたプログラムからSpring JDBC Templateへのマイグレーションの際には、エンティティは⼤部分が最⼩限の変換で再利⽤可能ですが、 クエリー作成処理については、通常は再作成が必要になります。
弊社のソリューションでは、この問題を解決するために、弊社で⽤意した S2JDBC互換フレームワークでSpring JDBC Templateをラップし、 ツールによる変換でマイグレーションを⾏うことができます。