業務システム開発の可能性を広げる「高機能コンポーネント」
仙台に本社を置き、学校法人向けシステムやITシステムの活用促進ソリューションなど、さまざまなシステム開発事業を展開してきたグレープシティ。中でも、ソフトウェア開発支援ツールは30年の歴史を誇り、「高機能ライブラリ」の開発・販売を通じて、累計8万5000社のソフトウェア開発を支援してきた。
なお「高機能ライブラリ」とは、企業の業務システムや業務アプリケーションの開発において、求められることの多いUIや機能をまとめたもの。必要に応じて取り出して実装できるので、スピーディかつ簡単に開発を進められる。とりわけグレープシティが提供するUIコントロールセット「ComponentOne」は収録ライブラリが300を超えており、日付を入力するカレンダーや納期管理のためのガントチャートなど業務システム・アプリケーションに必要なものは網羅的に備えている。さらにWindows Forms、ASP.NET、ASP.NET MVC、WPF、WinUI、Blazorなど、多彩なプラットフォームに対応しているのもユーザーが多い理由の一つだ。
村上氏は「システム開発にあたってはさまざまな手法、ツールがありますが、近年充実しつつある『ライブラリ=コンポーネント』を上手く活用することで、開発したいものの限界や幅を広げられるはず。ノーコードやローコードと共に活用したり、スクラッチ開発をブーストしたり、その両者をハイブリッドで活用する手法も有効です」と語った。
ノーコード/ローコードのメリットを活かし対応力を高める
近年急速に盛り上がりを見せているノーコード/ローコード領域。熱い注目を浴びる理由について、村上氏はそれぞれについての特徴早見表を提示し、「簡単かつ低コスト、高い生産性でシステムを開発できること」にあると言う。しかしながら、業務アプリケーションとなれば複雑性や柔軟性が求められる。そこに対応できるか懸念があることを指摘し、解決策として「コンポーネント」の"カスタム機能"を挙げた。
大抵のツールには"カスタム機能"が備わっており、上手く活用することで、たとえプラットフォームに制限があっても、よりニーズに沿ったものを開発できるという。たとえば、サイボウズの「kintone」はJavaScriptによるカスタム機能を提供しており、画面上でボタンを追加するだけで当該機能がアクティブになる。この時、JavaScriptのコードを書いてもよいが、もっと簡単な方法がある。
たとえば、多機能なUIコントロールを備えた、グレープシティの「Wijmo」を活用するのも一手だ。データグリッドやチャート、インプット、ピボット、ゲージなど、フロントエンド開発で使える40以上ものライブラリセットを擁しており、その中から少しだけコードを書き足すと簡単に機能をもたせられる。高機能なデータグリッドコントロール「FlexGrid」という機能をkintoneに組み合わせると、複数セルのコピー&ペースト、フィルター機能などのExcelライクな処理ができるようになる。
また、kintoneについてはコンポーネントだけでなく、実装無しで使えるプラグイン「krew」 もグレープシティから提供している。「krew」はまさにコードを使わなくても、kintoneにExcelライクな機能をもたせることができる。
村上氏は「ノーコード/ローコードに加えて、カスタム機能、そしてコンポーネントを組み合わせることで、既存の限界を越えて、よりよいシステム開発が叶えられます」と強調した。
柔軟性の高いスクラッチ開発を、納期や品質面で大きく底上げ
ノーコード/ローコードに注目が集まる中で、「スクラッチ開発がなくなってしまうのではないか」という懸念の声もある。しかし村上氏は、まったく気にする必要はないと言い切る。実際、ガートナーが調査したソフトウェア・エンジニアリングプラットフォームの利用状況(2023年6月)によると、開発におけるノーコード/ローコードの活用度は43%にとどまり、半数以上がスクラッチ開発メインと回答している。
村上氏は、「すべてがノーコード/ローコードに置き換えられるというよりも、スクラッチでなければできない領域がまだまだ多いということ。柔軟性が高く、どのような案件にも対応できることが強みです。ノーコード/ローコードでは対応が懸念される部分をフォローし、可能性を広げることが可能です」と評した。ただし、「時間的成約のない場合」というカッコつきであることも付け加えた。
つまり、ノーコード/ローコードではまだ難しい、しかしスクラッチでは時間がないときにこそ「コンポーネント」を活用することが有効と言える。中でも多彩なコンポーネントを有する製品を活用することで、開発効率が大きく上昇する。
その有効例として、村上氏は「Excelを活用している場合」を挙げる。既存の業務でExcelを使っている場合、システムが変わってもユーザー側のインターフェースはExcelのままにしたいという要望が多い。開発側についてはなかなか難しい悩みだ。しかし、グレープシティのコンポーネントである「SPREAD」を使えば、裏側ではさまざまなシステムのロジックを走らせつつ、"Excelライク"な画面・機能を簡単に構築できる。
他にもグレープシティでは、ディープな要件を求められるUI開発で、帳票なら「ActiveReports」、入力画面なら「InputMan」というコンポーネントで対応が可能だ。
村上氏は「スクラッチ開発にコンポーネントを活用することで、短期間での高機能性を実現させるだけでなく、テストが不要なので安定的に機能品質を提供でき、さらに問題発生時にはサポートを活用して迅速に解決できます。まさに全体的な開発力の底上げが可能なのです」と強調した。
ハイブリッド環境でのコンポーネント活用事例を紹介
ノーコード/ローコード開発およびスクラッチ開発は決して相反するものではなく、必要に応じてハイブリッドで活用し、それぞれの利点を活かすことが望ましい。「良い開発を行いたいならば、多面的広い視野に基づいて選定を行うべきです」(村上氏)
つまり、多彩な機能が搭載されているノーコード/ローコード開発ツールであっても、最も期待するポイントを見定め、ちゃんと搭載されていることを確認した上で、選定することが重要なわけだ。その上で、それでも満たせない部分があった場合はスクラッチ開発で対応することが望ましい。
たとえば、冒頭で紹介したように、ノーコード/ローコードプラットフォームのカスタム機能を活用して、FaaSなど他のサービスにリクエストを飛ばしてファイルなどを取得する方法がある。このファイルにスクラッチで独自コードを書くことで、求められる要件にきめ細やかに対応できる。
具体的に言えば、MicrosoftのPower PlatformからAzure Functionsへとリクエストを飛ばしてファイルを取得する。その際に、スクラッチでコードを書くのではなく、コンポーネントを活用することで、より効率的に開発を進められるわけだ。
村上氏は、実際の流れについて、グレープシティの帳票コンポーネント「ActiveReports」でデモンストレーションを行った。まずMicrosoftのPower Appsで作成した顧客の売上データをAzure Functionsへ飛ばし、そこでActiveReportsを活用して帳票出力させるというわけだ。Power Platformだけでは、こうした文字やレイアウトなど日本の厳しい要件に対応する帳票を作成するのは難しい。しかし、帳票コンポーネントを組み合わせるだけで簡単に作成が叶う。なお、この機能は2023年年度末に向けての対応となる。
他にも村上氏は、有効なコンポーネントの例として同社の「DioDocs」を紹介。業務で使用しているExcelやPDF、データなどを組み合わせて自在に操作でき、別のファイルへと加工することができる。
村上氏は「ノーコード/ローコードでの開発、スクラッチ開発、そして両者によるハイブリッドな開発といずれの場面でも、コンポーネントを活用することでより良い開発が可能になります。ぜひ、効率的にやりたいことを実現するために、コンポーネントの導入を検討してみてはいかかでしょうか」と訴え、セッションのまとめとした。