Web

マルチデバイス化が今後も進むと考えられる現時点において、当面SoEシステムの基本はWebであると考えられます。デバイス側は、ブラウザ、専用アプリケーションと、それぞれ提供の形の違いはあるにせよ、クラウド上のアプリケーションとの通信はWebの仕組みで行われています。

非同期通信のHTML5での実現や、SPAによるUI/UXの向上などが一般化し、たとえクライアントがブラウザであっても非常にリッチな画面の提供が可能になっています。競争の激しいSoEの世界において、UI/UXの実現は必須の技術となっており、またSoRよりも効果を生みやすいという点からも、技術的な投資が進みやすいという背景もあり、基幹システム構築など業務系アプリケーションの世界を過去のものにして、急激な進化を遂げてきました。基幹系システムに代表されるSoRの世界で多くのシステムの基盤となってきたJavaEEの技術などは、現在SoEを実現しているWebのトレンドからは遠い過去にさえ感じられる程です。

最新Webを支える技術

最新のWeb技術を支えるものとして、クライアント側ではJavaScript、サーバ側の概念としてはマイクロサービスがあります。

JavaScriptはかつての簡易DOM操作言語としての位置付けから、現在では様々なJavaScriptフレームワークと呼ばれるものの登場により、よりリッチなフロントエンドを実現する必須の技術となっています。ReactやAngularなどJavaScriptによる高度なUXを実現するのに欠かせないのが非同期通信技術とWebAPIです。

WebAPIはサーバ上においてREST等の規格で実装されるアプリケーション間IFであり、各サーバ側処理は、WebAPIの形でクライアントとの通信を細かく行うことで、クライアント操作とサーバ処理がリアルタイムな連携を行うことを可能にしました。

これらWebAPIはクライアントとサーバ間の通信だけでなく、システム間での連携にも使用されるようになり、システムのコラボレーションによる、大規模システムの実現というDX時代のテーマにも貢献します。

SoEシステムが利益を生み、言い換えれば、競争に晒されるシステムであるために、その機能は常に最新化されることが求められます。マイクロサービスの登場は、機能を細分化してサーバ上に展開し、サービス単位でのデプロイを可能にしました。主に、仮想化技術やコンテナ技術の上に構築されます。サービス間の通信もWebAPIの形で行われることで、APIに変更のない限りは単独サービスでのバージョンアップが容易になり、システム運用の柔軟さを生んでいます。現在では、マイクロサービス実現のための技術基盤は、コンテナ技術に続く形で、サーバーレスに移行しつつあります。代表的なサーバレス技術であるAWS Lambdaなどの仕組みを用い、より一層機能を管理する単位の細分化が進んでいます。

同じくサーバ側(バックエンド側)を支える技術として、ノンブロッキングという考え方も主流になりつつあります。これは、BtoCやCtoCを主戦場とするEoRにおいて、クライアント側との非同期通信が多発することへの一つの解決方法です。ファイルシステム等へのI/Oを非同期に処理を実施することで、処理の滞留を防ぎます、高速レスポンスを実現します。バックエンド側の開発言語Node.jsや、WebサーバとしてNginxなどがあります。また、データベースではIoTとの親和性の高いスキーマレスなNoSQLの採用が多くなっています。各技術分野において、基幹系システムなどの技術とは異なる進化が進んでいるのです。

Webの今後

DXの進行に伴い、各企業のシステムは取引先の増加やFinTechとの連携といった多くのAPIを求められることになります。また、クライアント側は競争力の獲得のため、よりリッチなUI/UXを求めることになるでしょう。多彩なデバイスも登場するでしょう。CtoCやシェアリングビジネスも一層拡大する筈です。それらを下支えする技術として研究開発への投資が続く分野でもあるWebは今後もICTの中心であると思われます。