Aracılığıyla paylaş


Raincode IMSql kullanarak IMS DC ve IMS DB'yi Azure'da yeniden barındırma

Azure Sanal Makine Ölçek Kümeleri
Azure Logic Apps
Azure SQL Yönetilen Örnek
Azure Sanal Ağ
Azure ExpressRoute

Bu mimaride, Raincode'un IMSql'ini kullanarak Azure'da bir Bilgi Yönetim Sistemi (IMS) ana bilgisayar uygulama iş yükünün nasıl uygulanacağı açıklanır. Bir IMS veritabanı (DB) uygulamasını buluta özel bir çözüme geçirmek, ilişkisel bir veritabanı uygulamasını geçirmekten daha karmaşıktır. Bu makalede, kritik IMS özelliklerine ve yeteneklerine sahip bir ana bilgisayar IMS iş yükünün Azure'da sorunsuz bir şekilde nasıl yeniden barındırılacağı açıklanır. Mevcut uygulamanızı çevirmeniz veya değiştirmeniz gerekmez.

Geçişten önce IMS DB/DC iş yükü mimarisi

Geçiş öncesi IMS DB/DC iş yükü mimarisini gösteren diyagram.

Veri akışı

Aşağıdaki veri akışı önceki diyagrama karşılık gelir:

  1. Kullanıcılar, TN3270 ve HTTPS gibi standart ana bilgisayar protokollerini kullanarak İletim Denetimi Protokolü veya İnternet Protokolü üzerinden ana bilgisayara bağlanır.
  2. İşlem yöneticileri kullanıcılarla etkileşime girer ve kullanıcı isteklerini karşılamak için uygulamayı çağırır.
  3. Uygulama katmanının ön ucunda, kullanıcılar IMS ekranlarıyla veya web sayfalarıyla etkileşime girer.
  4. Uygulama kodu, IMS DB (hiyerarşik) arka uç veri katmanının depolama özelliklerini kullanır.
  5. Tüm çevrimdışı büyük veri işlemleri toplu işler aracılığıyla gerçekleştirilir.
  6. İşlem işlemenin yanı sıra, diğer hizmetler kimlik doğrulama, güvenlik, yönetim, izleme ve raporlama sağlar. Bu hizmetler, sistemdeki diğer tüm hizmetlerle etkileşime girer.

Azure'da IMSql mimarisi

Azure'da IMSql mimarisini gösteren diyagram.

Bu mimarinin Visio dosyasını indirin.

İş Akışı

Aşağıdaki iş akışı önceki diyagrama karşılık gelir:

  1. IMSql terminal sunucusu

    Geleneksel olarak, şirket içi kullanıcılar anabilgisayar z/OS arabirimine bir IBM şirket içi terminali ya da terminal öykünme yazılımı aracılığıyla erişir. Binlerce kullanıcısı olan coğrafi olarak dağınık bir ağa sahip bir uygulama, herhangi bir terminal biçimi aracılığıyla ana bilgisayarlara bağlanabilir. Bir IMS Data Communications (DC) uygulaması dağıtılmış bulut tabanlı sistemde yeniden barındırıldığında, uygulamayı ve kaynağı merkezi olarak barındırmanız ve uzak istemci cihazları için yayımlamanız gerekir. Uygulamayı ve kaynağı Azure'da barındırmak ve yayımlamak için IMSql terminal sunucularını kullanabilirsiniz.

  2. SQL Server hizmet aracısı

    Ana bilgisayarda, IMS DC, mesajları bir kontrol bölgesinde ileterek ve işleyerek kullanıcı terminalleri ve uygulama programları arasındaki iletişim katmanını düzenler. Yeniden barındırmadan sonra, SQL Server hizmet aracısı bu zaman uyumsuz iletişim katmanını düzenler. Hizmet aracısı, ileti teslim çerçevesi aracılığıyla iletişimi etkinleştirir ve iletileri ayrı işleme sunucularına, geçerli kullanıcılara ve işlem işlemlerine ölçeklendirir.

  3. IMSql işleme sunucusu

    İşleme sunucusu, .NET Framework veya .NET Core'daki IMS programları için Raincode tarafından yeniden derlenmiş kodu çalıştırır. Yeniden derlenmiş programların doğru işlevsel eşdeğerlik ile etkili bir şekilde çalışmasını sağlayan temel altyapıyı içerir. IMSql işleme sunucusu, SQL Server'da Data Language/One (DL/I) çağrılarının yeniden derlenmesi sırasında oluşturulan dinamik sorgular ve çağrılan saklı yordamlar oluşturabilir.

  4. Hiyerarşik veri deposu olarak SQL Server

    Veriler, IMS'de hiyerarşik veriler olarak depolanır. IMSql, SQL Server'da aynı modeli kullanır. Bu model, IMSql'in ilişkisel veritabanlarının yüksek performansından yararlanmasına ve IMS'den hiyerarşik segmentleri mantıksal olarak uygulamasına olanak tanır. Ayrıca sistemin segmentlerle bağımsız olarak ölçeklenmesini sağlar. Segment verileri ham EBCDIC biçiminde depolanır, bu nedenle uygulama için dönüştürülmesi gerekmez. IMSql, hizmet olarak SQL platformu (PaaS) kullanarak Azure'ın sağladığı temel yüksek kullanılabilirlik ve olağanüstü durum kurtarma özelliklerinden yararlanabilir.

  5. DL/I API'yi çağırır

    IMSql API, ortak iş odaklı dil (COBOL) IMS DL/I çağrılarının eşdeğer SQL sorgularına çevrilmesini sağlar. Daha sonra verileri getirir ve beklenen biçimde uygulama programına döndürür. IMSql ayrıca, hiyerarşik veritabanı gibi oluşturma, okuma, güncelleştirme ve silme işlemlerini gerçekleştirmek için tablo kaydındaki program konumunu izler. IMSql, yoğun performans gerektiren DL/I çağrılarına yanıt vermek için derleme sırasında SQL Server'da saklı yordamlar oluşturabilir.

  6. Yağmur Kodu JCL

    Raincode iş denetim dili (JCL), Z/OS JCL ile uyumlu bir yorumlayıcıdır. Raincode JCL yorumlayıcısı, JCL'ye gömülü karmaşık iş mantığından Azure ve .NET Core platformlarına geçişi mümkün olduğunca sorunsuz hale getirir. Raincode JCL, Raincode COBOL, Programming Language One (PL/I) ve ASM370 derleyicileri tarafından derlenen kodu çalıştırmak için tasarlanmıştır. Çoğu dilde yazılmış adımları kolayca çalıştırabilir. Kullanıcı tarafından yazılan kodu uygulayarak yapılandırabilir ve ince ayar yapabilirsiniz, böylece toplu zamanlama için kendi gereksinimlerinize uyarlayabilirsiniz.

  7. IMSql veri görünümü

    IMSql, ilişkisel SQL görünümlerini kopya defterlerine veya kayıt düzenlerine göre tanımlar, böylece IMS segmentlerine herhangi bir Azure hizmeti ve yeni uygulamalar tarafından düz SQL deyimleri aracılığıyla erişilebilir. IMSql görünümleri de yazılabilir, bu nedenle modern uygulamalar SQL Server aracılığıyla IMS ile her iki şekilde de etkileşim kurabilir.

IMSql aracılığıyla veri geçişi

IMSQL aracılığıyla veri geçişini gösteren diyagram.

Veritabanı nesne geçişi

  • Özgün IMS DB veritabanı açıklaması (DBD) ayıklanır ve ana bilgisayardan aktarılır. IMSql, Azure SQL'de bir hedef veritabanı ve tablolar oluşturmak üzere SQL betikleri oluşturmak için DBD bilgilerini kullanır.

  • IMS DBD'deki her segment Azure'da bir tablo olarak çevrilir.

  • Tablolar bir anahtar alandan, arama alanlarından ve EBCDIC'de temsil edilen tüm IMS segment verilerinden oluşur.

  • IMS segment ağacı yapısı, Azure SQL tablolarındaki birincil ve yabancı anahtar ilişkisiyle korunur.

İlk veri yükleme

  • IMS DB'den alınan veriler, bir ana bilgisayar işi ve DFSRRC00 ve DFSURGL0 gibi yaygın olarak kullanılan indirme yardımcı programları aracılığıyla ayıklanır.

  • Dosya Aktarım Protokolü (FTP) ve Güvenli Dosya Aktarım Protokolü (SFTP) gibi Azure Data Factory bağlayıcılarını ve Unix Alt Sistem Hizmetleri üzerinde çalışan Java tabanlı bir çözümü kullanarak ayıklanan ikili dosyaları Azure'a aktarabilirsiniz.

  • IMSql, ilk veri yüklemelerini tamamlamak için yerleşik bir yükleme yardımcı programına sahiptir. Bu araç, SQL Server toplu kopyalama programı (bcp) yardımcı programını kullanır. bcp'nin çalışmasını ve tablolar arasında gerekli bilgi tutarlılığının beklenen hiyerarşik yapıyla eşleşmesini sağlar.

  • Bu geçiş, IMS DB'den gelen tek seferlik veri yükünü ele alır. Bir arada bulunma ve ilişkili veri eşitlemesini ele almaz.

Geçiş için veri akışı

Aşağıdaki veri akışı önceki diyagrama karşılık gelir:

  1. Ana bilgisayar ilişkisel olmayan veri deposunun (IMS DB) iki bileşeni vardır: DBD ve gerçek segment verileri.

  2. IBM yardımcı programları, IMS DB bilgilerini ayıklar ve kaldırır.

  3. DBD dosyası ve karşılık gelen ikili veri dosyaları ayrı olarak oluşturulur.

  4. Veri alımı:

    1. Azure Data Factory FTP bağlayıcısı, ana bilgisayar IMS veri kümelerini Azure veri depolama alanına kopyalar.
    2. Ana bilgisayar IMS veri dosyaları SFTP aracılığıyla Azure Blob Depolama'ya kopyalanır.
    3. Ana bilgisayar JCL, verileri ana bilgisayar sistemi ile SFTP Blob Depolama arasında taşıyan özel bir Java çözümünü çalıştırmak için kullanılır.
  5. IMSql, DBD dosyasını kullanarak, gerekli bilgi tutarlılığını koruyarak hedef veritabanını ve tabloları oluşturur.

  6. Veri nesneleri oluşturulduktan sonra, IMSql verileri sırayla karşılık gelen tabloya yükler.

  7. Geçirilen tüm IMS verileri Azure SQL Yönetilen Örneği'nde barındırılır.

  8. Uygulama veritabanı, IMS'yi çevrimiçi olarak işlemek ve toplu işlemek için ham segment verilerinden oluşur.

  9. IMS okuma ve yazma görünümleri, kopya defteri düzenine göre genişleyen segment verilerinden oluşur.

Raincode zBridge'i kullanarak IMS DB verilerini geçirme

Raincode zBridge , IMS/DB segmentlerindeki veriler de dahil olmak üzere Azure'daki ana bilgisayar ilişkisel olmayan verilerine erişimi kolaylaştırır. Bu veriler dağıtılmış uygulamalar, raporlama ve analiz amaçları için Azure SQL DB'lerde kullanılabilir hale gelir.

IMS segment veri dosyaları, eşleşen bir COBOL kopya defteri veya PL/I içerme özelliği ile zBridge'e aktarılır. Veriler, ana bilgisayar sayısal türlerini SQL türlerine dönüştüren ve gerekirse dizeleri ASCII'ye dönüştüren SQL satırları olarak görünür. zBridge ayrıca karmaşık veri yapılarını da destekler.

Bileşenler

Bu mimari aşağıdaki Azure bulut hizmetlerinden oluşur. Aşağıdaki bölümlerde bu hizmetler ve rolleri açıklanmaktadır.

  • Azure Logic Apps , hızlı bir şekilde güçlü tümleştirme çözümleri oluşturabileceğiniz bir bulut platformudur. Ana bilgisayar kullanıcıları 3270 terminalleri ve şirket içi bağlantı hakkında bilgi sahibidir. IBM ana bilgisayar uygulamalarına erişmek ve bunları çalıştırmak için Logic Apps IBM 3270 bağlayıcısını kullanabilirler. Geçirilen sistemde, genel İnternet veya Azure ExpressRoute aracılığıyla uygulanan özel bir bağlantı aracılığıyla Azure uygulamalarıyla etkileşim kurar. Microsoft Entra Kimliği , kimlik doğrulaması sağlar.

  • Azure Sanal Ağ, Azure'da özel ağınız için temel yapı taşıdır. Sanal Ağ, Azure sanal makineleri (VM) gibi birçok Azure kaynağı türü arasında, İnternet ve şirket içi ağlarla daha güvenli iletişim sağlar. Sanal Ağ, kendi veri merkezinizde çalıştırdığınız geleneksel bir ağ gibidir, ancak Azure altyapısının ölçek, kullanılabilirlik ve yalıtım gibi avantajlarını sağlar.

  • ExpressRoute , şirket içi ağlarınızı bir bağlantı sağlayıcısının kolaylaştırdığı özel bir bağlantı üzerinden Microsoft Bulut'a genişletir. Azure ve Microsoft 365 gibi Microsoft Bulut hizmetleriyle bağlantı kurmak için ExpressRoute'u kullanabilirsiniz.

  • Azure Sanal Makine Ölçek Kümeleri , uygulama yönetimini basitleştiren ve kullanılabilirliği artıran otomatik ve yük dengeli VM ölçeklendirmesi sağlar.

  • SQL Yönetilen Örneği , Azure SQL hizmet portföyünün bir parçasıdır. Bulutta yönetilen, daha güvenli ve up-totarihli bir SQL örneğidir.

  • Microsoft Entra ID , bulut tabanlı bir kurumsal kimlik ve erişim yönetimi hizmetidir. Microsoft Entra çoklu oturum açma ve çok faktörlü kimlik doğrulaması, kullanıcıların oturum açmasına ve kaynaklara erişmesine yardımcı olurken siber güvenlik saldırılarına karşı korunmaya yardımcı olur.

Alternatifler

  • SQL Yönetilen Örneği'ne alternatif olarak bir Azure VM'de SQL Server kullanabilirsiniz. Yüksek kullanılabilirlik, çeşitli Azure hizmetleriyle sorunsuz tümleştirme ve temel alınan güvenlik yamalarının ve bakımın yönetimi gibi avantajlar nedeniyle bu mimaride SQL Yönetilen Örneği öneririz.

  • Sanal Makine Ölçek Kümeleri alternatif olarak Azure tek VM mimarisini kullanabilirsiniz. Sabit yük ve performans talepleri olan ve ölçeklendirme gerektirmeyen iş yükleri için tek VM'ler kullanmak isteyebilirsiniz. Bu mimari, tipik IMS iş yüklerini işlemek için Sanal Makine Ölçek Kümeleri kullanır.

Senaryo ayrıntıları

Ana bilgisayar çevrimiçi işlem işleme (OLTP) sistemleri, çok sayıda kullanıcı için milyonlarca işlemi işleyebilir. IBM IMS, şirketlerin çevrimiçi işlem gerçekleştirme için kullandığı güçlü bir klasik anabilgisayar işlem yöneticisidir. İki ana bileşeni vardır: IMS DC bileşeni ve temeldeki hiyerarşik DBMS IMS DB bileşeni.

IMSql, IMS tabanlı iş yüklerini Azure'da veya SQL Server'ı temel alan şirket içi dağıtılmış uygulamalarda barındırmak için bir yol sağlar. IMSql, uygulama, veri ve ara yazılım bileşenleri dahil olmak üzere bir IMS iş yükünü çalıştırmak için bütünsel bir çözüm sağlar. Hiyerarşik (IMS DB) veri yapılarını SQL Server, Azure Sanal Makineler'de SQL Server ve SQL Yönetilen Örneği ilişkisel bir veri modeline alabilir. IMS uygulama programı DL/I çağrıları için yerleşik API'lere sahiptir ve veri katmanını hiyerarşik iş yükünün ötesine ilişkisel veriler için kullanılan buluta özel uygulamalara genişletir.

Bu çözüm aşağıdaki avantajları sağlar:

  • Altyapıyı modernleştirir ve monolitik ana bilgisayar IMS iş yükleriyle ilişkili yüksek maliyetleri, sınırlamaları ve katılığı azaltır.

  • Buluta özel çözümler ve DevOps uygulayarak teknik borcu azaltır.

  • IMS DB verilerini, yapay zeka ve analiz uygulamaları da dahil olmak üzere ana bilgisayar kullanmayan bulut tabanlı uygulamalara gönderir.

Olası kullanım örnekleri

Bu çözüm aşağıdakiler için yararlı olabilir:

  • Ana Bilgisayar IMS kullanan bankacılık, finans, sigorta, kamu ve perakende sektörleri. Bu kuruluşların çoğu birincil OLTP ve toplu iş uygulamalarını IMS DB/DC üzerinde çalıştırır.

  • Görev açısından kritik uygulamaları geçirmesi gereken IBM zSeries anabilgisayar müşterileri. Bu müşteriler, diğer şirket içi uygulamalarla sürekliliği korumak ve tam bir yeniden geliştirmenin etkilerinden kaçınmak istiyor.

Değerlendirmeler

Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanabileceğiniz bir dizi yol gösteren ilke olan Azure İyi Tasarlanmış Çerçeve'nin yapı taşlarını uygular. Daha fazla bilgi için bkz. Well-Architected Framework.

Güvenilirlik

Güvenilirlik, uygulamanızın müşterilerinize sağladığınız taahhütleri karşılayabilmesine yardımcı olur. Daha fazla bilgi için bkz . Güvenilirlik için tasarım gözden geçirme denetim listesi.

  • Bu OLTP mimarisini birden çok bölgeye dağıtabilir ve bir coğrafi çoğaltma veri katmanı ekleyebilirsiniz.

  • Azure DB hizmetleri bölge yedekliliğini destekler ve kesintiler sırasında veya bakım etkinliklerini etkinleştirmek için ikincil bir düğüme yük devredebilir.

Güvenlik

Güvenlik, kasıtlı saldırılara ve değerli verilerinizin ve sistemlerinizin kötüye kullanımına karşı güvence sağlar. Daha fazla bilgi için bkz . Güvenlik için tasarım gözden geçirme denetim listesi.

  • ExpressRoute, şirket içinden Azure'a özel ve verimli bir bağlantı sağlar.

  • Azure kaynaklarının kimliğini doğrulamak için Microsoft Entra Kimliği'ni kullanabilirsiniz. İzinleri yönetmek için rol tabanlı erişim denetimini kullanabilirsiniz.

  • Bu çözüm, Azure kaynaklarına gelen ve bu kaynaklardan gelen trafiği yönetmek için bir Azure ağ güvenlik grubu kullanır. Daha fazla bilgi için bkz . Ağ güvenlik grupları.

  • Bu güvenlik seçenekleri Azure DB hizmetlerinde kullanılabilir:

    • Bekleme sırasında veri şifrelemesi
    • Dinamik veri maskeleme
    • Always Encrypted verileri

Yüksek güvenlikli veri çözümleri tasarlama hakkında genel yönergeler için bkz: SQL Server Veritabanı Altyapısı ve Azure SQL Veritabanı için Güvenlik.

Maliyet İyileştirme

Maliyet İyileştirme, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarına odaklanır. Daha fazla bilgi için bkz . Maliyet İyileştirme için tasarım gözden geçirme denetim listesi.

  • Sanal Makine Ölçek Kümeleri, talep düşük olduğunda uygulamanızı çalıştıran gereksiz donanım örneklerinin sayısını en aza indirerek maliyetleri iyileştirir.

  • SQL Yönetilen Örneği, kullanım ve iş açısından kritik öneme göre maliyetleri iyileştirmek için genel amaçlı ve iş açısından kritik gibi çeşitli fiyatlandırma katmanları sağlar.

  • Bir yıllık veya üç yıllık sözleşmeyle işlem için Azure rezervasyonları ve Azure tasarruf planı, kullandıkça öde fiyatlarına kıyasla önemli ölçüde tasarruf sağlar. Çoğu durumda, ayrılmış örnek boyutu esnekliği uygulayarak maliyetlerinizi daha da azaltabilirsiniz.

  • Azure Hibrit Avantajı , iş yüklerinizi bulutta çalıştırmanın maliyetlerini önemli ölçüde azaltmanıza yardımcı olabilecek bir lisanslama avantajıdır. Şirket içi Yazılım Güvencesi özellikli Windows Server ve SQL Server lisanslarınızı Azure'da kullanmanıza izin vererek çalışır.

Bu çözümü uygulama maliyetini tahmin etmek için Azure fiyatlandırma hesaplayıcısını kullanın. Aşağıda , bu çözümün bileşenlerini makul bir ölçekte temel alan bir tahmin verilmiştir.

Performans Verimliliği

Performans Verimliliği, iş yükünüzün kullanıcı taleplerini verimli bir şekilde karşılayacak şekilde ölçeklendirebilmesini ifade eder. Daha fazla bilgi için bkz . Performans Verimliliği için tasarım gözden geçirme denetim listesi.

  • Sanal Makine Ölçek Kümeleri, görev açısından kritik çevrimiçi ve toplu işleme gereksinimlerini karşılamak için yeterli sayıda VM'nin kullanılabilir olmasını sağlar.

  • Blob Depolama, yedeklemeleri, arşiv verilerini, ikincil veri dosyalarını ve diğer yapılandırılmamış dijital nesneleri depolamak için ölçeklenebilir bir sistemdir.

  • Veritabanı Altyapısı Ayarlama Danışmanı veritabanlarını analiz eder ve sorgu performansını en iyi duruma getirmek için kullanabileceğiniz önerilerde bulunur. En uygun dizin kümesini, dizin görünümlerini veya tablo bölümlerini seçmek ve oluşturmak için Veritabanı Altyapısı Ayarlama Danışmanı'nı kullanabilirsiniz.

  • Ölçeklenebilirlik , PaaS'ın en önemli özelliklerinden biridir. İhtiyaç duyduğunuzda hizmetinize dinamik olarak kaynak eklemenize olanak tanır. Veritabanlarınıza ayrılan CPU gücü, bellek, giriş/çıkış aktarım hızı ve depolama alanı gibi kaynakları kolayca değiştirmek için SQL Veritabanı'nı kullanabilirsiniz. En az kapalı kalma süresiyle veritabanınıza dinamik olarak kaynak eklemek için SQL Yönetilen Örneği'ni kullanabilirsiniz.

  • In-Memory OLTP , SQL Server ve SQL Veritabanı'nda işlem işleme, veri alımı, veri yükü ve geçici veri senaryolarının performansını iyileştirmek için kullanılabilen bir teknolojidir.

Katkıda Bulunanlar

Microsoft bu makaleyi korur. Bu makaleyi aşağıdaki katkıda bulunanlar yazdı.

Asıl yazarlar:

Diğer katkıda bulunanlar:

Nonpublic LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki Adımlar

Daha fazla bilgi için Azure Veri Mühendisliği - Ana Bilgisayar Modernizasyonu'na başvurun.

Yardımcı mimariye bakın:

Diğer ilgili kaynaklar: