ãã®æçš¿ã§ã¯ãã°ãªãŒã³ã¹ã¯ãªãŒã³ã¢ããªã±ãŒã·ã§ã³ãšã¯äœããããããå¿ èŠãªçç±ãããã³èªåãã¹ããã©ã®ããã«è¡ã£ããã«ã€ããŠãç¬èªã®ãœãªã¥ãŒã·ã§ã³ãäœæããããšã§èª¬æããŸãã

AS / 400ãã©ãããã©ãŒã ïŒã¢ããªã±ãŒã·ã§ã³ã·ã¹ãã / 400ïŒã¯1988幎ã«èªçããŸããã ãã®ãã©ãããã©ãŒã ã®æåã®OSã¯OS / 400ã§ãåŸã«i5 / OSã«æ¹åãããããã«IBM iã«æ¹åãããŸããã å°ãåã圌女ã¯30æ³ã®èªçæ¥ãç¥ããŸããã
IBM iãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®äžã§ã®éçºã®äžçã«çªå ¥ãããšãããã¯å®éã«ã¯å€å žçãªæå³ã§ã®ãã¬ã¬ã·ãŒãã§ã¯ãªãããšãç解ããŠããŸãã ããã¯ç°ãªãããŸã£ããç°ãªãç°å¢ã§ãããéåžžã®WindowsãŸãã¯Unixã·ã¹ãã ã«ã»ãšãã©äŒŒãŠããŸããã ãã®OSã®äž»ãªã¿ã¹ã¯ã¯ããããæ©èœããæ©åšã§å¯èœãªéãçç£çã§ããããšã§ããããŠãŒã¶ãŒã«ãšã£ãŠäŸ¿å©ã§ã¯ãããŸããã
ç§èŠããã®OSã¯C ++ã³ãŒããæžãããã®éå¹ççãªã¢ãããŒããã©ãã»ã©å¹æçã§ãªããïŒCPUæ倱ã®æ倧æ°ååïŒãæç§æžã§ç€ºãããŠããã¢ã³ããã¿ãŒã³ã®ããã€ããå¹æçãªã³ãŒãã®ãã¹ããã©ã¯ãã£ã¹ã§ãããå·çæ¥ãšãœãŒã¹ã®ããã«ããªããçãããããšãã§ããŸã1978幎ã¯åé¡ãªãçµã¿ç«ãŠãããã ãã§ãªããèšèšã©ããã«æ©èœããŸãïŒ ããããã¹ãŠã«ããããœãããŠã§ã¢éçºãžã®ææ°ã®ã¢ãããŒããæ°ãã«èŠçŽãããšãã§ããŸãã
ã¯ããã«
éçºäžã®ãœãããŠã§ã¢ã®å質ãæ¹åããåé¡ã¯ãåéçºããŒã ã®å¿ãåºæ¿ããŸãã Misys Equationèªåãã³ãã³ã°ã·ã¹ãã ã®ã¢ãžã¥ãŒã«ã®Backéšåã®éçºãšéçºãæ åœããã¯ã¬ãžããããŒã ã®1人ãããã®ç¬éãåé¿ããŠããŸããã ãã®ABSã®ç¹åŸŽã¯æ¬¡ã®ãšããã§ãã
- ABSã®æåã®ããŒãžã§ã³ã¯ãCPF OS-ãå¶åŸ¡ããã°ã©ã æ©èœãã®äžã§ãå身ã®AS / 400-IBM System / 38ãã©ãããã©ãŒã ïŒ1978幎ã«ç»å ŽïŒã®äžã§æ©èœããŸããã
- 20äžçŽã®70幎代ããéçºãããŠãããåºçåã«æžãããã³ãŒãïŒå€ãã®å€ãã³ãŒãïŒã«åºãããããšããããŸãã
- ABSã䜿çšããæ©èœã¯ãIBM iãšã®ç·å¯ãªçµ±åã«ãããã®ã§ãããIBM iã®å·šå€§ãªåŸæ¹äºææ§ã®ããã倧ãã©ãããã®çºæã§èå€åŠè ãšããŠåããŠããããã§ãã

IBM iïŒããŽïŒ
Misys ITP Integratorã®æè¡ããã±ãŒãžæšæºããã±ãŒãžã«åŸã£ãŠããã®ABSïŒABSãªãã·ã§ã³ïŒã®ã¢ããªã±ãŒã·ã§ã³ãéçºããŠããŸãããã®ããã±ãŒãžã§ã¯ããªãã·ã§ã³ã¯ãšã³ããŠãŒã¶ãŒãšã®ç«¯æ«å¯Ÿè©±çšã®å¯Ÿè©±åããã°ã©ã ã§æ§æãããããã¯ã°ã©ãŠã³ãå®è¡çšã«ã€ã³ã¹ããŒã«ãããã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããŠAPIãå®è£ ããå¿ èŠããããšè¿°ã¹ãŠããŸãã
IBM iãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®äžã§éçºããããã®ãããªå¯Ÿè©±åããã°ã©ã ã¯ãæŽå²çã«ã°ãªãŒã³ã¹ã¯ãªãŒã³ã¢ããªã±ãŒã·ã§ã³ãšåŒã°ãããã®ABSã®ãŠãŒã¶ãŒã察話ããå¯äžã®UIã§ãã
ã°ãªãŒã³ã¹ã¯ãªãŒã³ã¢ããªã±ãŒã·ã§ã³ãšã¯äœã§ããïŒ
ç°¡åãªçãã¯ã次ã®ãããªã¢ããªã±ãŒã·ã§ã³ã§ãã

ãŸãã¯ãã ïŒ

ãªãã°ãªãŒã³ã¹ã¯ãªãŒã³ã¢ããªãªã®ãïŒ
æŽå²çã«ãAS / 400ãã¡ããªãŒã®äœããã³ãããã¬ã³ãžã·ã¹ãã ããã³ä»ã®IBMã¡ã€ã³ãã¬ãŒã ã§å®è¡ããããŠãŒã¶ãŒå ¥åãèŠæ±ã§ããå¯äžã®å¯Ÿè©±åã¢ããªã±ãŒã·ã§ã³ã¯ãã°ãªãŒã³ã¹ã¯ãªãŒã³ã¢ããªã±ãŒã·ã§ã³ã§ãã IBM iãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ïŒããã³ãã®å身ã§ããi5 / OSããã³AS400ïŒã§ã®ã€ã³ã¹ããŒã«ã管çãæ§æãããã³éçºã¯ãã°ãªãŒã³ã¹ã¯ãªãŒã³ã¢ããªã±ãŒã·ã§ã³ã®ã¿ã䜿çšããŠå®è¡ãããŸããïŒãŸã ã©ããã§å®è¡ãããŠããŸãïŒã
ç·è²ã®ç»é¢ã®ã¢ããªã±ãŒã·ã§ã³ã€ã¡ãŒãžã«ã¯ã24x80ãš27x132ã®2ã€ã®ãµã€ãºãš16ã®å¯èœãªè²ããããŸãã ãã®ã¹ã±ãŒã«å ã§ããã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®éçºè ãšãŠãŒã¶ãŒã®ã»ãšãã©ã®äœæ¥ãå®è¡ãããŸãã
ãã®ãããªç»é¢ãµã€ãºã¯ãããžãã¹ã³ã³ãã¥ãŒã¿IBM System / 32ãSystem / 34ãSystem / 36ãããã³System / 38ã®ããŒãšã³ãããã³ãããã¬ã³ãžã»ã°ã¡ã³ãããAS400ã®å é§è ã«æ¥ç¶ããããã¯ãŒã¯ã¹ããŒã·ã§ã³ãã®é²åã®çµæã§ãã ãããã®ã¯ãŒã¯ã¹ããŒã·ã§ã³ã¯ã¿ãŒããã«ãšåŒã°ããããŒããŒããšã©ã€ããã³ã®åœ¢ã®è¿œå æ©åšãåããéå±ã±ãŒã¹ã®ã¹ã¯ãªãŒã³ã§æ§æãããŠããŸããã æåã¯ãç»é¢ã®2è²ã®ã¿ããµããŒããããŠããŸãããç·è²ãšæããç·è²ã§ãããã®ããã確ç«ããããã¬ãŒãºãç·è²ã®ç»é¢ã¢ããªã±ãŒã·ã§ã³ãïŒè±æåŠã§ã¯ç·è²ã®ç»é¢ã¢ããªã±ãŒã·ã§ã³ïŒã䜿çšãããŸããã 1970幎代ã«ã¯ããµããŒããããŠããè²ã®æ°ã16ã«å¢ããŸããã

5251ãã£ã¹ãã¬ã€ã¹ããŒã·ã§ã³ã¢ãã«11
æãäžè¬çãªç«¯æ«ãªãã·ã§ã³ã¯ã5251ãã£ã¹ãã¬ã€ã¹ããŒã·ã§ã³ã¢ãã«1ïŒç»é¢ã«960æåïŒããã³ã¢ãã«11ïŒç»é¢ã«1920æåïŒã§ãå¹ /奥è¡ã/é«ãããããã530/400/400 mmã«çãããééã34 kgã§ããã ã¢ãã«1ã®ç»é¢è§£å床ã¯12x80ãã¢ãã«11-24x80ã§ããã 端æ«ã¯ããã¹ãã·ã¹ãã ã«çŽæ¥æ¥ç¶ãããŠããŸããã
端æ«5251ãã£ã¹ãã¬ã€ã¹ããŒã·ã§ã³ã¢ãã«2ïŒç»é¢ã«960æåïŒããã³ã¢ãã«12ïŒç»é¢ã«1920æåïŒãããããµã€ãºã¯45 kgã§ããã ãããã¯ããã¹ã¯ãããããªã³ã¿ãŒãŸãã¯å¥ã®ããã¢ããªã³ã¿ãŒãåããã¢ãã«1ïŒãŸãã¯11ïŒç«¯æ«ã®åœ¢åŒã§ãå®äŸ¡ãªã¯ã©ã€ã¢ã³ããããã¹ããã·ã³ãžã®ã¢ããã¹ããªãŒã æ¥ç¶èªäœãã転éãããå¯èœæ§ããããããã¢ãã«1ããã³ã¢ãã«11ãšåºå¥ãããŸãã ãããã£ãŠãã¢ãã«2ãš12ã¯ãããšããŠæ©èœãããã¹ããã·ã³ãžã®çŽæ¥æ¥ç¶ãå¿ èŠãšããããã€ã¹ãããã¹ããžã®æ¥ç¶ããããã·ããå€§å¹ ã«ã³ã¹ããããããŸãã
5252ãã¥ã¢ã«ãã£ã¹ãã¬ã€ã¹ããŒã·ã§ã³ã·ãªãŒãºã®ç«¯æ«ããçŸä»£ã®çŽ 人ã«ã¯çããããã§ãã

IBM System / 38 Equipment and Programsãã³ãã¬ããïŒ5252 Dual Display StationïŒã®ããã¢ãŒã·ã§ã³ç»å
ããªã³ã¿ãŒãæ¥ç¶ããã1ã€ã®ã¿ãŒããã«ãããã®äŸ¡æ Œã¯ãæ°åç±³ãã«ã«éããå¯èœæ§ããããŸãã
端æ«ã¯ãæ倧1 Mbpsã®äŒéé床ã®åäºéã¢ãŒãã®ãã¹ããããžã䜿çšããŠã ãã€ã³ã¢ãã·ã£ã«ã±ãŒãã«ãä»ããŠãã¹ããã·ã³ã«æ¥ç¶ãããŸããã ãã€ã³ã¢ã¯ã·ã£ã«ã§ãµããŒãããã端æ«ã®æ倧æ°ã¯æ倧6å°ã§ãããã¹ãããæãé¢ãã端æ«ã¯ã1500ã¡ãŒãã«ä»¥å ã®è·é¢ã«é 眮ããå¿ èŠããããŸãã
å端æ«ã®æ°ã¯ãã€ã³ã¹ããŒã«äžã«3ã€ã®ã¹ã€ããã«ãã£ãŠèšå®ãããããããã¹å ã§äžæã®ã¢ãã¬ã¹ã決å®ãããŸãã æ¢åã®å軞ãããã¯ãŒã¯ãååšããå Žåãäºè»žã±ãŒãã«ããå軞ã±ãŒãã«ãžã®ã¢ããã¿ãŒãšãå§ççšã®é©åãªã±ãŒãã«çµç«¯ã»ããã䜿çšããããšãã§ããŸãã ãã®ãããªæ¹åŒã§ã¯ãæ倧ã»ã°ã¡ã³ãé·ãæ倧30ã¡ãŒãã«ã®ãã¹äžã®2ã€ã®ããã€ã¹ã®ã¿ãæ¥ç¶ã§ããŸããã æ¥ç¶ãããããã€ã¹ã®åèšæ°ã¯ãã¢ãã«ã«å¿ããŠæ°ååããæ°ååãŸã§å€åããŸããã
ãã¹ã¯ãããã·ã¹ãã ãšã¢ã¯ã»ã¹ãããã¯ãŒã¯ã®éçºã«ãããããã°ã端æ«ã¯ã¯ãŒã¯ã¹ããŒã·ã§ã³ã«çœ®ãæãããããµãŒãããŒãã£äŒæ¥ã®ããŸããŸãªæ¡åŒµã«ãŒãããã¹ããã·ã³ãžã®ã¢ã¯ã»ã¹æ段ãšããŠäœ¿çšããããã€ã³ã¢ã¯ã·ã£ã«ãä»ããçŽæ¥æ¥ç¶ããµããŒããããŸããã IBMã1984幎ã«ããŒã¯ã³ãªã³ã°ãã¯ãããžãéçºããåŸããã®ã€ã³ã¿ãŒãã§ã€ã¹ãå«ãããã·ã³ã«ã¢ã¯ã»ã¹ããããã®ãœãããŠã§ã¢ãœãªã¥ãŒã·ã§ã³ãç»å ŽããŸããã

ISAãã¹ãžã®5250ã¢ããã¿ãŒïŒã¡ãŒã«ãŒäžæïŒ

Blackbox 5250ã¢ããã¿ãŒã«ãŒãïŒPC470CãPC471CãPC472CãPC473CãPC478CïŒ
MS-DOSããã³MS Windowsã®ãšãã¥ã¬ãŒã¿ãŒã¯ãIBMããã³OpenSourceå®è£ ïŒtn5250j.sourceforge.netãªã©ïŒãå«ããµãŒãããŒãã£è£œã®äž¡æ¹ããç»å ŽããŸãã90幎代åã°ã«ãTCP / IPã¹ã¿ãã¯ãäžäžã«ç»å ŽããŸããã -ç¯å²ããã³ããŒãšã³ãã®ããžãã¹ãã·ã³ã æ°ãããããã³ã«ãä»ãããã¹ãã¢ã¯ã»ã¹ããµããŒãããããã«ãIBMã¯5250ã·ãªãŒãºã¿ãŒããã«ãšãã¥ã¬ãŒã¿ãéçºããŠããŸãã
ãã¹ããããã³ã«ãäœæããããã«ãIBMã¯éçºäžã§ã
Telnetãããã³ã«æ¡åŒµïŒRFC 854ãRFC 855ãRFC 856ãRFC 860ãRFC 885ãRFC 1091ãRFC 1205ãRFC 1572ãRFC 2877ïŒãç·ç§°ããŠTelnet5250ïŒTN5250ïŒãšåŒã°ããã¹ããªãŒã ã®éåä¿¡ããã»ã¹ã説æããŸãæšæºTelnetãããã³ã«ãä»ãã5250ããŒã¿ã¹ããªãŒã ïŒ5250ããŒã¿ã¹ããªãŒã ïŒã

IBM Client Access / 400 for Windows 3.1ã€ã³ã¹ããŒã©ãŒ
IBM 5250ã®ç¹å¥ãªç¹ã¯äœã§ããïŒ
IBM 5250端æ«ïŒããã³ãããã«å¿ããŠTN5250ãããã³ã«ïŒã®æ©èœã¯ã ã·ã³ãã«æåã®éåžžã®* nix端æ«ãšã¯å¯Ÿç §çã«ããã®ãããã¯ã®åãã§ãã ããã¯ããã¹ãã端æ«ãšéä¿¡ãã5250ããŒã¿ãããŒãããŒã¿ãããã¯ã§éä¿¡ãããéä¿¡ããããããã¯ã®ã³ã³ããã¹ãã®ãªãå¥ã®ã·ã³ãã«ãæå³ããªããªãããšãæå³ããŸãã
ããšãã°ããã¹ããã·ã³ã¯ã衚瀺ãããéçæ å ±ãå ¥åãã£ãŒã«ãã®å±æ§ãšåº§æšãããã³ãã®ãããã¯å ã®ãªãã»ããã®è¡šç€ºãšãšãã«ç»é¢äžã«ããããŒã¿ãããã¯ã端æ«ã«éä¿¡ãããŠãŒã¶ãŒå ¥åã®çµæããã£ãŒã«ãã«æžã蟌ã¿ãŸãã ãã®åŸããã¹ããã·ã³ã¯ç«¯æ«ããã®ã¡ãã»ãŒãžãäºæãããŠãŒã¶ãŒå ¥åããã»ã¹ã«åå ããŸããã

IBM iãã¹ãRZKH.deïŒpub400.comïŒã®ãã°ã€ã³ç»é¢
ããã«ãã¿ãŒããã«ãšãã¥ã¬ãŒã¿ã®ã¿ã¹ã¯ã¯ããã·ã³ããã®ããŒã¿ãããã¯ã解éãããŠãŒã¶ãŒçšã®å ¥åç»é¢ã圢æããããšã§ãããŠãŒã¶ãŒã«ã¯ãèš±å¯ããããã£ãŒã«ãã«æ å ±ãå ¥åããæ©äŒãäžããããŸãã ãŸããã¿ãŒããã«ãšãã¥ã¬ãŒã¿ã®ã¿ã¹ã¯ã«ã¯ããŠãŒã¶ãŒã¢ã¯ã·ã§ã³ãžã®åå¿ãå«ãŸããŸãã F1-F24ããŒïŒF13-F24ã¯SHIFT + Fxãä»ããŠã·ãã¥ã¬ãŒããããŸãïŒãEnterãHomeãEndãPageUpãPageDnãããã³æè¿ã®ããŒããŒãã§ã¯äœ¿çšã§ããªããã®ä»ã®ç¹å¥ãªããŒã¯ããã¹ãããŒãšèŠãªãããŸãã ããã¯ããã®ããŒãæŒããšãå ¥åãã£ãŒã«ãããã®æ å ±ãšç»é¢äžã®ã«ãŒãœã«äœçœ®ã以åã«ç«¯æ«ãšãã¥ã¬ãŒã¿ã§æºããããã¹ããªãŒã ãããã¡ããåŠçã®ããã«ãã¹ãã«éä¿¡ãããããšãæå³ããŸãã

pub400.comã§ã®WIreshark 5250ããŒã¿ã¹ããªãŒã ãã°ã€ã³è©Šè¡ãã³ã
ãã¹ãã¯ãããã¡ãåä¿¡ããŠââ解æããå ¥åçµæã¯ãããã«ããŒã¿æ€èšŒã®ããã«ãŠãŒã¶ãŒã®å¿çãèŠæ±ããããã°ã©ã ã«éä¿¡ãããŸããã¢ããªã±ãŒã·ã§ã³ã¯ãæŒããããã¹ãããŒã®ã³ãŒããåä¿¡ããªããåäœãç¶ããŸãã
ãªãããã§èªåãã¹ããè¡ãã®ã§ãã
1ã€ã®ç»é¢ã§æ倧80ã®ç°ãªãããžãã¹ãã§ãã¯ïŒæ€èšŒïŒãçºçããå¯èœæ§ã®ããéçºãããã¢ãžã¥ãŒã«ã®äœçŸãã®ç»é¢ããã¹ãããå¿ èŠã«çŽé¢ãããšãã«ãã°ãªãŒã³ã¹ã¯ãªãŒã³ã¢ããªã±ãŒã·ã§ã³ã®æåãã¹ããèªååããããšãèããŸããã
ããŒã ãç¹ã«èŠåŽããã®ã¯ãç¬èªã®UIPathãœãªã¥ãŒã·ã§ã³ãé€ããã°ãªãŒã³ã¹ã¯ãªãŒã³ã®èªåãã¹ãããŒã«ã2017幎ã«ã»ãŒå®å šã«ãªãã£ãããšã§ãã ä»æ¥ã§ãåæ§ã®ãœãªã¥ãŒã·ã§ã³ã¯ããŸããããŸããããèè ã¯HelpSystemsã®AutomateãšBlazeMeterã®JMeteræ¡åŒµæ©èœãç¥ã£ãŠããŸãïŒä»ã®é¡äŒŒè£œåã«é¢ããæ å ±ãåãã§åãåããŸãïŒã
åé¡ã«é¢ããæåã®ç 究
éè¡ã®è·å Žã«ã€ã³ã¹ããŒã«ãããŠããTN5250端æ«ã®æšæºãšãã¥ã¬ãŒã¿ãŒã¯ãIBM Personal Communications for Windows 6.0ïŒPCOMM 6.0ïŒã§ãã ååã¯ããã®è£œåã«ã¯ãããŸããŸãªAPIã®åœ¢ã§ç®¡çãèªååããå®æçãªæ段ãããããšãçºèŠããŸããã
- é«ã¬ãã«èšèªã¢ããªã±ãŒã·ã§ã³ããã°ã©ã ã€ã³ã¿ãŒãã§ã€ã¹ïŒHLLAPIïŒã
- æ¡åŒµHLLAPI;
- Windows HLLAPI
- ãã¹ãã¢ã¯ã»ã¹ã¯ã©ã€ã¢ã³ãã©ã€ãã©ãªïŒHACLïŒã
æåã®3ã€ã®ã€ã³ã¿ãŒãã§ã€ã¹ã¯æãå€ããDOSããã³16ãããããŒãžã§ã³ã®WindowsãããµããŒããããŠããŸãã EHLLAPIã€ã³ã¿ãŒãã§ãŒã¹ã§ã®äœæ¥ã¯ã次ã®ãããã¿ã€ãã«åŸã£ãŠåäžã®é¢æ°ãåŒã³åºãããšã«ããå®çŸãããŸãã
long hllapi (LPWORD, LPSTR, LPWORD, LPWORD);
ããã§ãæåã®ãã©ã¡ãŒã¿ãŒã¯å®è¡ãããŠããé¢æ°ã®æ°å€ãžã®ãã€ã³ã¿ãŒã§ãããä»ã®2ã€ã¯åŒã³åºãããŠããé¢æ°ã«äŸåããåŒæ°ã§ãããæåŸã¯é¢æ°ã®çµæã§ãã ã€ãŸããæ¥ç¶ã¹ããŒã¿ã¹ãAãïŒãšãã¥ã¬ãŒã¿ãŒã®ã»ãã·ã§ã³ã«ã¯ãAããããZãã®ç¯å²ã®ã©ãã³æåã§çªå·ãä»ããããŠããŸãïŒãèŠæ±ããã«ã¯ã次ã®ã³ãŒããå®è¡ããå¿ èŠããããŸãïŒIBMææžããååŸïŒã
#include "hapi_c.h" struct HLDQuerySessionStatus QueryData; int Func, Len, Rc; long Rc; memset(QueryData, 0, sizeof(QueryData)); // Init buffer QueryData.qsst_shortname = 'A'; // Session to query Func = HA_QUERY_SESSION_STATUS; // Function number Len = sizeof(QueryData); // Len of buffer Rc = 0; // Unused on input hllapi(&Func, (char *)&QueryData, &Len, &Rc); // Call EHLLAPI if (Rc != 0) { // Check return code // ...Error handling }
ãã®æ¹æ³ã§åŒã³åºãããšãã§ããé¢æ°ã®æ°ã¯çŽ60ã§ãã
WinHLLAPIã€ã³ã¿ãŒãã§ãŒã¹ã¯ããã¹ããšã®æ¥ç¶ã®ç¢ºç«ããã¹ãããã®åæã端æ«ç»é¢äžã®ããŒã¿ã®å€æŽãªã©ã®ã€ãã³ãã«ã€ããŠéç¥ããããã«ãéåæåŒã³åºãã®ã³ãŒã«ããã¯é¢æ°ãç»é²ã§ããããã€ãã®è¿œå æ©èœã«ããããã®æ©èœããããã«æ¡åŒµããŸãã
ãã¹ãã¢ã¯ã»ã¹ã¯ã©ã€ã¢ã³ãã©ã€ãã©ãªïŒHACLïŒã€ã³ã¿ãŒãã§ã€ã¹ã¯ããåãååã®é¢æ°ããåŒã³åºãã®ãšã¯å¯Ÿç §çã«ããªããžã§ã¯ãæåã®ã¯ã©ã¹éå±€ã®ããªã¢ã³ããæäŸããããŠãŒã¶ãŒã¢ã¯ã·ã§ã³ãå®å šã«ã·ãã¥ã¬ãŒãã§ããããããããŠãŒã¶ãŒãã¬ã³ããªãŒã§ããããã«èŠããŸããã

HACLãšãã¥ã¬ãŒã¿ãŒã¯ã©ã¹ã©ã€ãã©ãªã¯ã©ã¹éå±€ïŒC ++ïŒ
C ++ãJavaãLotusScriptãããã³Windowsçšã®COMãªãŒãã¡ãŒã·ã§ã³ãµãŒããŒïŒVisual Basicããã³.NETã«äŸ¿å©ïŒçšã®HACLå®è£ ããããŸãã
æåã®ãããã¿ã€ã
5250ããŒã¿ãããŒãããã³ã«ã¯éåžžã«è€éã§ãããIBMã®æææåè³æãžã®ãªã³ã¯ãåããå éšããã€ã¹ã«é¢ããæ å ±ã¯éåžžã«å°ãªããããç¬èªã®ãšãã¥ã¬ãŒã¿ãŒã®éçºã¯éåžžã«ç°¡åã§æéããããããšãæããã«ãªããŸããã ããã«é¢ããŠãããã«ãŠã§ã¢ã¬ã€ã€ãŒã䜿çšãããšããã¢ã€ãã¢ãçãŸããŸãããããã«ãããç¹ã«ããã£ãŒã«ãã«å€ãå ¥åãããããç»é¢ã®äžéšãæšæºãšæ¯èŒãããããŸãã¯ããã¹ãããŒF22ãæŒãããªã©ãæäœéå¿ èŠãªæ©èœå ã§ã¿ãŒããã«ãšãã¥ã¬ãŒã¿ãŒãå¶åŸ¡ã§ããŸãã
以åHACLã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããŠããååã¯ãCOMãªããžã§ã¯ãã«å®å®æ§ã®åé¡ããããç¹å®ã®æ°ã®ã³ãã³ããå®è¡ãããåŸã«ãã³ã°ããå¯èœæ§ããããšäž»åŒµããŸããïŒãããŠStackOverflowã®æ€çŽ¢ã§ç¢ºèªããŸããïŒã èªååãµãŒããŒããã»ã¹ã®åèµ·åã®ã¿ã圹ç«ã¡ãŸããã JavaããŒãžã§ã³ã®ç°¡åãªåæãããWrapperã¯JNIãä»ããŠC ++ã€ã³ã¿ãŒãã§ãŒã¹äžã§äœ¿çšãããããšãããããŸããã ãããã£ãŠãéžæã¯C ++ã€ã³ã¿ãŒãã§ãŒã¹ã«å§ããããŸããã 察å¿ããããããŒãã¡ã€ã«ãš.libãã¡ã€ã«ã¯ãPersonal Communications For Windowsèªäœã®ã€ã³ã¹ããŒã«ãã£ã¬ã¯ããªã«ãããŸããã
æåã®ãããã¿ã€ãã¯Qt5ã«åºã¥ããŠãããQtScriptãä»ããŠJavaScriptã³ãŒããå®è¡ã§ããŸããã å®è¡å¯èœã¹ã¯ãªããã®ç°å¢ã§ããªããžã§ã¯ãã¯å°æ°ã®ã¡ãœããã§ç»é²ãããã¿ãŒããã«ãšãã¥ã¬ãŒã¿ãŒã§ã³ãã³ããå®è¡ãããŠãããã®ããã«å®è¡ã§ããããã«ãªããŸããïŒãã£ãŒã«ããžã®å ¥åããã¹ãããŒã®æŒäžãç»é¢ã«è¡šç€ºãããè¡ã®åŸ æ©ïŒã ã©ã€ãããã¢ããå®æŒããABS Equationããã°ãªãŒã³ã¹ã¯ãªãŒã³ã¢ããªã±ãŒã·ã§ã³ãèµ·åããããã®ãŠãŒã¶ãŒã±ãŒã¹ãã¹ã¯ãªããåãããã£ãŒã«ããžã®èª€ã£ãå ¥åã«å¯Ÿããã¢ããªã±ãŒã·ã§ã³ã®åå¿ããã¹ãããŸããã ãã¢ã§ã¯ããããã¿ã€ããæåããå ã«é²ãããšãã§ããããšã瀺ãããŸããã
é£äººã®å€èŠ³
æåã®ãããã¿ã€ãã®ãã¢ã³ã¹ãã¬ãŒã·ã§ã³ã«å ããŠãå¥ã®éšéã®ååã¯ãRuby + Cucumber + Quick3270 + Rubyã¢ãžã¥ãŒã«ïŒ cheeze / te3270 ïŒã®æããŸãšããŸããã ææ¡ããããªãã·ã§ã³ã§ã¯ãå°çšã®COMãªããžã§ã¯ãïŒHACLã€ã³ã¿ãŒãã§ãŒã¹ãšäºææ§ããªãïŒãä»ããŠDN32 Computing Quick3270ã¿ãŒããã«ãšãã¥ã¬ãŒã¿ãŒãšå¯Ÿè©±ããRubyã¢ãžã¥ãŒã«ã䜿çšããŸãã ããã¯ãBDDã¹ã¿ã€ã«ã®å®å šãªã°ãªãŒã³ã¹ã¯ãªãŒã³ã¢ããªã±ãŒã·ã§ã³ã®èªåãã¹ããœãªã¥ãŒã·ã§ã³ã§ãããããã€ãã®äºåã®æé ããããŸããã ããããææ¡ããããœãªã¥ãŒã·ã§ã³ã§ã¯ã次ã®ããšã«é©ããããŸããã
- IBM補ã§ã¯ãªããµãŒãããŒãã£è£œã®ææãšãã¥ã¬ãŒã¿ãŒã䜿çšããŸããïŒãã¹ãŠã®ãšãã¥ã¬ãŒã¿ãŒã®åäœã¯å°ãç°ãªããŸãããéè¡ã§äœ¿çšãããŠããæšæºçãªãšãã¥ã¬ãŒã¿ãŒã§åäœã確èªããå¿ èŠããããŸãããšã©ãŒã®äŸ¡æ Œã¯éåžžã«é«ãã§ãïŒã
- Quick3270çšã®Cucumberã®æé ã®å®è£ ã§ã¯ãå€æ°ã®ã¹ãªãŒãã䜿çšããŠãã·ã³ããã®å¿çãåŸ ã¡ãŸããã
- èªååã€ã³ã¿ãŒãã§ãŒã¹ãä»ããQuick3270ã®çç£æ§ã¯éåžžã«äœãïŒC ++ã€ã³ã¿ãŒãã§ãŒã¹ãä»ãããããã¿ã€ãã§HACLã䜿çšãããšãã¯ããã«åçã«èŠããŸããïŒã

Quick3270ã¿ãŒããã«ãšãã¥ã¬ãŒã¿ãŒ
ãããã¿ã€ãã«åºã¥ããŠãCucumberãPersonal Communications for Windowsã«æ¥ç¶ãããšãã¥ã¬ãŒã¿ãŒç»é¢ã§ã®ã¢ã¯ã·ã§ã³éã®ããŠã³ã¿ã€ã ãæå°ã«ãªãããã«ã¹ããããèšèšããããã«ãç¬èªã®èªååãµãŒããŒãå®è£ ããããšããããšã«ããŸããã
åæ çãªäœè« ã äžèŠæš¡ããã³ãšã³ã¿ãŒãã©ã€ãºããžãã¹ã¬ãã«ã®ã·ã¹ãã ã§æ¢ã«è§£æ±ºãããŠããã¯ãã®ãã¬ã¬ã·ãŒããšæãããIBMã«ã¯èšå€§ãªæ°ã®æè¡çåé¡ãããã«ãããããããæ¢åã®æè¡çãœãªã¥ãŒã·ã§ã³ã®é©å¿ãšç§»è»¢ã®åŠ¥åœæ§ã¯ãåã«ãã©ãããã©ãŒã ã«ååšããªãã å€ãã®å Žåããã®äžåšã¯ãã®OSã®æ©èœãã®ãã®ã«é¢é£ããŠããããã®ã¹ã¿ãã¯ã®ãœãããŠã§ã¢ã®å€§å¹ ãªæé©åãå¿ èŠãšããã¢ãã³* nixãWindowsãŸãã¯MacOS Xãšã¯æ ¹æ¬çã«ç°ãªããŸãã
èªåã®æ±ºæ
ç¬èªã®ãœãªã¥ãŒã·ã§ã³ãšããŠã以åã«å®èšŒããããããã¿ã€ãã®éçºãšããŠèªååãµãŒããŒãäœæããŸããã ãã®ãµãŒããŒã¯ãRPCãµãŒããŒïŒQt5 WebSocketïŒãä»ããæ¶è²»è ããã®å¯Ÿè©±ãèªååããã³ãã³ããå®è¡ããŸãã äŒæ¥ã®Windows OSã€ã¡ãŒãžã®äžéšã§ããPersonal Communications for Windowsãšå¯Ÿè©±ãã次ã®ããšãå¯èœã«ããŸãã
- ã¿ãŒããã«ãšãã¥ã¬ãŒã¿ã»ãã·ã§ã³ã®éå§/åæ¢ã
- ã¹ã¯ãªãŒã³ã¹ã¯ã¬ã€ãã³ã°ã°ãªãŒã³ã¹ã¯ãªãŒã³ãå®è¡ããŸãã
- ç»é¢äžã®å ¥åãã£ãŒã«ããæ€çŽ¢ããŸãã
- ã«ãŒãœã«ãå¶åŸ¡ããããŒã¹ãããŒã¯ïŒãã¹ããå«ââãïŒãã·ãã¥ã¬ãŒãããŸãã
- ãã®ä»

ãªãŒãã¡ãŒã·ã§ã³ãµãŒããŒãèµ·åãã
ãã ããHACL APIã®ãã¹ãŠã®å©ç¹ã«å¯ŸããŠã1ã€ã®æ¬ ç¹ããããŸã-çµã¿èŸŒã¿ã®DB2 for i DBMSãæäœããæ¹æ³ãããããããã¹ãã¹ã¯ãªãããå®è¡ããæš¡æ¬ç°å¢ãæ§ç¯ããããã«äžå¯æ¬ ãªã³ãã³ãã®å®è¡ãèš±å¯ããŸããã Rubyã®DB2ã¯ã©ã€ã¢ã³ããIBMã«ååšããå Žåããªã¢ãŒãã³ãã³ãããã³åæ£ããã°ã©ã åŒã³åºããµãŒããŒã®ã¯ã©ã€ã¢ã³ãã¯ã JTOpenã©ã€ãã©ãªã®åœ¢åŒã®Javaå°çšã§ããJavaã®IBM Toolbox for jt400ã®ãªãŒãã³ãœãŒã¹ããŒãžã§ã³ïŒ IBMã¯ãåæ§ã®æ©èœãåãã補åïŒç¹ã«ãWindowsããŒã¿è»¢éãiSeriesããPCãPCããiSeries転éãªã©ã®ããŒãœãã«ã³ãã¥ãã±ãŒã·ã§ã³ïŒã®åäœãåæããããšã«ãããIBMèªèº«ã§ãã®åé¡ã®è§£æ±ºçããèŠãèŠãããŸããã ãããã®è£œåã¯ãå®è£ ã«ãã£ãŠãã¢ããªã±ãŒã·ã§ã³ã®ããŒãžã§ã³ã«å¿ããŠIBM JRE 6ãŸãã¯8ãå®è¡ããjt400ã©ã€ãã©ãªã䜿çšããããšãå€æããŸããã
èªååãµãŒããŒã«ã€ããŠã¯ãåãããšãããããšã«ããŸããã JNIã¯ãIBM Personal Communications for Windowsã«å梱ãããŠããIBM JVMãèµ·åããŸãã ç¹å¥ãªã©ãããŒã¡ãœããã䜿çšããŠãå€éšããã®RPCãµãŒããŒããã®ã³ãã³ãã¯ãå¿ èŠãªjt400æ©èœã®åŒã³åºãã«ãããã·ããããšã«ããå®è¡ãããŸãã åŸè ã«ã¯DB2çšã®JDBCãã©ã€ããŒãå«ãŸããŠãããããããã䜿çšããŠIBM iäžã®DBMSã«ã¢ã¯ã»ã¹ããããšã«ããŸããã
HACLã䜿çšããå ŽåãOracle JVMã䜿çšã§ããªãããšã«æ³šæããããšãéèŠã§ãã ã¿ãŒããã«ãšãã¥ã¬ãŒã¿ã»ãã·ã§ã³ãå®è¡ããå Žåãä»®æ³ãã·ã³ã®ã€ã³ã¹ã¿ã³ã¹ãäœæããããšãããšã¯ã©ãã·ã¥ããŸãã åæ§ã«ãHACLãšå¯Ÿè©±ããããã»ã¹ã®ã¢ãã¬ã¹ç©ºéã§Oracle JVMãå®è¡ãããšã説æãªãã§HACLããã³ã°ããŸãã
æéãçµã€ã«ã€ããŠããœãªã¥ãŒã·ã§ã³ã¯ãŸããŸãå€ãã®ãžã§ãã«å®è£ ãããŸããã Quick3270ã䜿çšãããœãªã¥ãŒã·ã§ã³ãããé«éã«æ©èœããŸããã èªåãã¹ãã®åæ°ãå¢ããã«ã€ããŠã人æ°ãé«ãŸããŸããã ãã ããæäœäžã«è¿œå ã®åé¡ããããŸããã
- æã 端æ«ãããªãŒãºããŸãã
- ãšãã¥ã¬ãŒã¿ãŒãèµ·åãããŠãŒã¶ãŒã®ãã¹ã¯ãããããããã¯ãããŠããããRDPã»ãã·ã§ã³ããããã¯ãããŠããå Žåãã¿ãŒããã«ãšãã¥ã¬ãŒã¿ãŒãèµ·åãæåŠããããããªã°ã¬ãã·ã§ã³ã¹ã¿ã³ãã§äœæ¥ã§ããŸããã
- Windowsã®ã¿
- ããŒã«ã®ã€ã³ã¹ããŒã«ãæ§æãããã³æŽæ°ã®ããã®è€éãªæé ïŒmsiããã±ãŒãžçµç±ïŒã
- 130åã®èªåãã¹ãïŒçŽ4000ã¹ãããïŒã®ååž°ãµã€ã¯ã«ã«ã¯ã7ã8æéããããŸããã
äœãããå¿ èŠããããŸã...
é »ç¹ã«äœ¿çšãããã¹ãããã®ããã©ãŒãã³ã¹ã®ããã«ããã¯ãæ€çŽ¢ãããå€æ°ã®èªåãã¹ãèµ·åã®ãã¬ãŒã¹ãã°ãåæããããšã«ãããç·ååž°å®è¡æéã¯4ã5æéã«ççž®ãããŸããã ããããèªååRPCãµãŒããŒã®åœ¢ã§ããã«ãŠã§ã¢ã¬ã€ã€ãŒãHACLã€ã³ã¿ãŒãã§ã€ã¹ãšçµã¿åãããŠäœ¿çšââããããšã¯æããã§ãããHACLã€ã³ã¿ãŒãã§ã€ã¹ã«ã¯ãã·ã¹ãã å šäœã®ç¶ç¶æéãšãšãã«èç©ããããããŒãã£ã³ã°ããšã©ãŒãããããœãªã¥ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã®æ¹åã«ã¯åœ¹ç«ã¡ãŸããã
äžæ¹ãIBM Personal Communications for Windowsã®ä»£æ¿ãšããŠããã³ããŒã¯IBM i Access-Client SolutionsãšåŒã°ããã¯ãã¹ãã©ãããã©ãŒã ãœãªã¥ãŒã·ã§ã³ãæäŸããŠããŸãã

IBM i Access-ã¯ã©ã€ã¢ã³ããœãªã¥ãŒã·ã§ã³
åææ¥ãšæ¥ææ¥ã®æã«ã³ãŒããŒã飲ã¿ãªããå éšæ§é ãåæãããšããããã®ã³ãŒãããŒã¹ã¯IBM Host on-Demand ïŒIBM HODïŒãšåŒã°ããIBMã®å¥ã®è£œåã«åºã¥ããŠããããšãããããŸããã ããã¯ãJava 6ã§éçºãããIBM iã«ã¢ã¯ã»ã¹ããããã®æ¬æ Œçãªãœãªã¥ãŒã·ã§ã³ã§ãããIBMãã·ã³ã§äœ¿çšãããããŸããŸãªéä¿¡ãããã³ã«ïŒTN3270ãTN5250ãVTxxxãªã©ïŒã®å®å šãªå®è£ ã ãã§ãªããé«ã¬ãã«ã®Javaã¹ã€ã³ã°UIã³ã³ããŒãã³ããåããŠããŸããç¬èªã®ç«¯æ«ãšãã¥ã¬ãŒã¿ãŒãã³ã³ã¹ãã©ã¯ã¿ãŒã®åœ¢åŒã§äœæããããã«äœ¿çšãããŸããã³ã³ã¹ãã©ã¯ã¿ãŒã¯ãä¹ããIBMã®è³æããçµã¿ç«ãŠãããšãã§ããŸã IBM HODã®ãã詳现ãªèª¿æ»ã«ãããUIã³ã³ããŒãã³ãã¯HACLã€ã³ã¿ãŒãã§ãŒã¹ã®Javaå®è£ ã«åºã¥ããŠããããã®ããã¥ã¡ã³ãã¯å ¬éãããŠããŸãã ãããã®åäœã¯ãC ++ HACLããã¥ã¡ã³ããšã®ããããªéããšäžèŽããŸãã

IBM Host On-DemandïŒããŽïŒ
次ã«ãå éšã§äœ¿çšããJavaã©ã€ãã©ãªãäœæããŸãããããã¯ãC ++ RPCãªãŒãã¡ãŒã·ã§ã³ãµãŒããŒãšåãã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããŸãããå éšã§IBM HODã䜿çšããŸãã èªåãã¹ãæé ã®å®è¡äžã®ãªãŒããŒããããåæžããããã«ãRubyãªãã·ã§ã³ã«é¡äŒŒãããã¹ãŠã®æé ãåå®è£ ããŠãRuby Cucumberããcucumber-jvmã«ç§»è¡ããŸããã RPCãµãŒããŒã«äŒŒããœãããŠã§ã¢ã€ã³ã¿ãŒãã§ã€ã¹ãååšããå Žåãããã¯å€§ããããšã§ã¯ãããŸãããç¹ã«ãã¹ãããæ°èªäœã®å¶åŸ¡ãããªãæé·ãæå¶ããããšãããã®å€ã30åäœã®é åã«ãã£ãããšãèãããšã
çµæã¯äœã§ãã
ãã®çµæããã¹ãŠã®èªåãã¹ããå€æŽããã«æäœæ§ãå®çŸããäœæ¥é床ãéåžžã«é«ããªã£ããããã¹ãããéã«äººçºçãªé 延ãå°å ¥ããå¿ èŠããã£ããããèªåãã¹ããéçºãããšãã«ãã®äœæ¥ã確èªã§ããŸããããããªããšãUIãç»é¢ãæåŸãŸã§æç»ããæéããããŸããã§ããã
16,000ã¹ããã以äžã®æ¢åã®180åã®èªåãã¹ãã¯ãã¹ãããéã®é 延ã60ããªç§ã§ããã5æé30åã«å¯ŸããŠçŽ30åããããŸãããããã¯ãååž°ã¹ã¿ã³ãã®ããã©ãŒãã³ã¹ã®11åã®å¢å ã«çžåœããŸãã
çµæã¯ãã¹ãŠã®æåŸ ãäžåããŸããã TN5250ãããã³ã«ã®ç©ççãªéçã«è¿ã¥ããŠããŸãã
çŸåšãŸã§ããã®æ±ºå®ã¯éè¡å šäœã«å ¬è¡šãããŠãããä»ã®éœåžã®ååãæ¹åã«åå ããŠããŸãã æè¿ã®å€æŽã®äžã§ãååã¯ãœãªã¥ãŒã·ã§ã³ãJenkinsãšçµ±åãããã¹ãããŒãžã§ã³ã§ã¯ãXvfbã䜿çšããLinuxãµãŒããŒã§ã®èµ·åã®ãã¹ããå®äºããèªåãã¹ããå®è¡ãããã€ãããæäœã®æ®µéãéå§ãããŸãã
æåŸãŸã§èªãã§ãããŠããããšãïŒ
ãã¹ãŠæåïŒ
PS 2018幎12æã次ã®IBMi Developer Conferenceãéå¬ããããã®èšäºã®ãããã¯ã«é¢ããã¬ããŒããäœæãããŸããã
ãããŸã§ã¯ãéè¡ã®åŸæ¥å¡ã®ã¿ã察象ã«æ¯å¹ŽäŒè°ãéå¬ããŠããŸããã 2019幎ãããä»ã®äŒæ¥ã®åå è ãæåŸ ããŸãã å°éçããã³å人çãªã³ãã¥ãã±ãŒã·ã§ã³ã®èŒªãåºããææ ãç¥èãçµéšãå ±æããããšã¯éåžžã«èå³æ·±ãã§ãã