ビジネスとプログラムは相容れない関係か?

「Magic xpa Application Platform」ビジネスアプリケーションの構築とデプロイのためのよりスマートな方法

ビジネスアプリケーションを開発するエンジニアの大多数は、データベースとユーザーインタフェースのやり取りを制御する「ビジネスロジック」を、実際にソフトウェアを構成する「プログラミング言語」へどのように反映するかという難題に、常日頃から悩まされていることだろう。

それもそのはずだ。プログラミング言語の仕様にも、APIにも、学術論文にすら、ビジネスロジックという用語は出てこないからである。ビジネスのルールやワークフローを、アプリケーション開発のために整理したものがビジネスロジックである。と言ってよいだろう。

だからこそ、エンジニアはその「翻訳」にいつも頭を悩まされている。ビジネスロジックは、実際にアプリケーションを動かすデバイスや通信環境、ひいては開発環境のことを考えてくれないからだ。

逆にビジネスロジックを考える立場からしてみれば、プログラミングの制約が厳しいために、最適なワークフローを実現できないなどの問題に悩まされていることだろう。

マジックソフトウェアの「Magic xpa Application Platform」は、こうした開発者の悩みをすっかり解消してしまう開発プラットフォームだ。

歴史の最新技術を積み上げた実績

Magic xpaは、「メタデータ指向」という開発アプローチを採用しており、1つの開発手法でさまざまな実装形態をサポートするという特長がある。そのため、開発者の時間は一番重要なビジネスロジックに集中させ、開発中のさまざまな作業もできるだけ軽減されるような作りになっている。まとめると、次のような5つの特長がある。

(1)ビジネスロジックのみを開発
デバイスや通信環境などの機械的・低レベルな部分のコーディングはすべてMagic xpaに委ねることができ、開発者はビジネスロジックの実装のみに専念できる。

(2)環境の違いを自動で吸収
データベースソフトウェアやOSなどの違いについては、Magic xpaの実行エンジンが吸収してくれる。ビジネスロジックという資産をさまざまな形態・デバイスに展開でき、将来にわたって有効に活用することができる。逆に、過去に開発した資産を最新の環境へ流用することも容易だ。

(3)カスタマイズや修正が容易
作成したソフトウェアのカスタマイズや修正が非常に容易で、運用開始後の保守性が非常に高い。

(4)DBアプリ特化型で品質が均一
DB特化と言っても、ほとんどのビジネスアプリケーションに対応できる。またそれを生かして処理フローが標準化されているため、開発者によるバラつきが小さく高い品質を保持できるという特長がある。

(5)アジャイル/スパイラル開発に最適
高級言語に近い作りでコンパイルやビルドが不要なため、アプリ開発からテスト、実配備までの期間が大幅に短縮できる。そのため、プロトタイプ~レビュー&フィードバック~修正というサイクルを非常に短期間で進められる。

このような特長を聞くと、実に新しい仕組みのように思えるが、イスラエルの本社設立から30年、日本市場でも25年以上、時代時代の最新技術を常に吸収してきた実績のある開発プラットフォームだ。国内でも800社以上の開発パートナーを抱え、「パッケージソフト.com」にはMagic xpaで開発されたパッケージアプリケーションが300種類以上も登録されている。

「パッケージソフト.com」では、Magic xpaで開発された業務アプリケーションがを紹介されている

ユーザーも大きなメリットを得られる

上述の5つの特長からわかるように、Magic xpaの恩恵を受けられるのは開発者だけではない。アプリケーションを使うユーザーにこそ、大きなメリットがある。

例えば(2)に関する事例を紹介しよう。あるユーザー企業では、長年使ってきたアプリケーションを最新のWindows8に移植したいというニーズがあった。そのアプリケーションは、なんと「MS-DOS」で作られていた。

普通の開発会社であれば「新しく作ったほうが安いですよ」と言うところだろう。しかしMagic xpaを導入している開発会社は「やりましょう。なんならAndroidでも使えます」と言う。

実際、そのアプリケーションに使い慣れた社員のために使用方法をなるべく変更せず、ちゃんとWindows8に対応させることができた。しかも、今後新しいWindowsやスマートデバイスが登場したとしても、そのままアプリケーション資産として生かすことができるというのだ。

また(5)について、タブレット用アプリケーションのプロトタイプをごく短期間でリリースし、ユーザーと開発会社がタッグを組んで作り上げていくというスパイラル開発の事例がある。フィードバックは1週間ごとに行ったとのことだが、社員の意見や要望を吸収しつつ、手元のアプリケーションがどんどんグレードアップしていくさまは、使っていて楽しいことだっただろう。

3つのアプリケーションを構築可能

メタデータ指向を採用したMagic xpaは、1つの開発手法で「クライアント/サーバ型」「Webアプリケーション」「Rich Internet Application(RIA)/モバイルRIA」という多彩な実装形態をサポートしている。つまり、ビジネスアプリケーションで標準的に使われている形式のすべてを一つのツールで開発できるということだ。中でもRIAについては、開発者の負担を大きく軽減でき、「クライアント/サーバ型」とほぼ同等の操作性を実現している。

Magic xpaでは、1つで“クラサバ”からモバイルRIAまで多彩な実装に対応するビジネスアプリケーションを製作できる

RIAは、サーバ側のアプリケーションとクライアント(スマートデバイス)側のアプリケーションを、それぞれ同期できるようにソフトウェアを開発しなければならない。したがって通常の開発環境では、多くのプログラムとWeb技術・知識が必要で、特に同期を制御する部分には高いスキルが必要となる。しかも、サーバとクライアントのアプリケーションはそれぞれ異なる言語を用いるケースがほとんどだ。

モバイルRIAなど、サーバとクライアントで環境が大幅に変わる場合は、それぞれ異なる会社で開発する必要があるかもしれない。開発中に何らかのエラーが生じた際には、どこに問題があるのかを切り分けにくく、複数の開発会社が関わる場合には、さらに複雑化することだろう。

Magic xpaならば、開発環境はもちろん1つで、しかも業務ロジックと画面定義のみを記述するだけでよい。クライアントとサーバを2つに分けて開発する必要はなく、1つのプログラムとして作ればよい。最初のアクセスでクライアントへアプリが配布される際に、自動的に必要な部分のみが提供される仕組みだ。データベースへのアクセスや通信・同期といった作業も、Magic xpa側が自動的に処理してくれる。

Magic xpaによるRIAアプリケーションの開発と実行

当然のことながら、開発プロセスも大幅に短縮できる。一般的なモバイルRIAならば、サーバとクライアントのそれぞれでプロセスが進行し、ちゃんと同期しながら進める必要があるが、Magic xpaはそもそもプロセスが1つでコンパイルやインストールという概念もないため、非常に短期間で開発を進められるだろう。

モバイルRIAアプリケーションの開発プロセスの違い

Magic xpaを用いた実際の開発作業の様子については、次回、同社が定期的に開催しているハンズオンセミナーのレポートで詳しく紹介しよう。筆者も実際にアプリ製作を体験したが、マウスに触っていた時間のほうがずっと長く、プログラミングをしたという実感は得られないほど簡単だった。ぜひ期待していただきたい。