第七講 3階層アーキテクチャの統合システム構築に必要なサーバプログラム具現化方式
[PM]
博士、「最近、モバイルアプリサービスは、その大半が組織内部や外部の数多くの不特定ユーザー集団を対象にサービスしなければならないケースが多いと思います。 スマートメーカーソリューションを学んでみると、一つのアプリを作る場合に、ユーザ端末上で動作するUI/UXプログラムの制作は容易く実現できそうですが、APサーバで動作するプログラムの開発や、DBサーバに構築するデータベースの設計および構築作業はどのようにすればいいですか?
[博士]
今質問された通り、一般的に多くのユーザーを対象にサービスしなければならないアプリは、3階層またはそれ以上のN階層構造を持っています。 真のノーコードソリューションなら、このような大規模ユーザーを対象にサービス環境を提供する、端末用プログラムのUI、UXだけでなく、APサーバ用XML Webサービスを自動的に生成し、DBサーバと関連したテーブルの設計と作成作業も、当然、ノーコードの技術を支援できるはずです。もちろん、端末機器用UIだけでなく、HTML、CSS3などのウェブUIもノーコード技術で作成されなければなりません。
もう一度整理してみましょう。
まず、3階層アーキテクチャに合わせてユーザー端末用アプリを制作する方法から説明します。 結論から申し上げますと、アプリ自体を具現化する方法は、3階層であれN階層であれ関係なく、先に説明したように作ればいいです。 但し、製作作業が完了した後にパッキンを作る方法だけが少し変わります。
具体的なパッキン方法を説明する前に、追加説明を差し上げるのがよさそうです。 既に説明しましたようにスマートメーカープラットフォームでは、他のローコードソリューションやクロスプラットフォームとは異なり、基本的にネイティブアプリ方式の技術を採用しています。
HTML、Javascriptなど全てのプログラムソースコードが外に露出されるWebアプリ方式とは異なり、ネイティブアプリ方式は一般的にセキュリティが非常に高く、アプリを実行する時も、ウェブブラウザを経由せずに直接運営体制を駆動して動作することで実行速度が速くなります。UIやUXもウェブの標準規格やウェブブラウザが支援する機能に限らないので、差別化されたデザインや強力なアニメーション効果を実現できるのが特徴です。
このような長所があるにもかかわらず、これまでは一般大衆を対象にサービスするアプリをネイティブアプリ方式で開発する場合に、同じプログラムでも互いに異なるプログラムランゲージと開発ツールを使用して各運営体制別に重複して開発し、メンテナンスしなければならないという短所があって、簡単に採用できませんでした。
そこで、スマートメーカープラットフォームを採用すれば、たった一度のアプリ制作でAndroid環境はもちろん、iOS環境でもそのまま互換でき、さらにパソコンのWindows環境でも同じように動作する、従来技術とは完全に差別化されたネイティブアプリ方式のクロスプラットフォーム技術をしえんしています。
従って、スマートメーカープラットフォームで制作したアプリを3階層アーキテクチャでサービスしようとする場合には、すでに開発したアプリ構造を変更したり、追加で機能を具現化する作業はまったく必要ありません。制作ツールの運営環境でオプションのみ3階層アーキテクチャを選択し、実際のパッキング段階でもDBサーバーを遠隔でのみ選択して、パッキング作業をすると、3階層アーキテクチャのアプリに変身することになります。
3階層アーキテクチャで統合システムを構築するために、次のステップでやらなければならないことは、DBサーバを設計·構築する作業になるでしょう。 この作業のため、まず一緒に作ってみた「出張旅費明細書」アプリに関連したモジュールをいくつか作って説明を進めて見ます。
これらアプリモジュールすべてが、 単一行のコーディング作業もなく、様々なアトムと進行管理者というGUIツールを活用してアプリのUI画面と必要な機能をデザインし、私たちが日常的に使用するいくつかの自然言語を記述する方式で、該当アプリの機能をデザインして制作に必要な物を作り出しました。
このように人々が直接実行する唯一の作業の産出物であるフォームは、該当のアプリを作成するための一種の要求提起書のような役割を果たします。実際にこのフォームには、一つのアプリを構成するのに必要な4大中核要素、つまりデータ、UI/UX画面、イベント、プロセスがすべて含まれていることが分かります。
それでスマートメーカーソリューションに内蔵された「ジェネレーター」という人工知能エンジンが、人がデザインしたこれらのフォームを分析して、3階層アーキテクチャの統合システム構築に必要なすべてのプログラムが自動で作成できるようになったのです。
このようにジェネレーターがこれらのフォームから各アプリが駆動するのに必要なデータスキーマを抽出し、ERDというデータベース設計図を作成します。この設計図に従って,DBテーブルを作成するのに必要なSQL言語を作成し、データベーステーブルまで作成することになります。
これでは、実際にDBテーブルが作成されているか確認してみましょう。前述した各フォームに関連するDBテーブルと各テーブル別に構成されたフィールドリスト、そして主検索キーまでこのように自動で生成されたことが確認できます。
今回はジェネレーターがフォームを分析して、APサーバー内部で動作するウェブサービスを自動で作った過程をお見せします。 まず、Webサービスを作って最終的に配布するサーバ内部の場所、つまりナレッジコンテナをチェックしましょう。 今は初期化された状態なので、何のオブジェクトが存在しないことを確認できます。
今度、お見せしたフォームを選択して 各アプリモジュール別に必要な Webサービスを制作·配布してみましょう。 このジェネレーターは、APサーバ側に具現化すべきサービスを全て抽出して Webサービスを作成します。 以前のように、人々がこのような作業を直接しなければならないとしたら、サーバープログラミング技術分野の高級技術者が、多くの時間を費やしてプログラムを作成し、エラーのデバッグまでおわったあと,ようやく完成できたでしょう。。 しかし、人工知能エンジンはこのように瞬く間に処理しますね。
これから実際にAPサーバー側に必要なWebサービスが配布されているかを確認してみましょう。 先ほど確認してみた空いていたコンテナフォルダをもう一度開けてみましょう。 このように多くのWebサービスオブジェクトが生成されていることが確認できます。
実際にこのような Webサービスのオブジェクトは、各アプリプログラムモジュール、つまりそれぞれのフォーム別に内部にデザインされたイベントのうち、サーバー側で処理するサービスと関連したイベントをすべて見つけ出して、各イベント別にサービスオブジェクトを作るため、このように多数のオブジェクトが生成されることになります。
さて、今自動で作って配布したウェブサービスが動作するのかを見てみましょうか?先に3階層アーキテクチャで再びパッキングしておいたユーザー端末用プログラムをスマートフォンで実行して 実際のデータを入れてみます。合わせて入力したデータが、本当にDBサーバーの該当テーブルに記録されているかについても見てみましょう。 入力したデータがこのように正常にデータベースに保存されていることが確認できます。
たとえスマートメーカーが提供した人工知能エンジンによって自動で作られたオブジェクトであれ、このオブジェクトは産業標準規格である XML Webサービスで作られました。 そのため、C、Java、Javascriptなど他のプログラム言語を使う人々も、この WebサービスをRESTful方式で呼び出し、多様なアプリを具現化できます。
最後に、さきほど実装したアプリを、スマートメーカープラットフォームで提供する基本技術であるネイティブアプリ方式ではなく、 Webアプリ方式で配布して、運営する方法についても説明します。
今まで説明してきたものとは異なり、Webアプリ方式は事前にユーザー端末機に当該アプリプログラムモジュールをダウンロードしてインストールする手続きなしにウェブブラウザ上でサービスしてくれるウェブサイトのアドレスを入力するだけで、該当プログラムを呼び出して実行できます。
したがって、DB サーバーに必要なデータベースの構築作業やAP サーバーで動作するウェブサービスの実装作業は、 先に述べた ネイティブアプリサービスを構築する方式や手順と全く同じです。 それで、各ユーザー端末にインストールされるUI/UXプログラムの役割を担うWeb UI/UXプログラム機能のみ具現化すればいいです。
ウェブUI/UXを生成する方法も先に説明したジェネレーターを活用して行います。 制作ツールメニューから、配布を選択し、その下位にあるウェブサーバー配布メニューを選択します。
このように配布するAPサーバーのアドレスを入力して、 先に,GUI方式でデザインしたフォームを,一括選択した後,下段にあるボタンを押します。 その次の手順は、ウィザード画面にしたがって、進めていけばいいです。 このような簡単な方式で人工知能エンジンが、W3Cが制定したウェブ標準規格に従って、UI/UXモジュールをHTML5およびCSS3とJavascriptなどウェブサービスに必要なすべての要素に自動変換や生成処理をします。
もう配布作業が終わったので、当初指定したサーバーのURLにアクセスして、該当アプリを実行してみましょうか?もちろん先にフォームをデザインする時、スマートフォン用アプリとして制作したので、当然PC画面には似合いませんが、データを入力したり検索する機能はウェブブラウザ上で正常に作動することを確認できます。皆さんはスマートフォン、タブレットなど自分のモバイル機器で使用するブラウザを利用して、実行してみてください。
スマートメーカーのプラットフォームでは、Webアプリの場合でも、クロスブラウジング機能を支援し、このようにノーコーディング方式で制作したコンテンツもクロームやエッジ、インターネットエクスプローラ、Firefoxなど多様なブラウザで正常に実行できます。
スマートメーカーのプラットフォームでは、アプリだけでなく、ホームページ、ショッピングモールなどの一般のウェブサイトおよびウェブコンテンツはもちろん、強力なアニメーションや音声および映像認識処理などを伴うデジタルブックの制作も、やはりノーコーディング方式で実現できます。このように制作されたコンテンツもすべてネイティブアプリ方式で運営することもでき、開発者の選択によって、先ほどご覧になったようにWebアプリ方式で配布し、オンラインサービスに活用することもできます。
<目次>
第一講_ノーコード技術セミナー(C, Javaように自由度の高い新技術)
第二講 ノーコードでプログラムを制作する具体的な方法と手続き
第三講 親和性のあるUI/UX機能と繊細な処理ロジックを実現化
第四講 多様なユーザーのモバイル端末環境に合うようにパッキング
第五講 イベント処理のような動的機能や、複雑な機能と処理条件具現化
第六講 ノーコーディングソリューションでデータ照会及び分析類型のアプリ作成方法
第七講 3階層アーキテクチャの統合システム構築に必要なサーバプログラム具現化方式
第八講 大規模統合システム構築プロジェクトに、ノーコーディングソリューション適用の可能性