N-Mail400の誕生から
ジェーイーアイエス株式会社
N-Mail400開発チーム
開発コンセプト
2005年に某大手印刷会社様にてSystem iAS/400)のデータ転送を行いたいという開発案件がございました。

早速調査に入ると、日本と海外拠点間でFAXや、人手を介したE-mailを使っている業務をITシステム化(データ交換)したいという内容でした。社内AS/400はセキュリティーサイト内に存在してセキュリティーが厳しく基幹システムとして社内ではプライベートIPで業務が運用されていました。

WEBSphere等のWEBアプリやHULFTFTPが検討されましたが、相手先(海外拠点)の回線インフラが不安定であるので、セッションをキープさせる運用は困難であるていう点と、「基幹業務サーバであるAS/400をインターネット接続する事はしたくない」とのお客様のお考えで、インターネットを使用するのであれば、最低IP-VPNで常時接続されているのが前提となりました。この時点で提案していたメーカーやSIerの多くは「こりゃー大変だ」と辞退や退散して行かれました。

弊社で色々な方法を検討しましたが、お客様が使用している業務端末PCには1つメールアドレスが配布されている事に着目しました。つまり、弊社ではこのメールアカウントに注目したのです。インターネットにはメールサーバだけ接続されていれば良いのです。ほとんどの企業には社内や社外に1つはインターネットに接続されたメールサーバが存在しています。つまり、同期した接続は回線の安定性が求められますが、異速度蓄積交換なら回線が不安定でもデータの損失が最小限に抑えられまる。そうです、メールサーバーをホップアップする方法をご提案したのです。

早速お客様にこのメールBOXを使用するアプリ「N-Mail 400」を提案しましたが、やはり「数万円のパソコンと数千万のAS400が同じメーラー機能で本当に使えるのか?」と当初は不安な様子でしたが、逆に考えると数百万のOSに、数万円のOSでも標準装備しているメーラー機能が付いていない事がむしろ変であるとご説明したのです。結局、幾らお客様に説明しても最後までAS/400に実装するN-Mail400はメールサーバーだと信じていらっしゃいました。

開発決定の決め手になったポイントは、「国内・海外拠点間を含めて、業務で運用しているE-mailが送れなかったり届かなかったりすることは?」とお尋ねすると、「昔は海外の中継サーバーが不安定だったが、最近では安定しているので、FAXで海外に出荷情報を送り、FAXで返信されてきた情報を5250業務画面から入力している業務にE-mailを使っている」との事でした。この時のお話でN-Mail 400が静かに開発スタートするトリガーとなったのです。(社員がPCのE-mailソフトを使い、データを添付してE-mailを送受信している業務をAS/400が自動でデータ添付してE-mail送信して、海外拠点のオペレータが入力したデータをAS/400宛にE-mail送信すると、そのデータをAS/400が受信して自動でDB更新する)

開発要件

1:PCサーバー等を外部に追加しない(AS/400 NATIVEで稼働する事)
2:現行のアプリとインターフェースするのはCLPCMD
3:海外との時間差があるので24時間運用が基本
4:時間指定による自動送信と自動受信にてDB更新
5:既存のメールサーバーを使用しAS/400 用にE-mailアカウントを1個追加
6:メールの内容は5250画面で見れる事
7:必要な部署にメールを同時配信可能である事
8:CC、BCC機能が必要(上層部への報告)
9:添付DBをCSVに変換する事

これらの条件からイメージ出来ることは、AS/400OUTLOOKの様なメーラー機能があれば可能である事が判明しましたが、インターネットの世界はASCIIコードやUnicodeです。しかし、AS/400EBCDICコードですのでコード変換が大変である事が判明しました。実際開発してみるとRFC準拠で安定稼動させるまでに大変な時間と努力が必要でしが、苦労の甲斐があって2006年から発注者様(大手印刷会社)にてカットオーバーが出来ました。それまでの手間が大幅に省略され、リアルな出荷指示による売上げ確定をE-mailにより社内同時報告する形で実現できて、大幅な業務効率アップになったと高い評価を頂きました。


環境問題

弊社は以前から環境問題に取り組んできたが、N-Mail 400を開発するにあたり、業務効率アップ以外にも貢献できる事が分かってきました。それはISO14001に関する環境リサイクルです。森林伐採によるCO2の削減効果を妨げる事に懸念をしておりましたが、長年このIT業界に携わっておりますが、印刷問題を軽んじていた事に気付いたのです。

はたして何千ページにも打ち出すストックフォームの印刷物は何に使うのだろうか?
(最終的にはマイクロフィルムやイメージリーダーにより電子文書化するのであれば…)

チェックリストやハードコピーを印刷してその用紙はどうなるのだろうか?
(情報漏えい対策でシュレッダーするのであれば…)

AS/400には印刷(SPLF)という概念がありまが、N-Mail 400には印刷するという概念(電子文書化する概念です)はありません。つまり情報は紙媒体である必要が無いと考えます。照会業務や検索業務の結果も印刷する必要が無いと考えます。

日常の業務を考えてみましょう。一人1台の業務端末PCがありますが、さてそのPCに表示されているのは?5250画面ですか?それともメール画面ですか? グループウエアの画面ですか?メール連絡やワークフロー画面がほとんどだと思いますが、N-Mail 400がある環境では、その画面にAS/400からのメールが届くのです。届いたメールを開いてみると、日報や月報や照会結果、適正在庫割れ等の情報等がメールで届くのです。SPLFTEXTHTMLに変換しメールに添付して送られて来るのです。CCBCCも可能で1帳票の情報を同時に複数の人に配布する事が可能です。それでもまだ全ての帳票印刷が必要でしょうか?(郵便する必要がある物等は別ですが…)

重要:N-Mail 400を実際の業務で利用するためには、お客様のアプリに合わせてコマンドやCLPの変更、既存アプリにない業務は新規でRPG開発する必要がございます。

その頃、あるN-Mail 400ユーザ様では夜間バッチの更新が終了した時点のCL内部ではCHGOUTQ OUTQ(NML037)が実行されていた…。

一般的には OUTQ(PRTxx)が普通ですが、(NML037)って何でしょう?

このN-Mail 400ユーザ様では、NML037は営業3課の部長、課長、係長など7名が登録されている配布リスト(メーリングリスト)なのです。当日の部課別の売上げ実績累計リストの配布先に設定していらっしゃいます。
翌日この7名がメールソフトを起動すると、すでに売上げ実績累計リストがメール添付されて送付されているのです。N-Mail 400は、7回もメールは送信しません配布先(TOCC)7名事前に設定しておくだけです。

最大、TO300CC300BCC300名で、1つのメールを最大900名に同報通信する事が可能なのです。それ以上必要な場合はメールサーバー内にメーリングリストを組んで頂く事で対応可能です。おおよそ10万人程度には送信可能と想定しております。

どの業界のどの企業でも、商品やサービスを購入して頂いたお客様は大切ですが、その感謝すべきお客様に、郵便コスト80円かけたお礼状を送る事はなかなか大変です。しかし今の時代、ITシステムを上手く利用している企業では「Thank youメール」をE-mailで送っていらっしゃいます。例えば、購入した商品の代金をコンビニで支払うと、10分後位で「Thank youメール」が携帯電話に届く様なシステムです。

AS/400を基幹業務に使っているからそんな「Thank youメール」なんて到底出来ないとあきらめてませんか?E-mailアドレスという概念は外立てのPCサーバやUNIXサーバに任せてAS/400と顧客コードで連携する手法しか無いと思っておりませんか?

N-Mail 400
を使う前提では、E-mailアドレスさえ管理されていればAS/400が「Thank youメール」や「督促メール」等をお客様にE-mail送信する仕組み作りができるのです。
印刷したお礼状を
80円の郵便コストを使って送る時代はもう終わったのです。N-Mail400環境があれば、印刷を必要最小限にする事ができます。


データ転送とコード

AS/400DBEBICDICコードで内部保存されております。しかし、PCやIAサーバーにデータを転送する前提はASCIIコードになるので、クライアントにコード変換を装備したクライアントアクセス等のWINDOWSへのアクセスがコード変換には役立った時代がありました。(HOST系への転送はコード変換を必要としません。)これらのコード変換は大変厄介です。2962の言語コードにCCSID5026CCSID5035がファイルやDDS単位で指定され、個別に属性が指定されているからです。


WEBツール

IBMにはWEBSPHERE(以下WAS)に代表されるWEB化ツールがあり弊社でも開発を行っております。

RFC準拠によるHTTPDWASAPLサーバとしての機能をJAVAによりコードされているSPECなのですが、AS/400内部でWASを作動させるべきか、外部サーバでWASを作動させるべきかで悩んだ時代がありました。

WAS自体はUNIXでのプラットフォームで開発されているのでIBMではAIX専用のAPLサーバーだったと考えるのが自然ですね。しかしALL IN ONEAS/400でもありますし、POWERチップは(System p AIXと同じ)これらWASのコードが動作しますが、本来EBCDICバイトマシンであるAS/400UnicodeWASを搭載する事は、パフォーマンスの問題から厳しいと考えてしまいます。やはりSystem p AIX WASを搭載してPHASEによる開発がベストだと思います。

AS/400の外部にWASサーバを立てれば、AS/400DBJDBCにて接続すると内部はコード変換の嵐になっている事はいうまでもございません。
OS4005.3以降ではこれらのアクセススピードが改善されましたが、それ以前のユーザー様はどうしたら良いでしょうか?

OS4006からはPOWER製品となりSystem p と統合されました。System iOSOS/400モードとなりました。
LPARで領域分割された区画はAIXOS400LinuxNotes等の区画で構成され、最近ではZENDAPHPで開発したインターネットサーバも登場しました。しかし一体CPW値はどの程度必要になるのでしょうか?1000CPW? 5000CPW

AS/400のユーザーアプリを開発する以前に、これらのCPW投資とWAS投資が前提になっているのは本当に合理的なのでしょうか?

またOS4005.4以下のお客様は、どうすればAS/400を安全にインターネット接続出来るのでしょうか?フロントエンドにSystem p AIXWASを動かし、そこで生成されたデータをJDBC(リアル)やHULFT(バッチ)にてAS400区画にデータ転送する方法がベストなのでしょうか?その投資額はかなり大きくなってしまいます。


メールツール

AS/400には標準でメールサーバーが搭載されている。しかしこれらのメール情報をPCメーラーからアクセスする事は出来ません。
「えっ、
OUTLOOKAS/400のメール見れないの?」と言われるでしょうが、本当です。

古い話ですが、LU6.2APPCアプリにSNADSがありました。SNDNETMSGRCVNETMSGコマンドがそうです。DIRE(配布登録簿)に登録されたユーザーにメッセージやファイルやスプールがAS/400を経由して送れたのです。この機能が機能拡張されTCP/IP環境にもSNADSがサポートされましたが、そもそもAS/400に存在するユーザー同士の情報交換でしたので、メールアドレスの管理はDIREにしか設定できないのです。

メールは送れますが、不特定多数のユーザーに送る場合はどうするのでしょう? 
TOが1名、CCBCCは無しの機能で、二人に送りたい場合はどうするのでしょうか?

また、メールを送れるようなパラメーターが標準コマンドに見受けられますが、結局
EXTPGMでユーザーがメールを送るPGMを書かなければならないのです。 OUTLOOKの様なメーラーは無いのでしょうか? SENDMAILの様なメールサーバーは無いのでしょうか?

メールコマンドはAIXに存在しています。メールアプリはPHASEで開発可能です。しかしこれらメール関連は全てSystem p AIX環境ですのでAS/400の環境ではどうするのでしょうか? SHELLCALLして環境を変えたとしても、送りたい文面や添付したいデータはAS/ 400環境にあるのですが?

そんな問題を解決したのがN-Mail 400です。

AS/400環境でメールクライアントとして機能しますので、文面もDBも扱い放題なのです。さらにN-Mail 400にはメールコマンダー機能(POP3+SMTP)があります。

メールコマンダーとは、あるメールをAS/400宛てに送ればそのメール内容からAS/400のアプリを起動して結果をメールで返してくれる機能なのです。例えばメールの件名に、WRKACTJOBと入力してメール送信すると、AS/400WRKACTJOBが実行されSPLFがメールにTEXTで添付されて送られてきます。今までの様に5250画面に返すのでは無く、SPFLをメールで添付しているのです。つまり、メールによりCMD実行やユーザー・アプリケーションCALLが可能で、これをメールコマンダー機能と呼びます。重要コマンドはユーザーIDPASSWORDが一致すれば実行させるといった使い方で、PWRDWNSYSIMMEDも可能です。


セキュリティー

N-Mail 400はセキュリティーに対してどうですか?」と良く質問されますが、どうやらメールサーバーと勘違いされる方が多いようです。

N-Mail 400はメールクライアントなのです。つまり、自分のメーラーを立ち上げた時に、迷惑メールやスパムメールが沢山存在するメールシステムは、受信拒否をメールクライアントでやってもキリがありません。むしろメールサーバーで迷惑メールやスパムメールの対策(除去)を行うのが一般的です


N-Mail 400はサーバ機能ではありません。クライアントソフトであり、OUTLOOK/400とでも思えば理解しやすいと思います。だたしユーザー個別のアプリケーションが付属している訳ではありません。

数千万円するファイアウォールでもハッキングは皆無ではありませんが、メールサーバーはパブリックIPをプライベートIPに変換する最強のファイアウォールでもありますので安心です。

添付ファイルにウイルスを仕込ませてクリックするとPCがウイルスに感染するという事がありますが、N-Mail 400では添付ファイルを解凍して1バイトづつASCIIからEBCDICに変換していますので、たとえウイルスであってもコード変換後には意味の無い文字列になってしまいます。
これら意味の無い文字列をデータとして扱い
DBに更新するので
DDSエラーになって破棄されてしまうのです。
PGM
CMDにしたくても単なる無効な添付データにしかならないのです。

10GBの添付データ等をAS/400宛てに送っても、ご存知の通り巨大添付はメールサーバに拒否されますので、AS/400宛てのメールBOXには届きません。


開発コスト

N-Mail 400についてユーザーアプリの開発を想定すると、基本となるモジュールはSMTP関連とPOP3関連です。
N-Mail400には、
DB=>SPLF=>添付するツール」も含まれてり、SAMPLESのソースコードも付属しています。核となるモジュールはコピー防止の為にソースコード(ILEC)は付属しておりません。(ロードモジュールのみ)

さて、実際の開発ですが、前提スキルはCLPILERPGRPG)のみです。メッセージはQTXTSRCに記述したりしてメッセージを組み立てます。これらもSAMPLESが付属していますので、簡単な教育でマスターする事が可能です。

System iAS/400)のCPW50CPWもあれば十分です。(お客様環境や運用方法による)QINTERは使いませんし、メール自動受信のJOBQBATCHに常駐しております。

一般的な
WEBアプリの開発&運用コストと比較すると1/5以下で実現可能だと思います。

N-Mail 400
をご理解頂く為に酒販業と自動車販売業のサンプルモデル(N-Mail400ライセンス購入時に付いております)を作りましたが、それぞれ0.5人月程度(設計&開発&テスト)でカットオーバーできました。


※上記記載されている会社名、製品名は、各社の商標または登録商標です。また記載内容は保証するものではございません。また予告無く変更される場合がございます。


Copyright(C)JBService k.k. All Rights Reserved.