OutSystemsが解決策となる理由
目次
OutSystemsは、アプリ開発およびデリバリープロセスのすべての段階を簡素化するモダンアプリケーションプラットフォームです。開発チームは、企業が必要とするアプリを市場が求めるスピードで提供できます。
チームの規模にかかわらず、アプリの設計、開発、QA、分析、管理を行うことができます。OutSystemsは、フロントエンドとバックエンド開発のニーズをすべて網羅しています。また、デプロイや長期にわたる保守にも対応しています。様々なツールを組み合わせる必要がなくなるため、コストの増加や生産性の低下を招くおそれもなくなります。ガバナンスと影響分析用の機能も提供されるため、コーディングや管理を追加することなく大規模プロジェクトをさらに拡大することができます。
ビジュアルモデル駆動開発であることがOutSystemsプラットフォームの特徴のひとつですが、それ以外にも多くのメリットがあります。OutSystemsは、組織がアプリケーション開発を迅速かつ最適に、将来を見据えて実施するために必要なすべてを提供します。以下の特性により、ライフサイクルを停滞させることなく、あらゆるプラットフォームで継続的デプロイを実現し、コストとリスクを低減することを目標としています。
- アプリケーションライフサイクル全体の高い生産性: 数か月ではなく、数週間以内でアプリを作成し統合することができます。
- スピードとコード: カスタムコードの統合が可能な高い柔軟性を誇るビジュアルモデルを使用して開発することにより、拡張性、効率性、開発スピードを高めることができます。
- マルチエクスペリエンス開発: あらゆるデバイスやプラットフォームで実行できるアプリケーションを開発できます。エラーのないの自動デプロイで、リスク、開発期間、費用の大幅な削減が可能になります。
- オープンプラットフォーム: 既存システムのレコードやデータソースとの連携が可能であるため、大規模なバックエンドシステムへの投資を無駄にせずに済みます。
- エンタープライズレベルのプラットフォーム: 開発者チームが作成した膨大なアプリケーションのポートフォリオを、1つのアプリのように簡単にかつ迅速に構築し管理できます。
- コストの削減: 自動での依存関係管理と全体的なALM(アプリケーションライフサイクル管理)で、アプリケーションの保守コストを大幅に削減します。
- ベンダーロックインなし: OutSystemsアプリケーションの使用に、ランタイムインタプリタやエンジンは必要ありません。標準アーキテクチャを備えたプラットフォームがアプリを生成します。
高い生産性
OutSystemsは、アプリケーションの開発だけでなく、アプリケーションの変更プロセスも加速するようにゼロから設計されています。ビジュアルモデル駆動開発により、時間やコストを圧縮でき、俊敏性が向上します。洗練され魅力のあるマルチエクスペリエンスユーザーインターフェイス(UI)により、深い専門知識がなくてもHTMLやCSSを活用することができます。面倒で不整合の生じがちな手動でのコーディングは不要であり、デプロイもワンクリックで行えます。アプリケーションのデリバリーまでにかかる時間を、数か月や数年間ではなく、数週間や数日にすることができるのです。
従来のアプリケーション開発では、変更処理のために生産性が大幅に低下することがよくありました。OutSystemsプラットフォームはこの処理を自動化します。全体的な依存関係を監視し、アプリケーションのすべてのレイヤーについて変更の影響を指摘することで、コストや時間、リスクを最小化します。自動修正可能なセクションについてはOutSystemsプラットフォームが修復し、手動修正が必要な場合は通知します。アプリケーションポートフォリオを視覚的に表示する機能により、アーキテクトなどのユーザーは、問題がどこにあるのか、それに対して何ができるのかを特定できます。この結果、エラーのないビルドパッケージを用意し、実行中のアプリケーションの品質に一切悪影響を与えずに、数分で本番環境をアップグレードできるのです。
またOutSystemsにより、従来型の開発で生じがちであった統合に伴うスケジュールの遅延や費用超過も回避できるようになります。ビルド済みのコネクタ、REST API、SOAPサービス、そしてカスタムAPIが、バックエンド統合の高速化を実現します。ユーザーからは、「OutSystemsは企業内の必要なものすべてを統合してくれる」との評価をいただいています。
自社アプリケーションを完全に視覚化して管理できるため、アプリケーションの管理さえも迅速に行えます。OutSystemsでは、複数の環境にわたるバージョン管理、リリース、デプロイ、コンポーネント依存関係を管理するための集中型コンソールを提供しています。複雑な構成ツールは必要ないため、デリバリーを効率化することができます。ビルドやバージョン管理の心配も、セットアップのために専門家を手配する必要もありません。
IT部門は、デフォルトの標準アーキテクチャと、プログラミング方言を排除した優れた設計のビジュアルモデリング言語の恩恵を受けることができます。そのため、ドキュメントを別途作成することなく、約2週間で開発者間での知識の引き継ぎを行えます。このことによってプロジェクトが加速し、非常に高い柔軟性によって保守をいつでも引き継げる形で開発を外部委託することができます。1人の開発者が、ミッションクリティカルなソフトウェアの1つを永久に担当する必要はありません。新しいメンバーを迎えても、アプリケーションが保守不可能なレガシーになってしまう心配はまったくないのです。
スピードとコード
OutSystemsは、迅速な開発スピードとカスタムコードおよび既存のコードのシームレスな統合を独自の方法で両立することで、優れた俊敏性を実現しています。開発者は、アプリケーションのUI、ビジネスプロセス、ビジネスロジックとデータモデルを視覚的に設計します。ビジュアル開発環境へのドラッグ&ドロップ機能を利用することで、従来の手作業でのコーディングに比べ大幅な高速化が可能です。複数のデータソース、UIブロック、API、連携コネクタ、ビジネスルールなどを含むすべてのコンポーネントを組み合わせるための機能もあります。これにより、従来のソリューションを用いて構築するよりもはるかに短期間で、高品質なアプリケーションやプロセスを作成・処理することが可能になります。
ビジネスアプリケーションから下位のSDKにアクセスする場合、または外部のマイクロサービスやデータソースを組み込む場合には、カスタムコードや新たな連携コネクタを用いていつでも拡張できます。
こうしたスピードと管理は、開発に限られたものではありません。OutSystemsでは、アプリケーションのどのライフサイクルにおいても、ワンクリックで迅速かつ安全なデプロイや変更を行うことができます。どれだけアプリを修正しても、OutSystemsが変更のプロセスを自動化、管理、統制するため、エラーなくデプロイを行うことが可能です。アプリケーションのデータモデル、API、アーキテクチャに大幅な変更を加えた場合でも同様です。
アプリケーションのすべてのレイヤーにわたりOutSystemsが変更の影響を監視し指摘するため、コスト、期間、リスクが最小限となります。OutSystemsはほとんどの問題を自動的に修正し、手動での修正が必要な場合はチームに通知します。また、あらゆるデプロイデータベースの変更スクリプトを含む処理を自動化します。これにより、低コストでエラーのないビルドパッケージを作成し、数分で本番環境のアップグレードを行うことができるのです。
マルチエクスペリエンス開発
OutSystemsは、高品質なアプリケーションを一度で開発し、さらに従来のテクノロジーと比べ、短期間かつ低コストでどこにでもデプロイできるようにします。また、本来の応答性を損なうことなく、あらゆるデバイスやOSをサポートできます。
OutSystemsでは、アプリを開発するだけで全デバイス対応とすることができるのです。HTMLとCSSを手動でのコーディングなしで使いこなせるため、エラーや労力、開発時間を大幅に減らすことが可能です。絶えず変化する技術を習得する必要も、デバイス固有の知識を持つ高給かつ希少な専門家を雇用する必要もありません。
ビジネスニーズに応えるために、位置情報やカメラ、通知、デバイス上でのアプリ連携などのようなネイティブ機能を追加することも容易です。また、手間とリスクなしでモバイルアプリをフルブラウザ用に拡張できます。
オフラインで動作するアプリ(プログレッシブWebアプリ(PWA)など)であっても、ワンクリックでオンラインアプリと同じくらい迅速かつ簡単に開発できます。
マルチエクスペリエンス開発では、新たなデバイスやプラットフォームが出現しても、バージョン変更や更新、または高額な費用やリスクの心配をすることなくアプリを開発できます。こうしたOutSystemsの機能により、ユーザーは常に改良済みのコードやアーキテクチャパターンを活用して、継続的にアプリケーションのセキュリティ、拡張性、パフォーマンスを向上させることができます。それだけでなく、OutSystemsでは、プラットフォームで開発されたモバイルアプリケーションをパッケージ化することで、App StoreやGoogle Playの要件を満たすようにします。
こうしたOutSystemsの機能により、ユーザーは常に改良済みのコードやアーキテクチャパターンを活用して、継続的にアプリケーションのセキュリティ、拡張性、パフォーマンスを向上させることができます。新しいテクノロジー向けにアプリを書き換える心配はありません。そのため、費用も時間もかかるApple StoreやGoogle Playの承認プロセスを回避することができます。
アプリケーションの変更も、新規開発と同様です。OutSystemsは即座にアプリケーションの変更をユーザーデバイスに適用します。新しいアプリケーションやバージョンをリリースした場合、ユーザー側でインストールや更新を一切行うことなくすぐにアクセスできるようになります。データやユーザーにとってのリスクとなるバグが見つかった場合、即座に修正し、すべてのデバイスとプラットフォームで実行できる新バージョンのアプリケーションをデプロイできます。
オープンプラットフォーム
OutSystemsは、標準ベースのコードと拡張性を実現するオープンな統合プラットフォームです。こうした設計にした理由は、独自のデータやアーキテクチャを使用するとアプリケーション開発に制限が生まれ、コストも増加してしまうためです。OutSystemsでは、あらゆるデータベースに接続でき、ミッションクリティカルなシステムとも簡単に連携できるオープンプラットフォームを提供しています。
OutSystemsでは、表現力の高いビジュアル言語を使用してアプリケーションを開発でき、迅速なアプリケーション開発にありがちなリスクを回避できます。OutSystemsで設計したアプリケーションのビジュアルモデルは、適切な設計で最適化された標準コード(JavaScript、HTML、CSS、C#、標準SQL)にコンパイルされます。つまり、プライベートクラウドや自社データセンターなどの標準的なアプリケーションサーバー環境にデプロイ可能なのです。
ビジュアルモデルは、JavaScript、CSS、HTML、Cordova plugins、C#、SQLのような標準コードやカスタムコードを利用して拡張できます。これにより、SOAやマイクロサービス周りを標準化できます。また、アプリを外部データベース、既存システム、さらにはテストおよび監視用ツールと連携させることも可能です。作成するアプリケーションの種類やサイズに制限はありません。
OutSystems Forgeのリポジトリには、オープンソースで公開されているSDK、ライブラリ、プラグインのラッパーなど、オープンソースのエクステンションが含まれています。こうしたエクステンションやラッパーはアプリケーション全体で使用できるので、すでにあるものを開発するために時間やコストを費やす必要はありません。
データアクセス面では、OutSystemsは追加設定を行うことなくSQL Server、Oracle、MySQL、DB2に接続できます。さらに、すべてのデータベースにデータベースコネクタを実装できます。開発者は組織のページやビジネスロジック、ワークフローの一部として、既存のデータベースやインポートしたデータベースに複雑なクエリを書き込むことができます。対象となるデータベースにクエリを行う際には、標準SQLを使用できます。
SAPや他のミッションクリティカルなシステムとの連携には、ビルド済みのコネクタ(SAPのBAPIへのRFCアクセス用コネクタなど)、または迅速なRESTやSOAPとの連携機能が用意されています。手作業でのコーディングが不要なため、コストを削減し、生産性を向上させることができます。REST APIの場合、OutSystemsはビジネスロジックやWebサービスと同様に、ドラッグするだけでビジュアルロジックに自動でインターフェイスを作成します。SOAP Webサービスの場合、Webサービスのメソッドを視覚的に利用するために必要なデータ構造をすべて作成します。
エンタープライズレベルのプラットフォーム
OutSystemsは現在、エンタープライズアプリケーションの要件を満たす業界最高水準の製品の1つとみなされています。ミッションクリティカルなアプリケーション、POS、モバイルユーザーへのエンゲージメントのデプロイにあたり、数多くの企業がOutSystemsを使用しています。社員、取引先、顧客のいずれをターゲットにしたアプリケーションを作成する場合でも、OutSystemsは常に迅速でコスト効率の良いデリバリーを実現します。
また、いつでも拡張することができるため、様々な業務部門や主要ビジネスプロセス向けの、革新的で高品質な幅広いアプリケーションをサポートすることが可能です。OutSystemsの柔軟な環境とガバナンス機能により、組織の迅速な成長を促し、優れた設計や管理のもとで何百ものサービスやアプリケーションを擁するエンタープライズレベルの実装が可能になります。
パフォーマンスやスピードを犠牲にすることなく、必要な人数の開発者とチームをサポートし、作業完了を後押しします。また、再利用可能なコンポーネントのモジュール化、パッケージ化、配布、デプロイとサービスにより、チームの規模を問わず、保守性の高い大規模SOAを迅速に設計できます。アセットを組み合わせ可能なモジュールにすることで、依存関係の追跡と再利用が可能になり、時間、コスト、労力の削減が実現します。すべての依存関係についてデリバリーのパイプラインが自動化されるため、複合アプリの整合性も常に保証できます。
OutSystemsは、高速性と拡張性を維持したまま、どのような外部エンタープライズシステム、データベースまたはカスタムアプリとでも非常に容易に連携できます。追加設定をすることなく、エンタープライズデータ、サードパーティサービス、カスタムアプリとシームレスに連携可能なのです。ビルド済みのコネクタにより、Salesforce、SAP、Oracleなどのエンタープライズサービスおよびデータベースとの迅速な連携も実現できます。さらに、必要に応じて独自のカスタム連携を作成、変更、拡張することができます。
OutSystemsには、OutSystemsアプリケーションのデプロイを既存のDevOpsツールやプロセスと連携させるためのAPIもあります。
コストの削減
OutSystemsは幅広く複雑なライフサイクルに対応しているため、プロジェクトを開始した時点から継続的デプロイプロセスを実現することができます。デプロイと同様、アプリケーションの管理と更新も容易です。ライフサイクルを通じて、OutSystemsは裏で動作し続け、アプリケーションにエラーが発生しないようにしています。アプリケーションはパフォーマンスと品質の両方を高めるために構成されており、そのアーキテクチャはOutSystems Architecture Dashboardで表示できるため、修正または最適化が必要なアプリケーションやポートフォリオの任意の部分を簡単に特定できます。パフォーマンスや品質上の問題を早めに検知して迅速に解消できるため、開発とデプロイのコストを軽減できます。
アプリケーションおよびサービス向けに高度なセキュリティガバナンスを備えているため、ID連携したアプリ開発を行う場合に所有権、再利用、管理、運用ルールを定義できます。ドキュメントは自動化され、バックオフィスの構成サービスも一元化されます。ビジネスプロセスのオペレーションインスタンスや、ビジネスアクティビティの監視も含まれています。また、モバイルデバイス管理とAirwatchのようなモバイルアプリケーション管理ツールを連携させることにより、モバイルアプリのガバナンスも可能です。
こうした一元化された自動管理機能を使用すると、ミッションクリティカルなアプリの管理と運営に必要な時間や人員を大幅に減らせるため、コストを削減できます。複数の環境にわたるステージングをダウンタイムなく自動で実施し、問題がある場合のロールバックも自動で行われます。複数のアプリやサービスの依存関係を徹底的に監視するため、整合性も保証されます。結果として、OutSystemsユーザーはコストを削減しつつ、複雑なデプロイを1日に複数回実行することができるのです。
ベンダーロックインなし
ベンダーやプラットフォームを変更する場合、OutSystemsで開発したアプリがどうなるかを知っておくことは重要です。何の心配もせずリスクのない実装を実行できるOutSystemsは、ベンダーロックインのない唯一のソリューションです。
OutSystemsでは、アプリケーションの実行に特定のランタイムエンジンを使用しません。代わりにアプリケーションモデルを使用し、最終的には実行にOutSystemsを必要としない標準アプリケーションを生成します。
ビジュアルモデルのデータアーチファクトは、メタデータを追加せずにデータベースのネイティブなコンセプトに直接マッピングされます。OutSystemsでは、あらゆる標準ETL、BI、またはサードパーティのデータベースツール経由でのデータアクセスが可能です。
さらに、対象となる標準アーキテクチャ(フロントエンドのReactJS、バックエンドのC#など)に合わせてアプリケーションコードが生成されます。OutSystemsでは、新たなアーキテクチャのベストプラクティスに対応し、パフォーマンスを最適化できるよう、継続的な改良を行っています。
OutSystemsは、アプリケーションの生成、最適化、コンパイル、および標準Webアプリケーションサーバーへのデプロイに必要なすべての作業を支援します。こうした作業のために高額なリソースを使用する必要はありません。
万が一ユーザーがOutSystemsの使用を中止してもIPが消えることはなく、アプリケーションはユーザー独自の環境で変わらず実行し続けることができるのです。