AWS Arsitektur tingkat tinggi Blu Age Runtime - AWS Modernisasi Mainframe

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AWS Arsitektur tingkat tinggi Blu Age Runtime

Sebagai bagian dari solusi AWS Blu Age untuk memodernisasi program warisan ke Java, AWS Blu Age Runtime menyediakan titik masuk REST berbasis terpadu untuk aplikasi modern, dan kerangka eksekusi untuk aplikasi semacam itu, melalui perpustakaan yang menyediakan konstruksi warisan dan standarisasi organisasi kode program.

Aplikasi modern tersebut adalah hasil dari proses AWS Blu Age Automated Refactor untuk memodernisasi program mainframe dan midrange (disebut dalam dokumen berikut sebagai “warisan”) ke arsitektur berbasis web.

Tujuan AWS Blu Age Runtime adalah reproduksi perilaku program warisan (isofungsionalitas), kinerja (sehubungan dengan waktu eksekusi program dan konsumsi sumber daya), dan kemudahan pemeliharaan program modern oleh pengembang Java, meskipun penggunaan lingkungan dan idiom yang sudah dikenal seperti tomcat, Spring, getters/setter, fasih. APIs

AWS Komponen runtime Blu Age

Lingkungan AWS Blu Age Runtime terdiri dari dua jenis komponen:

  • Satu set perpustakaan java (file jar) sering direferensikan sebagai “folder bersama”, dan menyediakan konstruksi dan pernyataan warisan.

  • Satu set aplikasi web (file perang) yang berisi aplikasi web berbasis Spring yang menyediakan seperangkat kerangka kerja dan layanan umum untuk program modern.

Bagian berikut merinci peran kedua komponen ini.

AWS Perpustakaan Blu Age

Pustaka AWS Blu Age adalah satu set file jar yang disimpan dalam shared/ subfolder yang ditambahkan ke classpath tomcat standar, sehingga membuatnya tersedia untuk semua program Java modern. Tujuan mereka adalah untuk menyediakan fitur yang tidak asli atau mudah tersedia di lingkungan pemrograman Java, tetapi khas lingkungan pengembangan warisan. Fitur-fitur tersebut diekspos dengan cara yang seakrab mungkin bagi pengembang Java (getter/setter, berbasis kelas, fasih). APIs Contoh penting adalah pustaka Data Simplifier, yang menyediakan tata letak memori lama dan konstruksi manipulasi (ditemui dalamCOBOL, PL1 atau RPG bahasa) ke program Java. Guci tersebut adalah ketergantungan inti dari kode Java modern yang dihasilkan dari program lama. Untuk informasi selengkapnya tentang Penyederhanaan Data, lihatApa penyederhanaan data di AWS Blu Age.

Aplikasi web

Web Application Archives (WARs) adalah cara standar untuk menyebarkan kode dan aplikasi ke server aplikasi tomcat. Yang disediakan sebagai bagian dari runtime AWS Blu Age bertujuan menyediakan satu set kerangka kerja eksekusi yang mereproduksi lingkungan lama dan monitor transaksi (JCLbatch,,IMS...)CICS, dan layanan yang diperlukan terkait.

Yang paling penting adalah gapwalk-application (sering disingkat sebagai “Gapwalk”), yang menyediakan satu set titik masuk REST berbasis terpadu untuk memicu dan mengontrol transaksi, program, dan eksekusi batch. Untuk informasi selengkapnya, lihat AWS Blu Age Runtime APIs.

Aplikasi web ini mengalokasikan thread eksekusi Java dan sumber daya untuk menjalankan program modern dalam konteks yang dirancang. Contoh lingkungan yang direproduksi tersebut dirinci di bagian berikut.

Aplikasi web lain menambah lingkungan eksekusi (lebih tepatnya, ke “Program Registry” yang dijelaskan di bawah) program meniru yang tersedia untuk, dan dapat dipanggil dari, program lama. Dua kategori penting seperti itu adalah:

  • Emulasi program yang disediakan OS: JCL -driven batch terutama berharap dapat memanggil berbagai file dan database memanipulasi program sebagai bagian dari lingkungan standar mereka. Contohnya termasukSORT/DFSORTatauIDCAMS. Untuk tujuan ini, program Java disediakan yang mereproduksi perilaku tersebut, dan dapat dipanggil menggunakan konvensi yang sama dengan yang lama.

  • “Driver”, yang merupakan program khusus yang disediakan oleh kerangka eksekusi atau middleware sebagai titik masuk. Contohnya adalahCBLTDLI, COBOL program mana yang dijalankan di IMS lingkungan bergantung pada untuk mengakses layanan IMS terkait (IMSDB, dialog pengguna melaluiMFS, dll.).

Registri program

Untuk berpartisipasi dan memanfaatkan konstruksi, kerangka kerja, dan layanan tersebut, program Java yang dimodernisasi dari yang lama mematuhi struktur tertentu yang didokumentasikan. AWS Struktur Blu Age dari aplikasi yang dimodernisasi Saat startup, AWS Blu Age Runtime akan mengumpulkan semua program semacam itu dalam “Registry Program” yang umum sehingga mereka dapat dipanggil (dan saling memanggil) sesudahnya. Registry Program menyediakan kopling longgar dan kemungkinan dekomposisi (karena program memanggil satu sama lain tidak harus dimodernisasi secara bersamaan).

Lingkungan eksekusi

Lingkungan warisan dan koreografi yang sering ditemui tersedia:

  • JCLBatch -driven, setelah dimodernisasi ke program Java dan skrip Groovy, dapat dimulai dengan cara sinkron (pemblokiran) atau asinkron (terpisah). Dalam kasus terakhir, eksekusi mereka dapat dipantau melalui titik REST akhir.

  • Subsistem AWS Blu Age menyediakan lingkungan eksekusi yang mirip CICS dengan melalui:

    • titik masuk yang digunakan untuk memulai CICS transaksi dan menjalankan program terkait sambil menghormati koreografi CICS “tingkat lari”,

    • penyimpanan eksternal untuk Definisi Sumber Daya,

    • satu set pernyataan APIs reproduksi EXEC CICS fasih Java yang homogen,

    • satu set CICS layanan reproduksi kelas pluggable, seperti Antrian Penyimpanan Sementara, Antrian Data Sementara atau akses file (beberapa implementasi biasanya tersedia, seperti Amazon Managed Service untuk Apache Flink, Amazon Simple Quue Service, atau RabbitMQ untuk TD Queues),

    • untuk aplikasi yang dihadapi pengguna, format deskripsi BMS layar dimodernisasi ke aplikasi web Angular, dan dialog “pseudo-percakapan” yang sesuai didukung.

  • Demikian pula, subsistem lain menyediakan koreografi IMS berbasis pesan, dan mendukung modernisasi layar UI dalam format. MFS

  • Selain itu, subsistem ketiga memungkinkan eksekusi program dalam lingkungan iSeries -like, termasuk modernisasi layar DSPF (Display File) -ditentukan.

Semua lingkungan tersebut dibangun di atas layanan tingkat OS umum seperti:

  • emulasi alokasi dan tata letak memori lama (Penyederhanaan Data),

  • Reproduksi berbasis thread Java dari eksekusi COBOL “run units” dan parameter passing mechanism (CALLstatement),

  • emulasi flat, gabungan, VSAM (melalui kumpulan pustaka Blusam), dan organisasi Kumpulan Data, GDG

  • akses ke penyimpanan data, seperti RDBMS (EXEC SQLpernyataan).

Tanpa kewarganegaraan dan penanganan sesi

Fitur penting dari AWS Blu Age Runtime adalah mengaktifkan Ketersediaan Tinggi (HA) dan skenario skalabilitas horizontal saat menjalankan program modern.

Landasan untuk ini adalah tanpa kewarganegaraan, contoh pentingnya adalah penanganan sesi. HTTP

Penanganan sesi

Tomcat berbasis web, mekanisme penting untuk ini adalah penanganan HTTP sesi (seperti yang disediakan oleh tomcat dan Spring) dan desain stateless. Karena desain tanpa kewarganegaraan tersebut didasarkan pada hal-hal berikut:

  • pengguna terhubungHTTPS,

  • server aplikasi digunakan di belakang penyeimbang Beban,

  • ketika pengguna pertama kali terhubung ke aplikasi itu akan diautentikasi dan server aplikasi akan membuat pengenal (biasanya dalam cookie)

  • identifier ini akan digunakan sebagai kunci untuk menyimpan dan mengambil konteks pengguna ke/dari cache eksternal (penyimpanan data).

Manajemen cookie dilakukan secara otomatis oleh kerangka AWS Blu Age dan server tomcat yang mendasarinya, ini transparan bagi pengguna. Browser internet pengguna akan mengelola ini secara otomatis.

Aplikasi web Gapwalk dapat menyimpan status sesi (konteks) di berbagai penyimpanan data:

  • Amazon ElastiCache (Redis) OSS

  • Gugus Redis

  • di peta memori (hanya untuk pengembangan dan lingkungan mandiri, tidak cocok untuk HA).

Ketersediaan tinggi dan tanpa kewarganegaraan

Secara lebih umum, prinsip desain kerangka AWS Blu Age adalah tanpa kewarganegaraan: sebagian besar status non-sementara yang diperlukan untuk mereproduksi perilaku program warisan tidak disimpan di dalam server aplikasi, tetapi dibagikan melalui “sumber kebenaran tunggal” eksternal yang umum.

Contoh status tersebut adalah CICS Antrian Penyimpanan Sementara atau Definisi Sumber Daya, dan penyimpanan eksternal yang khas untuk mereka adalah server yang kompatibel dengan REDIS atau database relasional.

Desain ini, dikombinasikan dengan load balancing dan sesi bersama, mengarah ke sebagian besar dialog yang dihadapi pengguna (OLTP, “Pemrosesan Transaksional Online”) untuk didistribusikan di antara beberapa “node” (di sini, contoh kucing jantan).

Memang pengguna dapat melakukan transaksi di server mana pun dan tidak peduli jika panggilan transaksi berikutnya dilakukan di server yang berbeda. Kemudian ketika server baru muncul (karena penskalaan otomatis, atau untuk mengganti server yang tidak sehat), kami dapat menjamin bahwa setiap server yang dapat dijangkau dan sehat dapat menjalankan transaksi seperti yang diharapkan dengan hasil yang tepat (nilai pengembalian yang diharapkan, perubahan data yang diharapkan dalam database, dll.).