「SmartMaker」ソリューションは、ローコード、ノーコードを
挙げている他の技術とも
明らかな違いがありますが、
ほとんどの技術はGUIツールで機能を実装すると
コードに
変換してくれるものや、既に作られたコードモデュール、
テンプレートなどを
リユースするだけの方式を採択しています。
結局、コードの体系はそのまま維持しながら、コーディングを
手伝う方式に
発展したプログラムが多いです。しかし、コードと
コーディングに知識がない
一般人には意味がないことを
考えると、誰でもアプリを制作できる
「SmartMaker」は
コードとコーディング作業自体を完全になくした最初の
ソリューションです。
「SmartMaker」は一つのプログラム・モデュールを
構成する二つの核心要素で
ある「ロジック」と「機能」が
完全に分離するように設計しました。
従来の
ソフトウェア
工学
技術やプログラム・アーキテクチャとは全く別のアプローチで、
コーディング技術が持っている根本的な問題と、単純作業を
繰り返す
開発方式を改善する基盤を固めました。
実際、オフィスアプリのように誰でも簡単に使用できる
GUI方式のデザインツール
(次の2項を参照)を提供し、
コーディング作業なしで、どんな種類のプログラム・
ロジックも
簡単に実装できます。
また、アプリに必要な全ての機能を汎用化し、
これに基づくプラットフォーム
(次の3項を参照)を作り、
機能を事前に提供することで、どんなプログラムを
制作する時でも単純作業を繰り返す必要がなくなりました。
今日のアプリの有用性と適用効果を左右する
絶対的な要素は、
当該分野の
専門知識や経験といえます。
今までのプログラム開発は、適用分野の知識やノウハウが
全くない開発者が
担当者から受けた内容に従って作業してきました。ところが、このような
方式は、
ますます多様化、高度化している世の中で、内容をそのまま伝えるために
多くの
時間とコストが求められます。ある知識は内容を
はっきり伝える
ことができない
場合もあります。
それゆえ、これからのソフトウェア工学の発展にとって、単純に
コーディングを容易に
すること、または減らすだけでは十分では
ありません。最終的には、
当該分野の
専門知識やノウハウを持っている当事者自らが直接実装する
ように
発展するしかないでしょう。
2.豊かな経験と知識を持つ担当者が自ら要求を定義するツール
「SmartMaker」はプログラム技術の知識が全くない
人でも簡単に使える
要求定義ツールを提供しています。
自分が作るプログラムの画面と機能を
GUI方式のデザインツールを活用して誰でも簡単に作成できます。しかし、
約2%以下の複雑なルールとインタラクティブな動作手順は
GUI方式で
作成することは簡単ではありません。これは
自然言語スクリプトを利用して、
日常的に使かう日本語で
記述すると、AI制作エンジンが内容を分析して
プログラムを
制作してくれます。
要求定義中に人間が行う作業はプログラムの機能と画面を
簡潔に
表現することだけです。プログラムの適用効果と
有用性、アプリ自体の
完成度もこの作業で決定します。
「SmartMaker」はこのように重要な要求定義を、各分野で
豊かな経験と
深い知識を持っている担当者が直接できるように
SmartBuilderという
簡単な要求定義ツールを提供しています。
従来のコーディング方式の開発では、どのような機能を実装するかを決定する
時にも、まずそれを実装するアルゴリズムから頭の中に思い浮かべて、自分が
使用している言語やツールで実装が可能かどうかから検討し、その次に
開発
期間やコストを考慮して、プログラムの機能設計や開発の範囲を
決定して
きました。
しかし、「SmartMaker」でプログラムを作成する場合には、このような技術的な
問題やビジネス上の利害関係はすべてさておき、最終成果物の 効果、
価値など
プログラム自体に集中することができます。
人類がこれまで技術の問題であると考えてきたソフトウェアの
問題を、
「SmartMaker」が知識の問題に変えました。
以前までは技術的な実装の
可能性と開発期間とコストなどの問題を
実用的な価値、適用効果などの
問題でアプローチできるようにしています。
3.担当者の要求に基づいてプログラムを制作するAI基盤の制作ツール
「SmartMaker」でアプリを制作する時、
人が行う雄一の作業が
要求定義です。
要求定義ツールを利用して
制作したいアプリの画面構成と機能をデザインさえ
すれば、
作業の結果はプログラムの詳細機能、動作手順、実行条件など、
一つのプログラムを制作するために必要な全ての情報、知識が
一つの
ファイルに
含まれます。
一方、「SmartMaker」が提供するSmart Generatorを
活用すればロジック・
ファイルを分析してサーバー装置の
内部のアプリケーション・サーバー・ソリューション
(WAS)で
実行される演算処理プログラムはもちろん、DBサーバーの
入出力
機能や外部システムと連携機能まで業界標準のXML
Web Serviceとして
自動で実装します。
このようにロジック・ファイルは、ひとつのアプリが
含んでいる全ての機能構成と
動作シナリオ、業務処理
方法とノウハウまで全てが結集したナレッジバンク
(Knowledge Bank)の役割をします。ただし、そのプログラムを実際に実行する
機能は含まれていません。実行に必要な
機能は、次の4項で説明するアプリ
プラットフォームで、一括してサポートするようにプログラムの構造を革新した
ものです。
4.真の意味のノーコード技術を実現したアプリ・プラットフォームを提供
特に、このプラットフォームの革新的なコンポーネントであるATOM
は
その性格と動作方式が、これまでの
プログラム開発ツールとは完全に
異なります。
従来の技術は、繰り返されるコーディング作業を軽減するために、
ハードウェア
装置のコントロールや、OSのサービスの
呼び出しなど、一種のルーチン、
単位毎
の
機能を
オブジェクトの形で提供し、開発者はAPIを呼び出すコードを
追加する
方式でした。したがって、このようなオブジェクトは専門プログラマーだけが
使用
できる部品であり、
この部品の使用方法もコーディング作業で行うしか
ありませんでした。
アトムはそれ自体が実際に動作するプログラムの要素の
機能ですが、一方、
プログラムを制作するための要求
定義する段階ではデザイン要素としても
使われています。
アトムは誰でも見慣れているUIと機能を盛り込んでいます。
このような特性は次世代のSW工学で非常に重要な意味を
持ちます。
コーディングの知識が全くない一般人が初めで
プログラムの要求を定義する
場合にも、見慣れたデザインと
機能のおかげで、抵抗感や事前教育なしで
適応可能です。
自分が制作するプログラムに要求定義を素早く簡単に
できる、真の意味での技術的革新ともいえます。
5.OS毎のプログラム実行エンジンを提供して全ての端末に対応
今のソフトウェア業界で最も困難な課題の一つは、ユーザの
端末環境が
多様化しているという事です。有線通信基盤の
パソコンと無線通信基盤の
モバイルに両分し、また
モバイルはOSによってAndroidとiOSに
分けられます。
端末の画面サイズと目的によってスマートフォンと
タブレットPCに区分する場合もあります。モバイル
デバイスは同じ
サイズでも横と縦方向別にアプリの
UI構成と機能にも違いがあり、
開発方式と運営環境に
よるNative App方式とWeb App方式にも
分けられます。
したがって、プログラムを制作しサービスする供給者の
立場では、一つの
アプリケーションをこのように
様々な端末の環境とユーザのニーズに
合わせる必要が
あります。つまり、同じアプリを環境に合わせて制作し
重複したアプリを個々にメインテナンスすることになります。
制作するプログラムの対象と機能は爆発的に増加して
いますが、
限られた納期と予算を合わせるのも容易ではなく、必要な技術者の
養成と
確保することも非常に深刻な問題となっています。
実際一つのアプリの「ロジック」は、
どのOSやデバイスでも同じでなければ
なりません。
しかし、「機能」は、個々のOSやデバイスによって変わるしか
ありません。
これにより、「SmartMaker」は万能部品であるアトムと汎用
実行エンジンを
OS毎に開発し、Windows用、Android用、iOS用、Web Browser用を
それぞれ提供しています。
これらプラットフォームは開発環境や内部構造、
動作方式も
異なりますが、利用者が扱うUI&UX機能とデータの
入出力と
演算処理、通信ネットワークなどに関わる機能は
全く同じです。
したがって、別途に分離されたプログラム・ロジックを、この
プラットフォームの
内部実行エンジンに投入すれば、何の補完作業や変換過程もせずに完璧に
動作します。もちろん、実行エンジンは同じOSであれば、様々な種類の端末
デバイスも
自動認識して最適の実行環境を構築するレスポンシブ技術を
プラットフォームに採択することで、真の意味でのクロス・プラットフォーム技術を
実現しています。
作成日 : 2020.05.18
問題解決のために「SmartMaker」が採択した新技術
1.「機能」と「ロジック」を完全に分離した新しいアーキテクチャ
2.豊かな経験と知識を持つ担当者が自ら要求を定義するツール
3.担当者の要求に基づいてプログラムを制作するAI基盤の制作ツール
4.真の意味のノーコードを実現したプラットフォームを提供
5.OS毎のプログラム実行エンジンの提供で全ての端末に対応
これまでソフトウェア業界では、こうした技術的問題を解消するために多くの
試みが
ありましたが、一度作ったコードを、他のOSや開発環境への
互換技術や、
既に作成したモジュールを他の環境で実行する
エミュレータの開発作業も
繰り返してきました。どの対策も実用化までは
できませんでした。 Java、C、
Java script、Pythonなどのプログラム言語レベルの互換性問題は、
コーティングの技術的構造のため、おそらく永遠に解決できない課題として残る
可能性が大きいです。
しかし、「SmartMaker」は前述のように、プログラム言語とは全く異なる
アーキテクチャを採用しています。プログラムの基本的な構造をロジックと機能に
分けたので、全てののユーザーをサポートするOne Program Multi Usingという
クロスプラットフォーム技術を提供できます。
SmartMakerはアプリをコンテンツ化し、
知識やノウハウを共有可能
人類が解決すべき「SW工学の構造的な問題」
1. プログラムの「機能」と「ロジック」を完全に分離した新しいアーキテクチャ
この結果物を活用して、「SmartMaker」内蔵のAI制作エンジンが
実際の
プログラム・ロジックを完成します。制作エンジンは結果物を
分析して
プログラムの
実行に必要なデータベースの構成要素を
抽出します。
この構成要素に基づいて
データベースを設計し、
DBテーブルも作成します。
続いて結果物に定義された
機能を
分析して動作に必要なSQL文と、
レガシーシステムと連携機能も
自動で
構成して、最終的に実行可能な状態に
モデュールを完成し、
個別のファイル
(*.QPM 等)に保存します。
前述したように、人がGUI方式のデザインツールを利用して
要求を定義し、
AIエンジンがプログラム・ロジックに仕上げた
「ロジック」ファイルを読み込み、
まるでコーディングで作成された一般的なプログラムのように実行してくれるのが
アプリプラットフォームです。
プログラムを実行する「機能」は、利用者の操作に関する
PCデバイスを
起動させる
ことで、その種類も少なく、定型化も
できます。「SmartMaker」は
一般的な
アプリが動作するために必要な全ての機能を抽出して
標準化および
汎用化した
ATOM(アトム)という万能部品を提供します。
このATOMを束ね、どのアプリのロジックであっても解析して、動作に必要な
ATOMを順次呼び出し
実行させる汎用実行エンジン(Universal Execution
Engine)も
開発して、アプリプラットフォームとして提供しています。
アプリケーションのロジックを
実行エンジンが
一般プログラムのように実行させる
アナログをデジタルに表現することに最適化した
媒体であるアトム
一度の開発だけでNative AppとWeb Appを運用できるクロス・プラットフォーム
App、Book、Web コンテンツのビジネス価値を
最大化するOne Source Multi Use技術
一方、ロジックと機能を分離したアーキテクチャは、開発の生産性と
プログラムの
使用効果を最大化するクロス・プラットフォーム技術を
実現してくれる効果に加えて、
SW工学技術とSWの社会的役割の地位を
一層高めることもできます。
特に、機能を除去し、全てのプログラムをロジックだけをファイル、
DBデータの形で
管理できます。企業、学校、公共機関などの組織
内部で行われる購買、生産、
販売、R&Dなどの全ての業務活動の
知識やノウハウを体系的情報として蓄積でき、
蓄積したデータは
いつでも呼び出して実行すると、業務が処理されるデジタル管理
体制を
構築できます。それだけでなく、蓄積された知識やノウハウは簡単に
コピーでき、
改善も継続することができます。
一方、SW工学の技術的側面では、プログラムモデュールの個数と容量を
大幅に
削減でき、少ないインフラ投資でも高いパフォーマンスを
出すことができます。SW業界の
立場でも、難解なコーディング作業を
代行するだけの単純繰り返し作業から離れ、
顧客の生産性と競争力の
強化対策を研究し、実質的に問題を解決してくれる専門
サービス事業に
発展することもできます。
アプリは人類の知識やノウハウを
共有できる
最上の手段
様々なOSとサイズを完璧に対応する
クロス・プラットフォーム技術
しかし、「SmartMaker」で提供する「ATOM」は、最初から
一般人の観点で
設計されました。プログラムを制作できる
万能部品であるアトムを設計する
ために、ビジネスの現場で
使われている数多くのアプリを調査、
分析し、
プログラム画面を構成する単位を全部抽出し、
体系的に分類しました。
標準部品となる単位の種類を導出し
これらの標準化および汎用化の設計
過程を経て、万能部品の
アトムを制作しました。そして、5年に渡って様々な
アプリ開発
プロジェクトに適用し、検証と補完を続けて完成しました。
これらアトムだけを使っても詳細な機能とサービスを構成する
こともできるように
なりました。アトムの種類とアトムが
提供しているサービスを学習すると、どんな
アプリでも制作できます。
特にアトムは従来の技術とは違い、APIを提供していません。
SmartMakerは
コードとコーディングの概念そのままを完全に
排除したので、アトムをGUI方式の
デザインツールだけで
組み立て、複雑なロジックを含んでいるプログラムでも、
一行のコーディングなしで、素早く簡単に構成できます。
人が行う雄一の作業は、何をどう作るかの「要求定義」だけ。
SmartMaker
アプリ制作
ウェブ制作
電子書籍制作
AI活用連携
サービス構築
ソリューション概要
ダウンロード
無料ダウンロード
ライセンス発行
サーバーライセンス
使用ガイド
無料動画学習
教育教材
提携・協業
パートナーシップ
パートナーへの加入
コミュニティー
QnA掲示板
資料ライブラリ
ソリューション技術
制作ソリューション
サーバーソリューション
端末プラットフォーム
アーキテクチャ
技術トレンド
ノーコードセミナー
MyPage
SITEMAP