_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

◇ さすがに春、良いことが ・・・・・・           第692
 ☆モバイルオフィスの作り方 ★
                                Vol.0692

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

□   春にはいいことが起こります
□   次の難題は・・・

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☆ 春にはいいことが起こります
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
さすがに春です。生けるものがすべて再生する春にはとってもよいことが起こり
ました。今回はPowerShellの話題です。

◇ PowerShellとで会うきっかけ
 PowerShellとはWin7のあたりからMicrosoftさんがOSに標準で付加したスクリ
 プト言語で、これが結構強力で何でも出来ます。
 
 私がPowerShellに興味を持ったのは以下のような経緯です。
 
 ・ HTML5に進むことに決めて、JavaScriptの高性能に驚く
 ・ HTMLの必要からPHPを学び、その高速性に腰を抜かす
 
 以上の経験から、もしかしたらスクリプト言語っていいんじゃない?ならうち
 のOSのスクリプト言語は??と言うのがきっかけでした。
 
 JavaScriptはOSに関係なく、ブラウザのVBAのようなものですが、現在のブラ
 ウザではほぼ100%の互換性があり、OSに関わらず1個プログラムを作ったらす
 べての場所で稼働します。
 
 私が業務システムとして作ったとあるプログラムはWindows用なのですが、Ip
 honeでもAndroidでもマックでもRasberry Piでも見事に稼働します。
 それもそこそこ高速です。
 
 PHPはUNIXのスクリプト言語のうちの一つで、ちょっと難解ですが、Pealほど
 ではなく、文献も豊富で私のような素人向けです。
 何より驚くのはその速度で、サクラサーバーが高速だと言うことを横にのけて
 もびっくりするほどです。
 私はデータベースエンジンを始め、すべてのサーバーサイドの仕組みをPHPで
 作りましたが、その安定性と高速性には舌を巻きます。
 
 しかも長いこと知らなかったのですがサクラサーバーのPHPの寿命は30秒で(伸
 ばすことは出来る)、どんなに思い処理も30秒以内でカタがついているわけで
 す。
 
 さて、そんな高速で安定した・・・しかも無料のスクリプト言語(コンパイル
 してマシン語化しないプログラミング言語)に出会ったのでWindowsはどうなん
 だろうと思ったのです。
 
◇ そしてPowerShellと出会う
 Microsoftさんが古いDos窓をやめてPowerShellというスクリプト言語を作った
 という噂は知っていました。
 
 上記のような事情でスクリプト言語の素晴らしさを知ったのでこれを試すこと
 にしたのです。
 私がプログラミング言語を試すというのは何かプログラムを作ってみると言う
 ことで、その中でも最高の大物である”SpeedServe”を作ることにしました。
 
 SpeedServeとはまだパソコン通信と2400bpsモデムしかない時代から遠隔地のP
 Cをサーバーにしてファイルの送受信をしたりするPC版のFTPサーバーとクライ
 アントのようなソフトで、MS-DOS並の機能は持っているのでこれを作ることが
 出来たら私が作りたいソフトは何でも作ることが出来ると考えたのです。
 
 仕様はよく知っていて(当たり前で歴代、様々なプログラム言語で何度も作り
 ましたから)、必要な機能をそのプログラム言語で探すことがほとんどの仕事
 なのですが、1ヶ月ほどで出来ました。
 
 そして分かったのです。
 PowerShellを使えば何でも出来る・・・・と言うことが。
 速度もまずまずです。
 
◇ しかしPowerShellは難解
 とはいうものの、PowerShellは私がそれまでに学んだどのプログラム言語より
 難解でした。
 前回も書いたように、日々使う比較演算子でさえ未だにインターネットで検索
 する始末です。
 
 しかもPowerShellとはMicrosoftの新世代のShellである.netフレームワークを
 操作するスクリプト言語ですから、ちょっと変わったことをするときには世界
 中のインターネットを駆け巡ることになります。
 (例)FTPサーバーにTLSを使って接続をするとか、暗号化したZipを操作すると
 か・・・
 
 そして、未だになぜそう書くのかは分からないものの、インターネットで教え
 てもらった構文を何度もテストをしてエラーと戦いながらもなんとか書き終え
 ると、それからは何年も安定して稼働しています。
 
◇ PowerShellのおかげで
 PowerShellについては未だに分からない構文もあり・・・(まあ・・動いてい
 るからいいか)ながら、その力は絶大です。
 
 ・ PrintServer
  UnixサーバーにFTP接続してプリントリクエストを探し、もしあればダウン
  ロードしてエクセルに渡して印刷を実現。
  これが機能しないとシステムが成り立たない。
 ・ BackUp
  お客様の会社の借りているデータ領域に深夜にアクセスして、今日書き換わ
  ったデータや追加されたデータを自社内の領域にバックアップ、そしてマナ
  ベにメールで報告。
  マナベはその数を数えてサーバーやプリントサーバーン健全性を確認してか
  ら寝る。
 ・ OneDriveへのアップと確認
  自社サーバーのデータをOneDriveとの同期場所に移動し、その後別のPCでOn
  eDriveにちゃんとアップできたかどうかを確認するのにPowerShellは必須。
  
 このように意図せずにだんだん仕事の真ん中あたりにやってきたPowerShellで
 すが、今回素晴らしい発見がありました。
 

◇ PowerShellで大当たり!
 この春の忙しい時期に、半日だけ時間の余裕が出来たので、現実逃避をしたい
 私は何気なくPowerShellの技術情報を探していました。
 
 探していたのはPowerShellでUNIXを操作する方法で、現在のようなFTPでファ
 イル操作をするだけではなく、もう少し直接操作できないものか・・・と言っ
 たことでした。
 そして発見したのです。
 
 https://minamino-heya.com/2019/08/postreq-with-powershell/
 
 このほかにもたくさんの情報があるのですが(難解なPowerShellの救いですね)
 これを参考に実験しました。
 
 私の使っているデータベースエンジンは自社製で、とてもシンプルなのですが
 PHPに様々なパラメータを渡すことでデータを検索したり登録したり出来ま
 す。
 そして見事に300レコードほどのデータを検索してきました。
 
 これが出来るとどんないいことがあるのか・・・ですが、
 
 A. 私どものサーバーサイドのプログラムはすべてPHPで書かれている
 B. PowerShellであるUNIXサーバーのPHPを実行できた
 C. PowerShellはその後、自身のPCにあらゆる操作ができる
 
 この3つの事実から、自身のPCからUNIX上のデータを操作できる・・・
 と言う結論になります。
 
 今まではHTML+JSでのみ操作できていたサーバーのデータを例えばExcelのVBA
 から操作できることになります。
 そしてExcelのVBAでもっともよい点は・・・・・プリントできるのです。
 

◇ まだまだ課題はあるのですが・・・
 まだ課題はたくさんあり、気の長い冒険にはなりますがここでの成果は・・
 旧大陸だった自身のPCのプログラミングと新大陸のUNIX上のデータがつながっ
 たことです。
 
 旧大陸では様々な問題もあり、新大陸に移動したのですが、そこにはそこ特有
 の問題もまだ存在します。
 この両大陸間を自由に?行き来できることは私にとったら世界が倍の大きさに
 なったことになります。
 
 どこに使うのかはこれからの課題で様々なことを検証しないといけないのです
 がそれでもデータのI/Oというもっとも重要な部分で両世界がつながったこと
 はとてもおめでたいことなのです。


これで何が出来るのか?どうよくなるのかはこれから検証しないといけないとこ
ろです。でも春らしいよい話題ですね。
(追加)
PHPにアクセスできたといっていますが実はその相手はPHPだけではなくPerlでも
RubyでもNode.jsでも何でもよくて、UNIXサーバーで稼働するプログラムにアク
セスできるようになったという話題です。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

☆ 次の難題は・・・
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
いきなり次の課題ですが、今度はいかにPCのプログラミングとHTML5を融合する
のか??と言うことですね。

◇ HTML5の最も優れている点
 これはそこに引っ越ししてから分かったことですが、HTML5の最優良点は環境
 に依存しないことです。
 
 近代的なブラウザが稼働し、インターネットに接続さえ出来たらいきなり私の
 プログラムは稼働します。
 稼働条件は”Yahooが見えること・・・”なのです。
 
 システム屋としてかなりのコストを必要とするのがお客様のPCの環境設定で
 す。環境設定といってもせいぜいランタイムをインストールしたり、ドライブ
 構成によって環境設定ファイルを書き換えたり程度なのですが、ちりも積もれ
 ばですし、何より現地に行かないと分からないことがたくさんあり、生産性が
 極端に落ちます。
 
 ところがHTML5のプログラミングはブラウザがそこそこ最新なら必ず稼働する
 と分かっており、気にしないといけないのはせいぜいお客様のPCのディスプ
 レーサイズ程度です。
 
 
 データはお客様にとっても私にとっても等距離で、お客様の会社のデータサー
 バーにアクセスして最新のデータを調査する必要もありません。
 
 要は極めてメンテナンス性がよいのです。
 
 その身近な例として、今年の1月から稼働し始めたフィリピンでのシステムの
 例があります。
 URLをメールで送り、IDやパスワードを伝え、マニュアルを苦手な英語で書い
 て送っただけで見事に立ち上がりました。

 そもそも英語が話せない私はマニラにメンテナンスで出張しても”信楽焼の狸
 の置物”程度にしか役に立ちません。
 

 このことは昔作っていたデスクトッププログラムでは絶対に出来なかった快挙
 です。
 
◇ 旧大陸のすぐれている点
 とはいえ、旧大陸のすぐれている点も見逃せません。
 例えば”月次売上一覧”を想像してみてください。
 
 月次の売上一覧はデータベースから指定の年月の売上を検索し、1ページごと
 に書式にはめて印刷すればすみます。
 極めてシンプルでExcelとVBAで作ればせいぜい1日あれば出来ますね。
 
 これをHTML5で作ると、それらしいフォームを作り、そこにデータ検索を加
 え、印刷直前までは1日か2日あれば出来るかもしれません。
 
 でもそれからプリントサーバーに印刷データを送り、その結果を受信する仕組
 みまで入れるととてももう1日ではすまないのです。
 
 要はたくさんある平凡な印刷システムなどは旧大陸の方が遙かにすばやく作る
 ことが出来るのです。
 
◇ 出来たら混在させたいが・・・・
 例えば高度な制御が必要な売上伝票などはHTMLで、比較的シンプルであり印刷
 もある出力システムはExcelで・・・・と言った混在をしたいところです。
 
 ところがこの両者はとっても不仲です。
 
 HTML5はセキュリティーの制約から一切ローカルな仕組みにアクセスさせませ
 ん。
 逆にローカルなシステムからHTML5のプログラムを起動することは出来ます
 が、最新の配信などメンテナンス性の問題で疑問が残ります。
 
 なんとかHTML5で出来たメニューからExcelが起動できないものか・・・と言う
 のが当面の課題です。
 また、Excelに活躍させるとバージョンの問題や環境の問題(UNIXやLinuxにはV
 BAの稼働するExcelはない)でせっかく広大な新大陸に足を踏み入れたのにまた
 先祖返りするのか??という問題も持っています。
 
 逆にExcelのVBAで作るプログラムはプログラマのビギナーでも作ることが出来
 るというとても大きなメリットもあるのです。
 何よりコストがとても安くてすみます。


新しい技術を手に入れたが何に使ったらよいかわからないという切実で贅沢なな
やみなのですがいったん発見した以上、必ず何かに役立てます。
しかもまだ予感のレベルですがこの発見はとても大きな意味を持っていると思い
ます。
━━━━━━━━━━━━━━━━━━━━━━ 
[モバイルオフィスの作り方]はサボのマナベが日々気づいたこ
とや思ったことをお天気の良い日の縁側に座ってポツリポツリと
お話しするようなマガジンです。
ご意見などもあることと思います。
もしご意見等がありましたらお寄せいただければ随時話題にして
いきたいと思います。
 
 
新規登録・解除はこちら
      ↓
http://sabot.jp/MailMagazine/Merumaga.html
==========================================
★発行責任者:
 (有)ファクトリー・サボ
  真鍋隆彦
 兵庫県神戸市垂水区東舞子町9-9
           マリタイム舞子501号
 Tel:078-787-3602 Fax:078-787-3619
 Mail:manabe@sabot.co.jp
 http://www.sabot.co.jp/
 ☆ソフトウェアーギャラリーに遊びに来てください
  https://secure3552.sakura.ne.jp/sabot.jp/Mitumori/
==========================================
 
◎このメルマガに返信すると発行者さんにメッセージを届けられます
※発行者さんに届く内容は、メッセージ、メールアドレスです
 
◎モバイルオフィスの作り方
  の配信停止はこちら
⇒ https://www.mag2.com/m/0000109792.html?l=ywj17bb991