ホーム‎ > ‎Magic xpa‎ > ‎

Magic xpa 新連載概要


第148回 Angular プロジェクトを IIS にデプロイする(2)

2020/07/05 20:44 に Masanobu Tanda が投稿   [ 2020/07/05 20:46 に更新しました ]

第148回 Angular プロジェクトを IIS にデプロイする(2)

さて、前回の解説にて Windows Chrome および iPhone と Android 上で WebClient タスクが正常に動作するところまでを解説したのですが、まだこのままでは問題が残ります。この状態ではまだ、Microsoft の Edge と IE とで正常に動作しないのです。

Edge や IE で実行させようとすると、画面1や画面2のようなエラーが出てしまいます。

実はこれには正当な理由があり、それなりの理由で動作しないように Angular 側で初期設定がなされているためです。

今回は、その設定を変更する方法を解説するとともに、このプロジェクトを正式に Windows Server 上にデプロイしたときに起こりうるトラブルの解消法について解説していきます(後略)。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第147回 Angular プロジェクトを IIS にデプロイする

2020/06/04 19:53 に Masanobu Tanda が投稿   [ 2020/06/04 19:54 に更新しました ]

第147回 Angular プロジェクトを IIS にデプロイする

本連載の第140回(2019年10月31日号)から第143回(2020年1月31日号)までの4回に渡り、下記の通り WebClient 関連の解説を行いました。

第140回 WebClient リリース前夜(2019年10月31日)
第141回 WebClient のインストール(2019年11月30日)
第142回 WebClient プログラムの作成と実行(2019年12月31日)
第143回 APG による WebClient プログラムの作成と実行(2020年1月31日)

上記の連載により、Magic の開発環境において WebClient タスクを Node.js の仮 Web サーバ上でデバッグ実行させるところまでを確認したわけですが、この状態ではまだ Windows Server の IIS 上で正式稼働させるところまでは至っておりません。

最終的な目標は、Magic で作成したアプリケーションを Windows Server の IIS 上にデプロイし、クライアントの各種 Web ブラウザ(Chrome、Edge、IE、Firefox、Safari 等)や、さらには Windows 以外の OS(iOS、Android 等)からもアクセスできるようにすることです。

そこで今回は、デバッグ環境にある Magic プロジェクトと Angular プロジェクトを Windows Server の実行環境にデプロイするまでの手順と、様々なクライアント環境からアプリケーションにアクセスさせる方法について学んでいきます。

これが正常に動作するようになると、下図(画面1~画面5)のように各種 Web ブラウザや各種 OS からもプログラムを実行することが可能となります。

なお、デプロイされた実行環境には、もはや Node.js も Angular も必要ありませんので、Windows Server の IIS 単体 + Magic xpa(開発版もしくはサーバ版)だけで動作するようになります。

では早速、これらの手順について解説してまいります。

なお、本年3月に Magic xpa の4.6がリリースされましたので、それに合わせて本連載も Magic xpa 4.5a から Magic xpa 4.6 による記述となります(後略)。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第146回 富士通クラウド上に Windows インスタンスを作る(3)

2020/05/03 1:56 に Masanobu Tanda が投稿   [ 2020/06/04 19:54 に更新しました ]

第146回 富士通クラウド上に Windows インスタンスを作る(3)

すでに4月末となり、ゴールデンウィークを迎える季節になりましたが、新型コロナウイルスはまだその勢いを衰えさすことなく、私たちの生活に健康への不安と経済的な打撃をもたらしています。

IT 業界においては、ほとんどすべての企業がテレワークを併用した業務の遂行を余儀なくされている現状ですが、未来志向的な見方をすれば、こうしたシステムの在り方自体が働き方改革に貢献するチャンスでもあるといえます。

クラウドを活用した業務のあり方は、これを契機に世界的にも加速度的に発展するでしょうし、クラウド上で動作するアプリも、開発・実行の両面において急速な改革をもたらす可能性があります。

Magic + 富士通クラウドは、マジックソフトウェア・ジャパン社と富士通社が一丸となって推し進めているプロジェクトであり、時代の先端を担っているインフラでもありますので、ぜひともこの機会にその流れに乗じていただければと思います。

さて、前号までにおいて富士通クラウド上で稼働する Windows Server 2016へのログインを確認しましたが、Windows インスタンスの立ち上げは、まだこれで完了ではありません(後略)。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第145回 富士通クラウド上に Windows インスタンスを作る(2)

2020/04/05 7:43 に Masanobu Tanda が投稿   [ 2020/04/05 7:45 に更新しました ]

第145回 富士通クラウド上に Windows インスタンスを作る(2)

今現在、世界は新型コロナウイルスの影響で、地球上の誰しもが悲痛な思いに打ちひしがれています。それに伴って経済活動も停滞し、ビジネス交流やセミナー活動までが自粛を余儀なくされています。

幸いにも、IT 業界ではテレワークの活用が可能な分野が多く、多くの人が在宅での開発や事務処理に臨んでおられるものと思われます。

そこで弊社では、富士通クラウドに関する本連載を活用すべく、弊社主催のほとんどすべてのセミナーを、富士通クラウドを利用したテレセミナー(リモートセミナー)形式に置き換える作業に入りました。

これが実現すれば、セミナー受講者の方々が3蜜(密閉、密集、密接)による濃厚接触に陥ることもなく、自宅やオフィスに居ながらにして、安心して弊社のセミナーを受講していただくことが可能となります。

近々、その具体的な実施要項をご案内していきたいと思いますので、ご期待のうえ、今しばらくお待ちください。

それでは、本題のセキュリティグループの解説に入ります。

富士通クラウドにおけるセキュリティグループの設定とは、仮想サーバに対する外部からのインバウンドと、仮想サーバから外部に出るアウトバウンドのセキュリティ設定を意味します。市版のルータの定義を想像していただければ理解しやすいです。

前回の画面30にありましたように、富士通クラウドのデフォルトのセキュリティ設定は空白のままです。設定が何も無いということは、すべてのプロトコルが遮断され、インバウンドによるアクセスも、アウトバウンドによる操作も不可であるということになります。良い意味で言えばセキュリティが最強であることを表しますが、別の見方をすれば、まったく身動きの取れない状態にあるとも言えるわけです。

そこで、まず最初にセキュリティグループの設定を行い、業務に必要となる最小限のプロトコルを通すために、一部の制限を解除する(いわゆる一部のプロトコルを通すための穴を開ける)という作業を行うわけです。

ただし、セキュリティに穴を開けるという作業を行うわけですから、設定の仕方をまかり間違えると、外部からの不正な侵入を許すという結果にもなりかねますので、最新の注意を払いながらこの作業を行う必要があります。

では早速、セキュリティグループの作成に入ることにしましょう(後略)。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第144回 富士通クラウド上に Windows インスタンスを作る

2020/03/02 20:32 に Masanobu Tanda が投稿   [ 2020/03/02 20:32 に更新しました ]

第144回 富士通クラウド上に Windows インスタンスを作る

この原稿を書いている途中で、折りしもマジックソフトウェア・ジャパン社が富士通株式会社から2019年度の「Fujitsu Tech Talk AWARD」という賞を受賞したというニュースが舞い込んできました。

まさに、この賞にもありますように、「Magic + 富士通クラウド」は Magic で作られたアプリケーションを最小限の手間と環境で動作させるうえで、最強のコンビであることが立証されたものであると言えます。

従来は、Magic で作成されたアプリケーションをネットワーク上で稼働させようとすると、サーバ用のハードウェアや OS を取りそろえ、それを自前で管理するために神経をすり減らしてメンテナンスを行うというのが常でした。

そのような状況下にあって近年、富士通クラウドのようなクラウドサービスを導入することにより、メンテナンスの手間やコストが大幅に削減されるとともに、多くのトラブルも回避できるというメリットが少しずつ理解されるようになってきました。

現在、すでに IT 企業をはじめとして大規模システムを抱えるような企業では、多くのシステムがクラウド上に移管されつつありますが、Magic アプリケーションを稼働させる企業ユーザ、とくに中小企業のエンドユーザにおいては、認知率がいまいちであるという現実があります。

そこで本連載では、Magic ユーザである読者の皆様向けに富士通クラウドの利用の仕方についての具体的な導入・操作手順を、数回にわたり詳細に解説してまいりたいと思います。

なお、今回の解説では、Windows インスタンス立ち上げまでの手順については Magic のクラサバ、RIA、マージ、WebClient のすべての形態において共通です。アプリケーションの規模もわずか2ユーザの小規模システムから、数多くのユーザを対象とした大規模システムにまで応用が可能です。ぜひともこの機会にクラウドの利便性をご体験いただければと思います(後略)。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第143回 APG による WebClient プログラムの作成と実行

2020/01/30 22:57 に Masanobu Tanda が投稿   [ 2020/01/30 22:57 に更新しました ]

第143回 APG による WebClient プログラムの作成と実行

前号の手順にて、変数だけによる簡単な WebClient プログラムの作成と実行を学びました。今回は、実際のデータソースを使用した WebClient プログラムを、APG で作成して実行するというところまでを学びます。

変数だけのプログラムは、データベースにアクセスする処理がありませんので、ローカルの Web ブラウザ上だけで完結するプログラムです。ローカルだけで動作するプログラムは、一旦読み込んだあとは基本的にサーバとの通信が不要です。

これに対して、データソースを使用するプログラムは、レコードの読み込みや更新によるデータベースへのアクセスが伴いますので、通常は処理が大きく異なります。しかしながら、Magic の WebClient ではこの違いを意識することなく、Webブラウザ上で動作するプログラムを作成することができてしまいます。

では早速、実際のプログラムを作成してみることにしましょう。

まず、Magic の開発モード上でデータソースのデータを直接操作することができるように、動作環境の「実行モード」を「B=バックグラウンド」から「O=オンライン」に戻します(後略)。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第142回 WebClient プログラムの作成と実行

2020/01/03 22:37 に Masanobu Tanda が投稿   [ 2020/01/03 22:39 に更新しました ]

第142回 WebClient プログラムの作成と実行

さて、前号までの手順で、Magic xpa 4.5a にて WebClient プログラムを作成する環境が整いました。ここからは実際に、Magic のプログラムリポジトリ上に WebClient タスクを作成し、それをデバッグ実行するところまでの手順を解説していきます。

なお、この連載の第140回「WebClient リリース前夜」でも述べましたが、WebClient は Web マージと RIA の良いとこ取りをしたような構図となっています。とはいえ、最終的にはアプリケーションがインターネットリクエスタ(Mgrqispi.dll)とブローカ(MgBroker.exe)を経由して実行される点は3者ともに同じですので、それを念頭に置いて作業を進めていきます。

まずは簡単な WebClient プログラムを作成し、それをデバッグ環境にて実行させるところまでのプロセスを解説します。手順を誤ると、プログラムが正常に動作しない場合がありますので、慎重に操作してください。

※アプリケーションが完成して実行環境にデプロイされた暁には、アプリケーションの実行においては Angular も Node.js も不要となります。この両者は、アプリケーションの開発時においてのみ必要とされます。詳細は追って解説していきます。

はじめに、テスト用のプロジェクトを新規に作成します。Magic xpa 4.5a 開発版を起動し、いつも通り、「新規作成」ボタンを押して、新規プロジェクトの作成ダイアログを開きます(後略)。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第141回 WebClient のインストール

2019/12/02 22:58 に Masanobu Tanda が投稿   [ 2019/12/02 22:58 に更新しました ]

第141回 WebClient のインストール

Magic xpa 4.x 日本語版の初期バージョンは2019年12月24日(クリスマス・イブ)にリリースされる予定となっており、2019年11月に各地で開催された Magicians Meeting での発表によると、初期バージョンは 4.5a になるとのことです。

Magic xpa 4.5a には待望の WebClient 機能が搭載される予定で、前号でもお伝えしたように、Magic が Angular と連携して Web ブラウザ上でシングルページアプリケーションを実現するという、この業界でもかつて類を見ない画期的な構図となっています。

そこで今回は、この WebClient アプリを作成するうえで、あらかじめ必要となる外部ツールのインストール方法や環境構築について、本連載購読者の皆さんに徹底的に解説してまいりたいと思います。

例によって、Magic は他の言語の知識がまったく無くても、すぐれた業務アプリを構築できるという理念のもとに構成されていますので、Node.js や Angular の知識がまったく無くても、最新の Angular アプリが作成できてしまいます。Magic の RIA においても、Objective-C や Java のコーディング知識がまったく無くても、iOS アプリや Android アプリが作成できてしまったのと同じです。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第140回 WebClient リリース前夜

2019/11/04 1:16 に Masanobu Tanda が投稿   [ 2019/11/04 1:18 に更新しました ]

第140回 WebClient リリース前夜

まもなくリリースされる予定の Magic WebClient は、単に Magic の歴史を塗り替えるだけでなく、開発ツール業界全体の歴史を変えてしまう程のインパクトを秘めていると言えます。

今回は Magic xpa 4.x WebClient のリリースを目前に控え、その歴史をひも解きながら、なぜこの業界が今、あらためて Web アプリなのかを検証してまいりたいと思います。

1989年に日本で発売が開始された dbMAGIC V4 は、その後名称を Magic と改め、今年でちょうど30周年を迎えました。その間に Magic がたどった歴史は次の通りです。

 1989年 クライアント・サーバ(クラサバ)dbMAGIC V4
 1999年 Web・マージ(マージ)dbMAGIC V8
 2001年 ブラウザ・クライアント(ブラクラ)eDeveloper V9
 2006年 リッチ・クライアント(RIA)Magic V10
 2019年 Web・クライアント(WebClient)Magic xpa 4.x

この流れから分かるように、Magic は常に Web アプリを最終目標に据えて進化し続けてきました。その過程において、ブラクラだけは Java アプレットの衰退と、.NET Framework による RIA の登場で自然消滅した状態となっていますが、マージと RIA は現在もなお、Web アプリの先鋭として第一線で活躍しています。

ただ、マージは Web ブラウザ上で動作はするのですが、バッチタスクがベースであるため、インタラクティブなロジックの記述ができませんでした。これに対して RIA はインタラクティブなロジックの記述は可能となったのですが、クライアントは OS ごとに実行用の専用アプリの配布が必要でした。

そして、ここにきて登場する WebClient は、その両方の「良いとこ取り」を実現すべく、インタラクティブな記述が可能であるとともに、デバイスや OS に依存せず、HTML5 に対応した Web ブラウザさえあれは、いつでもどこでもその場で実行が可能になるという代物なのです。専用アプリのインストールすら不要です。

実は、その背景にはここ数年における Web アプリの環境の進化があります。その代表とも言えるのが、今回 WebClient で採用された Angular と Node.js です。Magic のタスクで定義されたインタラクティブなロジックは、Angular によるシングルページアプリケーションに変換されて実行されます。この連携は、他社のどのツールも成し遂げえなかった画期的なアイデアなのです。

つまり Magic は、時代の先端を行っているどころか、すでにそれを超越して活用レベルの域にまで到達してしまっているのです。これはひとえに、Magic 30年の履歴と、熱烈な Magic ユーザの支持に支えられてきた結果の賜物であると言えます。

ここでは、これらの流れを踏まえたうえで、WebClient を導入して完璧に使いこなすための心構えと、具体的な準備事項を連載購読者の皆さんにご案内して参りたいと思います。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第139回 RIA アプリケーション上で SQLite を使用した排他制御

2019/09/30 20:31 に Masanobu Tanda が投稿   [ 2019/09/30 20:36 に更新しました ]

第139回 RIA アプリケーション上で SQLite を使用した排他制御

SQLite は名前こそ「Lite」とはなっていますが、実際に使用してみると、「ライト」とは言い難いほどの高性能なリレーショナルデータベースであることが分かります。SQLite のデータベースファイルの最大サイズは140TB(テラバイト)で、Microsoft SQLServer Express 版の10GB と比較しても、その約1万4千倍の値となります。さらに、SQLite は現在、Android OS に標準で搭載されているDBでもあり、Google のお墨付きリレーショナルデータベースであるとも言えます。

Magic から SQLite を使用する場合、何が便利であるかのトップは、データベース用のエンジンを別途、インストールしたりメンテナンスしたりする手間が不要であるという点です。Magic 本体に組み込まれた SQLite 用のゲートウェイがすべてをこなしますので、DB エンジンへの接続設定も不要です。データベースファイルの管理も Magic の Project フォルダ単位で行えますので、移動にまつわるアタッチ・デタッチやバックアップ・リストア等の作業も不要となります。

ただ、Magic から SQLite を使用するに際して唯一、不便であるのが、デフォルトではマルチユーザアクセスに対応していないという点です。たとえば、Magicに標準添付されているサンプルアプリケーションはその大部分が SQLite を用いて動作するように設定されていますが、これらをマルチユーザ対応にしようとすると、若干のタスクロジックの変更が必要となります。

このタスクロジックの変更方法については、本連載の第92回(2015年10月号)~第97回(2016年3月号)で「データベース SQLite の使い方」と題して詳しく解説しています。ただし、その時点での解説はクラサバを中心とした内容でしたので、今回はこれを RIA で用いた場合の利便性についてまとめていきたいと思います。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

1-10 of 148