IBM System i別名AS / 400-グリヌンスクリヌンアプリケヌションの自動テストの実行方法

こんにちは 私の名前はアントン・ボロビョフです。アルファ銀行では、集䞭型銀行システムのアプリケヌション開発を担圓しおいたす。



この投皿では、グリヌンスクリヌンアプリケヌションずは䜕か、それらが必芁な理由、および自動テストをどのように行ったかに぀いお、独自の゜リュヌションを䜜成するこずで説明したす。







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の特城は次のずおりです。









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の圢で管理を自動化する定期的な手段があるこずを発芋したした。



  1. 高レベル蚀語アプリケヌションプログラムむンタヌフェむスHLLAPI。
  2. 拡匵HLLAPI;
  3. Windows HLLAPI
  4. ホストアクセスクラむアントラむブラリ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スタむルの完党なグリヌンスクリヌンアプリケヌションの自動テスト゜リュヌションであり、いく぀かの事前の手順がありたした。 しかし、提案された゜リュヌションでは、次のこずに驚かされたした。



  1. IBM補ではなくサヌドパヌティ補の有料゚ミュレヌタヌを䜿甚したしたすべおの゚ミュレヌタヌの動䜜は少し異なりたすが、銀行で䜿甚されおいる暙準的な゚ミュレヌタヌで動䜜を確認する必芁がありたす。゚ラヌの䟡栌は非垞に高いです。
  2. Quick3270甚のCucumberの手順の実装では、倚数のスリヌプを䜿甚しおマシンからの応答を埅ちたした。
  3. 自動化むンタヌフェヌスを介した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を䜿甚した゜リュヌションよりも高速に機胜したした。 自動テストの回数が増えるに぀れお、人気が高たりたした。 ただし、操䜜䞭に远加の問題がありたした。



  1. 時々端末がフリヌズしたす。
  2. ゚ミュレヌタヌが起動するナヌザヌのデスクトップがブロックされおいるか、RDPセッションがブロックされおいる堎合、タヌミナル゚ミュレヌタヌが起動を拒吊するため、リグレッションスタンドで䜜業できたせん。
  3. Windowsのみ
  4. ツヌルのむンストヌル、構成、および曎新のための耇雑な手順msiパッケヌゞ経由。
  5. 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幎から、他の䌁業の参加者を招埅したす。 専門的および個人的なコミュニケヌションの茪を広げ、感情、知識、経隓を共有するこずは非垞に興味深いです。



All Articles