2001年にポルトガルで設立されて以来、20年以上一貫してローコードソリューションを提供してきたOutSystems。昨今、さまざまなノーコード/ローコードツールが出てきているが、同社製品の特徴はプロの開発者向けであることだ。OutSystemsは、開発をどのように変えるのか。7月12日に開催されたTECH+セミナー ローコード/ノーコード開発Day Jul.「システム開発をビジネス戦略のコアに」で、OutSystemsジャパン ソリューションアーキテクト、マネージャ 廣瀬晃氏が紹介した。

  • OutSystemsジャパン ソリューションアーキテクト、マネージャ 廣瀬晃氏

    OutSystemsジャパン ソリューションアーキテクト、マネージャ 廣瀬晃氏

さまざまな業態業種の国内企業が活用

廣瀬氏はまず、OutSystemsの4つの特徴について紹介した。 まずは、フルスタックであること。UI、ロジック、プロセス、データを自動生成することができる。次に、統合と拡張のしやすさ。外部サービスやデータベースなどとの連携・統合を柔軟に行うことができる。また、開発工程だけでなく、設計からビルド、デプロイ、監視までソフトウェアライフサイクルを幅広くカバーしていることも特徴だ。さらに、さまざまなユースケースに対応可能で、高いエクスペリエンスも期待できる。Webやモバイルアプリはもちろん、APIやWebサービスの提供、チャットや音声インターフェイスなどあらゆるタッチポイントに対応している。

国内企業の活用事例も多く、自動車メーカー、建設、住宅、製薬、情報通信といったさまざまな業態業種で採用されている。高い開発力を持った開発者が多数在籍するユーザー企業でも導入されており、「OutSystemsを使うと、スクラッチよりも効率よく開発を進められた」とする声が寄せられているという。近年では多くのローコード製品が登場してきているが、小規模で簡単なツールを作成する一般的なイメージとは異なり、プロ向けかつ大規模・複雑なシステムを開発できる点がOutSystemsの強みとなる。

従来の開発とノーコード/ローコードの「ちょうど良いバランス」を実現

そもそもローコードとは、従来のコーディングとは異なり、GUIを使用してソフトウェアを作成できる仕組みで、人の手による繰り返し作業を自動化できることがその大きなメリットとなる。結果として、開発が高速化し保守性も向上するだけでなく、人為的ミスの削減、セキュリティやパフォーマンスの向上といった効果も期待できる。必要に応じて最小限のコードで補完するのが、ノーコードとの違いとなる。 ローコードのデメリットとしては、シャドーIT化や制約の多さ、大規模システムに不向きであることなどがよく挙げられる。確かに、非エンジニア向けのノーコード/ローコード製品の場合、手軽に扱えるぶん、データモデルを調整できなかったり、複雑なビジネスロジックに対応できなかったりと制約も多い。一方で、従来の開発ではプログラミング言語のほかにも覚えるべきツールやテクノロジーが日々増えていくという課題もある。廣瀬氏によると、OutSystemsは「普通の開発と一般的なノーコード/ローコードのちょうど良いバランスを狙っている」という。

OutSystemsの場合、データモデルに制約がなく、基本的には通常のRDBと同様の扱いとなり、Oracle Database、Microsoft SQL Serverといった一般的なRDBMSを利用することが可能。ビジネスロジックについても、ほとんどの処理はノーコードで実装できる。複雑なソルバーをノーコードで作成している事例もあるという。UIにも制約はない。豊富なテンプレートから画面を作成することはもちろん、ピクセル単位で画面を調整することが可能なほか、空のテンプレートに画面部品を配置し自由なレイアウトで作成することもできる。

 高い生産性を求めるプロ開発者に向けた豊富な機能

OutSystemsには、他にもプロ開発者を意識した多くの機能がある。

廣瀬氏が「便利に使っていただいている」と紹介するのがデバッガ機能だ。ビジュアルベースで1ステップずつ確認しながらデバックしていくことができる。サーバーで動いているアプリのロジックをリモートでデバックするということも簡単にできる。 ユニットテストのフレームワークも提供されており、作成したロジックはユニットテストを行うことができる。IDE、Webブラウザ、APIより実行可能で、CI/CDパイプラインに組み込むこともできる。 大規模システム開発の場合、各チームがさまざまなライブラリ、モジュールを更新していくという流れが一般的だが、ローコードツールで行う場合にはバージョン管理が課題となる。OutSystemsでは、バージョン管理リポジトリの機能により、MergeやDiffなどをビジュアルなローコードで行うことができる。

また、AIによる開発支援機能では、コードのパターンを認識して、開発者が次に何をすべきかがサジェストされる。廣瀬氏曰く「熟練エンジニアとペアプログラミングで行っている作業を自動化している感覚」が得られるとのことだ。サジェストの精度は90%以上であり、この機能によって開発時間が25%以上短縮した事例もあるという。 柔軟なインテグレーションも実現可能だ。外部データベースとの接続や外部APIの呼び出し、OutSystemsで作成したAPIを外部から呼び出すことも簡単にできる。廣瀬氏は「既存の仕組みを活かして新しくソフトウェアを作成したい場合に便利に使っていただける」と話す。 ユーザーに好評だというのが、環境間移行時に問題になるような依存関係の確認を自動的に行う機能である。同機能では、どのソフトウェアがどのライブラリやAPIに依存しているか、バージョンも含め確認することができる。ユーザーからは「以前は休みの日にしかリリースできなかったが、平日昼でもリリースできるようになった」「本番移行のスリルが減った」といったような声が寄せられているという。 コードレビューをAIが自動で行う機能もある。技術的負債が高まっているポイントを見つけ出して分類し、スコアリングや修正方法を提案するところまで可能なため、開発者はどこをどう直していくべきか、優先順位を確認したうえで計画を立てていくことができる。

 クラウドネイティブアプリケーションプラットフォーム「Project Neo」

廣瀬氏は、OutSystemsが開発を進める新たなクラウドネイティブアプリケーションプラットフォーム「Project Neo」についても紹介した。 クライドネイティブへの移行が注目される一方で、Kubernetesやコンテナ技術、各種クラウドサービスを使いこなすのが大変、マイクロサービスアーキテクチャで高生産性を出すために考え方を変えなければならない、などといった理由から、敷居の高さを感じ、移行に踏み切れない企業も多い。 廣瀬氏によると同製品は「こうした課題を解消し、どのような企業でもクラウドネイティブのソフトウェアを作成できるようにしたいという狙いがある。クラウドネイティブを簡単に実現できるローコードアプリケーションプラットフォームといってよいもの」だという。Project Neoは、2022年内の正式ローンチが予定されている。

  • 「Project Neo」で採用されている技術

    「Project Neo」で採用されている技術

こうしたさまざまな特徴が評価され、プロ開発者のあいだで利用されているOutSystems。廣瀬氏は「高い生産性が必要だと考えている方にはぜひお試しいただきたい」と呼びかけた。

[PR]提供:OutSystemsジャパン