ポルトガルのOutSystemsが開発するアプリケーション開発ツール「OutSystems Platform」。国内の総販売代理店であるBlueMemeが本格展開に力を注いでいる。その特徴とはどんなものなのか。
機械語やアセンブラ言語ほどでないにせよ、JavaやC#、COBOLは様々な処理を記述できる汎用のプログラミング言語である。それで業務アプリを開発するのは、高機能の建設機械を使わずにビルを建造するようなもので、効率は良くない。業務パッケージを使えればそんな悩みは不要だが、パッケージが自社の業務に合うとは限らないし、業務が特殊ならパッケージ自体が存在しない。
こうした理由からJavaやC#などを使わず、人間にとってより直感的に理解しやすい方法でアプリケーションを開発できるようにする試みは、特に定型業務アプリケーションの領域で過去、数多くなされてきた。例外処理はあるにせよ、定型業務は入力-処理-出力が相対的に明解であり、業務フローや扱うデータ項目、画面表示など、必要な項目を何らかの方法で定義できれば、コンピュータ上で稼働するソースコードに変換することは機械的な作業で済むはずだからだ。
事実、第4世代言語、RAD(ラピッドアプリケーションディベロップメント)ツール、あるいは超高速開発ツールなど色々な形容詞がついているが、複数の製品を入手できる。比較的知名度が高いツールを挙げると、イスラエルSapiens社の「Sapiens」、南米ウルグアイのArtech社の「GeneXus」、日本の JasmineSoftの「Wagby」などだ。
そんな中に新たなツールが登場した。厳密には新たなというわけではなく、3年前から日本で提供されている「OutSystems Platform」(開発はポルトガルのOutSystems)である。2013年から同社の総販売代理店をしているBlueMemeが、「2015年初めにローカライズをほぼ完了させたこと、この6月に本国で新バージョン9がリリースされたことを機に、正式に説明会を開催した」(BlueMemeの松岡真功社長)という。
特定のプログラム言語やOS、DBなどから独立した形で業務モデルを開発し、それを稼働可能なプログラミング言語に自動変換する、モデル駆動開発ツールの1種である(図)。アイコンや矢印などのビジュアルな要素を、用意されたリストからドラッグ&ドロップしながら組み合わせ、詳細を定義しながら一連の処理を記述していく。
拡大画像表示
1つのビジュアル要素はプログラム言語数10~数100ステップに相当するし、ビジュアルなモデルなので可読性も高い。画面デザインも100以上ある既存のビジュアル要素から選択し、修正すれば完了する。こうしたことの結果、「OutSystems Platformでは、1人の技術者が1ヵ月で175ファンクション・ポイント(機能数や複雑さを加味したソフトウェア規模の指標)を開発できる。平均は16とされるので、ほぼ11倍の生産性になる」(松岡社長)。
開発生産性以上に効果があるのがデリバリーの高速化、つまり拡張や変更を施した後に、短期にシステムをリリースできること。「OutSystems Platformはクオリティ・エンジンと呼ぶ品質確保の仕組みを内蔵する」という。その詳細は不明だが、これによりモデルの修正、テスト、ステージング、デプロイといった工程を短縮する。業務システムの開発ではそれほど必要性はないにせよ、「OutSystems Platformはモバイルアプリケーションの開発にも、広く利用されている。この用途ではラピッドデリバリーは必須である」(パウロ・ロサドOutSystems CEO)。
とはいえ冒頭で触れたSapiensやGeneXusといったツールとの違いは、あまり明解ではない。こうしたツールも新規開発以上に、保守や拡張に利点があると謳っているだからだ。そこで同氏に「競合はどこか」と聞いたところ、「GeneXusは南米と日本では一部競合するが、それ以外では名前を聞かない。Sapiensは競合したことがない(本誌注:聞いたことがない、というニュアンスだった)。最も競合するのはSalesforceのForce.comだ」という。
では採用実績はどうか?同CEOによると「米陸軍やアクサ生命、フォルクスワーゲンなど、顧客は25ヵ国500社以上に及ぶ。特に最近2年間で180社以上と急成長している」。なおOutSystems Platformが生成するソースコードはJavaやC#、OSはWindowsやLinux、UNIX、DBMSも主要なものには対応する。利用料金は年間360万円からで、クラウド版、オンプレミス版を用意している。
BlueMemeは自らOutSystems Platformを使ったSIを請け負うほか、伊藤忠テクノソリューションズ(CTC)やインテック、SCSK、インターネットイニシアティブ(IIJ)、パソナテック、アクセスなどパートナー経由で提供する。「ユーザー企業に購入してもらい、インテグレータがそれを使って開発、保守する形態を推奨している」(松岡社長)。
生産性が高いことの負の側面として、この種の開発ツールにはモデルの表現や記述に汎用性がない問題がある。ユーザー企業が自らエンジニアを育成したとしても、それに見合うだけの開発案件があるとは限らない。この点で開発業務を外部のインテグレータに委託するのは合理性があるだろう。松岡社長は「ビジュアルなモデルでシステムを記述するので、ユーザーが理解しやすい。だからユーザー主導のシステム開発を実践できる」と話す。