Tahapan pengembangan sebagian besar aplikasi dalam realitas modern terlihat hampir sama, terlepas dari apakah Anda menulis firmware untuk remote control dari AC atau meluncurkan drone di Mars. Namun, tantangan yang ditimbulkan oleh platform atau prioritas aplikasi bervariasi.
Saya ingin berbagi dengan Anda beberapa hal spesifik yang dihadapi tim saat mengembangkan aplikasi mainframe.
Debug
Saya tidak tahu mengapa, tetapi debugging aplikasi pada z / OS pada tahun 2021 berlangsung dengan cara yang sama seperti 30 tahun yang lalu. Debugger paling nyaman / kuat yang tersedia adalah debugger konsol XDC yang berjalan di z / OS dengan akses dari panel ISPF. Ini benar-benar keren, tetapi tidak ramah pengguna sama sekali dan tidak dapat disekrup ke IDE, yang membuat sebagian besar Jun menggunakan printf pada tahun pertama dan menghindari debugger (tetapi Anda tidak akan dapat menjalankan untuk waktu yang lama, lebih cepat atau nanti Anda harus melihat ke dalam mulut singa).
Ya, ada debugger dari IBM dengan IDE-nya sendiri, tetapi menurut pendapat pribadi saya, ini cocok untuk "Hello World!" proyek atau untuk proyek saku kecil.
Kode Warisan
, , , : . : HLASM (High Level Assembler) C++, .
.. , , Clean Code (2008) ... , Code Complete (1993).
, HLASM REXX, C, C++, PHP, Java . , , .
, , , . , : TSO, JCL, USS, ISPF, Datasets, JES, SDSF, SMP/E.
, , , -, .
, , .. , , , , , ..
Quality First
, , . Enterprise .
Scrum , - . , :
. , . , . , , 20% - .
, ( ). - , ( ), , , .
z/OS , / . z/OS 24, 31 64 , .. 24- , 31- 64-. (Key 0, SUPER MODE) .
: "A", "B", "A" , , "B" ( schedule SRB - Service Request Block), , "A" "A" .
"A" , , 15 , ? , (ABEND) - . , "A" z/OS ( , ). .. , LPAR, IPL.
, , (kill) .
" ?". - . , (DASD), , , () , . , , .
, - DASD , . , .
- PRIMEPSA, , , , 0xAA. ABEND , NULL , NULL.
- LPAR . CPU , LPAR .
(IPL) LPAR 1-2 , 1-2 .
, - , - , , , - , , NDA.
Stack Overflow . , . , ... 10 ... . , .
, .. , - .
, wiki, , . , , .
, , -, . - - , , , .. , , . , , .
, , , , , , , .
, Adabas z/OS , . , . , .
, ABC CCB, , . , , . , , .
, , , , , - ( ).
, , , , .
Secara umum, jika Anda pergi ke kantor (setelah dibuka, tentu saja) ke pengembang mainframe, Anda tidak akan melihat perbedaan yang kuat: scrum yang sama, rapat yang menyertai yang sama, IDE yang sudah dikenal, otomatisasi dengan Python yang sama, beberapa jenis UI web, tiket yang sama di Jira dan masih banyak lagi yang bisa dikenali. Saya pikir globalisasi dan keinginan semua perusahaan untuk bekerja secara efektif membuat segalanya serupa di mana-mana.