課題
- 高品質のソリューションの迅速な提供により市場での主導的立場を堅持すること
- 単一のコードベースからすべてのプラットフォーム向けの開発を行うこと
- 開発と設計との連携を確立すること
結果
- 単一のコードベースからすべてのプラットフォーム向けの開発が可能に
- 迅速な配布能力を得て、競合他社よりも迅速に製品を市場に投入
- 同一コードを複数のプロジェクトに効率的、効果的に再利用
2012年設立のSpikes Securityは、ブラウザから企業のネットワークに入りこむマルウェアを防止するWebセキュリティソリューションを開発している。主力製品である「AirGap™」は、ファイアウォールの外で機能し、ユーザーをブラウザから分離してマルウェアによるネットワークの汚染を未然に防ぐ、エンタープライズクラスのブラウザ分離システムだ。
この技術は、セキュリティやIP(知的財産権)保護対策が急務となる決済サービスおよび航空宇宙業界にルーツを持つ。同社の創業者でありCEOを務めるBranden Spikes氏は、PayPalやSpaceXなど他企業において、セキュリティアーキテクトとしてITインフラストラクチャの整備に携わった経験の持ち主である。
「当社は、世界で最もセキュアなWebブラウザの開発によって、業界での評価を確立してきました。要は、情報をすべてその会社の壁の内側に保持することなのです。」とチーフソフトウェアアーキテクト/VPoEを務めるScott Bennett氏は語る。
現在、 Spikes Securityは、デスクトップからモバイルまで、あらゆる主要なOS/プラットフォーム向けにソフトウェアを提供する。その成功の鍵は、RAD Studioによるクロスプラットフォーム開発の実現だ。
「RAD Studioを利用することで、Spikes Securityの開発者は単一のコードベースからすべてのプラットフォーム向けの開発を行うことが可能になりました。その結果、どの競合他社よりも、いち早く市場に製品を提供できるようになったのです。理由はひとつ。コードを書くのが一回で済むからです。」
Scott Bennett, Chief Software Architect and VP Engineering, Spikes Security
課題
ソフトウェアの構築・開発に携わる人たちにとって最大の課題は、様々なプラットフォームをサポートするには、何度もプログラムを記述しなければならないことだ。「最初にWindowsアプリケーションの構築から着手した場合、次に別のプラットフォームをサポートするには、また一からコードを組まなければならない。それと同時に、競合他社よりも迅速に製品を市場に投入しなければならないというプレッシャーもかかるのです」とBennett氏。
さらに、開発者はMacとWindowsそれぞれに、別々の開発環境を維持する必要にも直面する。「各プラットフォームでは、通常、固有のハードウェア、仕様、特有のナレッジが必要となります。同じ開発者やシステムを、両方のプラットフォームに割り当てることはできないのです。」
複数の異なるプラットフォームを管理する一般的な方法のひとつがスクリプティング技術だ、と同氏は述べる。「確かにスクリプトの記述はよい解決策のひとつでしょう。しかし、そのためには、これまでのソースコードを捨てることになり、結局はスクリプト自体が分かりにくくなってしまいます。その結果、プラットフォームごとにシングルバイナリアプリを再コンパイルしなければならなくなるのです。」
ソリューション
Bennett氏は、Spikes Securityが製品提供を始めるよりもかなり前から、エンバカデロ・テクノロジーズのソリューションを使用していた。「長年Delphiを愛用してきました。既に実績があったので、デスクトップ版のリリースに向けて、即、採用を決めました。AndroidとiOSへと事業を拡大した時点で、当社は、RAD Studioをマルチデバイス向けに使用する最初の企業のひとつとなりました。製品の使用は、それ以来一貫して続いています。」
RAD Studioの採用に先立ち、同社は相当な時間をかけて他の選択肢を評価した。どの比較においても、エンバカデロ製品は傑出していた。他の選択肢の場合は、ほとんどすべてにおいて内在的なセキュリティ問題を抱えているか、対応しているプラットフォームが(すべてではなく)一部に限られていた。
Spikes Securityにとって、RAD Studioが提供する重要な機能は、クロスプラットフォーム開発環境、セキュリティ、ビルト済のコンポーネントの品質だ。Bennett氏は次のように評価する。「それらのコンポーネントは当社にとって非常に重要でした。他の技術にも搭載されているかもしれませんが、品質が信頼できるという保証はない。エンバカデロからリリースされるコンポーネントならば、常に信頼できるということを我々は承知しているのです。」
もうひとつ重要なセールスポイントは、エンバカデロがソフトウェア開発ツールのために築き上げた開発者コミュニティの存在だった。「それこそが、すべての鍵だったのです。自社だけであらゆる開発者ニーズをサポートすることは不可能です。コンポーネントの記述を助けてくれるエコシステムが必要でした。RAD Studioのコミュニティは、私が知る限り最高のコミュニティのひとつです。その品質とナレッジベースこそが、エンバカデロの技術がもつ高い適応性を支えているのです。」(Bennett氏)
たとえ技術になじみがあるとしても、実装に先立ち何らかの研修が必要だった。しかし、Bennett氏は次のように説明する。「ユーザーインターフェイスはとても直観的で、全員にとって導入も容易でした。」また、Salesforce.comなどの他のエンタープライズシステムとのインターフェイスを可能にする点も有利だという。「アプリケーションとの接続性が必要で、それがなければソリューションとしてほとんど役に立ちません。RAD Studioなら、サードパーティパートナーから提供されるサービスを含め、他のシステムとの相互接続性が実現できるのです。」
「その結果、どの競合他社よりも、いち早く市場に製品を提供できるようになったのです。理由はひとつ。コードを書くのが一回で済むからです。」
– Scott Bennett, Chief Software Architect and VP Engineering, Spikes Security
結果
「Spikesの開発者はRAD Studioを利用することで、単一のコードベースからすべてのプラットフォーム向けの開発を行うことが可能になりました。その結果、どの競合他社よりも、いち早く市場に製品を提供できるようになったのです。理由はひとつ。コードを書くのが一回で済むからです。」とBennett氏は語る。「実際、当社より先に着手していた競合会社がまだ最初のリリースの開発に取り組んでいる頃、私たちは製品を市場に本格投入し、さらに新しい機能追加まで成し遂げていました。」
RAD Studioの採用がもたらすもうひとつ重要な恩恵は、 アプリケーションがCPU上で直接動作する点だ。さらに、プラットフォームごとにバイナリアプリケーションを最適化する必要もない。「いずれのプラットフォームにも対応する、単一の、最適化された、コンパイル済みのバイナリを構築できるのです。つまり、Mac用に構築した場合、それはApple の技術上ではネイティブアプリとして動作する。それをWindowsで操作すると、見た目や印象はまるでMicrosoftの技術で構築されているかのように動作するのです」とBennett氏は説明する。この組み込みコンポーネントは、効率とターンアラウンドタイムの向上に非常に役立つ。「例えて言うなら、新型車を製作する場合、新しくオルタネータ(交流発電機)を設計する必要はありません。RAD Studioにはオルタネータが組み込まれていて、コーダーやワークステーションを共有できるということなのです。」
RAD Studioは自社のビジネスカスタマーに迅速なソリューションを提供するための手段だ、と同氏は強調する。「我々にとって断然有利な点は、コードをひとつのプロジェクトから別のプロジェクトへと移行できるので、並行する多くのプロジェクトを迅速に進行できることです。こうしたコードの再利用可能性は開発者にとって極めて重要なのです。つまり、RAD Studioライブラリに一度記述すれば、どんなプラットフォームにもプロジェクトにも利用できるからです。」
Spikes Securityでは、以前分離して管理していた各事業部門内の機能をオーバーラップさせることも可能となった。「従来は、デザイナーと開発者の間には不都合な溝がありました。コーディング担当者は設計を実施するための知識を持っておらず、デザイナーはコードを実装するための知識を持っていませんでした。コードとビジネスロジックにそれぞれ取り組む、まったく別個のチームだったのです。エンバカデロは、この課題を解決すべくデザイナーが使用できるPhotoshopスタイルのユーザーインターフェイスを考案しました。これで、画面上のボタンの色を変更するために、デザイナーの隣に$100,000の給与を払ってコーディング担当者を座らせておく必要がなくなりました。」
今、Spikes Securityは全社一丸となって、次のベンチャービジネスとなる3Dアプリケーションの構築を目指している。「皆、とてもわくわくしています。RAD Studioを強化して3Dビジネスアプリケーションの構築に着手したのです。非常に直観的で、速やかに作業を開始できるのです。」(Bennett氏)