"AS400" の一覧

5250エミュレータが繋がらない

WRKACTJOBにてサブシステムの欄にQINTERが存在していないと、5250エミュレータが接続できない。開始するにはコンソール端末より下記のコマンドを実行する。

STRSBS QINTER

ただし、なぜ起動していないのかの原因を解決する必要がある。バッチ処理が異常起こしていたり・・・

AS400の開発環境(Rational製品)

AS400はSEUというCUIでの開発環境に加えて、「Rational Developer for i」というEclipseベースの開発環境がある。いつもSEUから新しい開発環境に変更しませんか?とメッセージを表示する割に不満な点がいくつかある。

  • 「Rational Developer for i」が30万円ほどする。
  • 購入するとDVDが20枚ほどあり、どれから何をインストールしたらいいかわからない。
  • サポート体制がSWMAとRational製品が分かれている。

まず、SEUが無料なのに「Rational Developer for i」が30万とは価格帯が違いすぎる。また購入してもインストールするDVDがわからず、導入する際にSWMAに問い合わせるとRatoinal製品専用窓口へ回される。これはIBMの窓口で統合されているSystem i(AS400)の利便性を大きく損なっている。というのも、Rational製品かSystem iのどちらの問題かわからない時、Rationalの担当者はSWMAで聞いてくれというたらい回しを実際に体験した為。

「Rational Developer for i」でできることは、

  • 英語大文字、英語小文字、漢字を混在して表示できる。
  • ソースメンバをテキストファイルとしてライブラリごとに一括ダウンロード出来る(ファイルはメンバごとに作成される)。
  • テキストファイルでダウンロード出来るので、ソース管理システム(私はSubVertion)へ登録ができる。
  • 表示桁数などに制限が無く、開発や照会時に見やすい。

この中でもテキストファイルとして保管できるのはありがたいです。SEU上でメンバ名に日付などを入れて管理している方にはには無用な機能かもしれません。tortoiseSVNのDiffや更新、便利なんだけどなぁ・・・

AS400のODBC性能比較520(P10)vs720(P5)

めったにないAS400のハードウェア更新があったのでODBC接続時の簡単な性能比較を実施。

image

 

ODBCドライバにはIBM System i Access for Windows V6R1を使用。クエリの内容はざっくりとしか記載していませんが、ばらつき調査も兼ねて似たようなクエリで取得元ファイルが異なるクエリを使用しました。見ていただければ判ると思いますが…体感でほとんど変わらない

 

クエリを投げてから帰ってくるまでの応答時間は約3倍高速化されているが、データの出力にかかる時間は1.2倍とほぼ変化なし。5250エミュレータ経由で720を使用すると、Page Downキーなどを連続で押しても画面の応答に遅れが発生しないといった分かりやすい効果がある。

よってハードウェアを更新するからといって過度の期待は禁物です。

QS36F

System36という、ずいぶん昔の仕組みで作られたプログラムはQS36Fというライブラリにしかアクセスできない。 また、近頃のiOS(AS400)では基本的にSystem36はサポートしない。プログラムを動かすのも有償オプションになっているとのこと。

アクセスできるライブラリが限定されることで、システムの移行やテスト環境を作ることが大変。 できるだけ早く移行したいと思いつつ、進まない・・・。

クライアントLPAR

AS400ではLPARと呼ばれる機能があり、ハードウェア上で複数のiOS(AS400)を稼働できる。その際にLPARとクライアントLPARとレベルの違いがあるらしい。※現在、LPAR使ってないので細かい事何も判らん状態の覚書です。

LPAR

二つの領域が並列で稼働するイメージ。CPU、メモリは共用になるが、HDDコントローラ、NIC(LAN)は共用不可。※テープなどはSWITCHコマンドで切り替えるらしい。

クライアントLPAR

メイン領域の上に構成されるゲスト領域の扱い。CPU、メモリ、HDDコントローラ、NIC(LAN)は共用できる。しかし、メイン領域が落ちるとゲスト領域も使用できない。

 

新システムと旧システム用の領域を作成して、段階的にシステム移行したい。CCSIDも1399(UTF8)に統一するとか。

AS400でのRAID1について

AS400でRAID1を構成する際のレベルの違いについてざっくりと。

DISKレベル

HDDの二重化。一般的なサーバーのRAID1構成と同じ。

I/Oレベル

HDDに加えてコントローラまで二重化する構成。

バスレベル

拡張ボックスにHDDを増設して・・・???良く判りませんでした。

 

そもそも拡張ボックスのイメージが無いのでバスレベルについては理解できず。他にも

  • HDDとかメモリ一括で管理して最適化してくれるからRAID1でOKなの?
  • AS400でRAID10ってどうなの?

な疑問あり。

89で先月を求める

AS400で年月を数値6桁で持っているテーブルで1月だと89引くという処理があり意味が分かりませんでした。実際に計算してみると、

201301ー89=201212

という結果にいろんな意味で驚きました。 「日付型に突っ込んでから一ヶ月前を求めればいいじゃん」というのは、例えるなら電子レンジで温めるのが普通になった現代人の状況でしょうか。

まず89引くと先月が求められるというのに驚きしたが、このような固定値が各ソースにベタ書きするというのが普通な時代の人たちと一緒に働くんだからどっちかが妥協しないとうまく行くはず無い・・・というのを再認識できました。

過度なPGMの共通化は控えましょう(そこ?)

AS400のデメリット(2) 昔はプロミングできればOKだった

AS400を運用することによるデメリットとして、人材確保が難しいという点を挙げましたがその背景には昔のプログラマ崇拝があるのでは?と思っています。1990年前後でシステム化といえば汎用機が主流の時代だったと思います。当時のIBMは導入した会社の担当者に講習でRPGを教育し、自社で必要なプログラムを作成してもらうというのが当たり前だったようです。結果として社内のシステムが特定の人(以後AS400専任者と表記)に依存し、

  • システムはAS400専任者しか触る事ができない。
  • AS400専任者の仕事を理解した上司がいない。(=やらなければならない作業がない。)
  • AS400専任者の機嫌を損ねると作業してもらえない。
  • AS400専任者しかできない仕事=AS400専任者の存在意義の向上という誤解。

といった悪循環が生まれがちであったような気がします。その結果、部下への業務引継ぎが「存在意義の低下」と感じて引継ぎ作業自体が行われない状況もあったようです。2000年前後になってシステムの重要性が高まり、部下が増えた段階でまだこの価値観を引き継いでいた場合は「新人を指導する」スキルを身に付けることができないと・・・あとがつらいですね。AS400専任者をどう活用するか?というのは多くの会社の悩みになっているのではないでしょうか。

※あくまで私の知る狭い範囲内でのイメージです。もし、ご意見などありましたらお気軽に書き込んでください。

オープン系の技術者が社内のシステムをどのように変更したいのかを考え、RPGやCOBOLで開発されたシステムのどこをどう直したいのかをまとめる。やりたい事を目標にしてAS400専任者に教えを請う・・・というのが一番の近道では?と今は思っています。

AS400のメリット(2) 古今折衷

AS400ではRPG、COBOLといった昔ながらの開発言語や手法が使用できる。さらにC言語、Java、PHPといった様々な開発言語と融合して一つの実行PGMにする事が出来る(らしい)。

らしいというのは、上記の機能を使うためには「前世代(RPG,CLOBOL)の知識と、現代(Java,PHP)の知識」が必要になる為で、私自身が理解できない部分が多いからです。幸いAS400にはSWMAと言われるハードウェアとソフトウェアのサポートがあるので、判らないなりに聞いてみるのが一番良いのでは無いかと思う。

参考までに、C#やVB.NETではiSeries AccessをインストールすることでiDB2Providerを利用して開発する事ができます。

AS400という機械で古今折衷とも言えるこのような機能を追加しつつ、安定性や互換性を維持しているという点がメリットとも言えると思います。オープン系の技術者の方も掘り下げていくことでAS400上で自分のノウハウを活かせる場があるのでは?

難点はネット上にも情報が少ない事でしょうか。

AS400のデメリット(1) 人材確保が難しい

AS400を継続して使用する事についてデメリットがあるとすると、まず人材の確保と思います。

20代前半でAS400の経験を持つ人材はまず無い。さらに現在利用している会社でも複数名で協業する体制や技術継承などがうまく行かないケースが多い。(この辺の原因はまた後日記載します。)しかもCVSやSubversionといったソース管理も無く、ただ日付順や連番が付いているソースがあるだけといった運用も結構メジャーな気がします。

オープン系の技術者視点からするとRPGやCLといった開発言語は難しくは無いのですが、オープン系と比較すると非常に読み辛く自分のスキル向上に繋がる実感が無く中々積極的に習得しようとする気持ちになりにくいと思います。私自身ががそうでした。

実際にはAS400の開発スキルは希少価値が高く、オープン系と組み合わせたら非常に再就職に強くなれるかもしれません(汗)。また、RPGやCLといった開発言語はハードウェア(AS400)が無いと習得できないというのも特徴です。

いまAS400がある会社で勤めている方は、可能な限りノウハウを吸収して理解を深めておくと将来役に立つのでは無いかと思います。また、AS400を使っている会社はソース管理や開発体制、教育体制についてあるべき姿を目指して少しずつ良くしていくと良いのではないでしょうか。特に教育に関しては社外での講習にお金を掛けるという選択肢も選べるように予算を確保しておくのは即効性があると思います。

新規でPGMを作る機会が無い!という場合はWeb化やオープン系に見せかけるミドルウェアの導入などを試してみるのも良いのではと思います。まずは、AS400で開発するのを定常業務へ組み込んでトラブル対応やいろいろを任せて行く事でRPGやCLの理解力の必要性を上げる事が重要かと思います。