Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Pomysły dotyczące rozwiązań
W tym artykule opisano pomysł rozwiązania. Architekt chmury może użyć tych wskazówek, aby ułatwić wizualizację głównych składników typowej implementacji tej architektury. Skorzystaj z tego artykułu jako punktu wyjścia, aby zaprojektować dobrze zaprojektowane rozwiązanie zgodne z konkretnymi wymaganiami obciążenia.
W tej architekturze opisano sposób implementowania obciążenia aplikacji mainframe systemu zarządzania informacjami (IMS) na Azure przy użyciu programu Raincode IMSql. Bardziej złożone jest migrowanie aplikacji bazy danych IMS (DB) do rozwiązania natywnego dla chmury niż migracja aplikacji relacyjnej bazy danych. W tym artykule opisano, jak ponownie hostować na platformie Azure obciążenie systemu IMS działające na komputerze mainframe, które wykorzystuje kluczowe funkcje i możliwości systemu IMS. Nie musisz tłumaczyć ani modyfikować istniejącej aplikacji.
Architektura obciążenia usługi ImS DB i IMS Data Communications w usłudze Premigration
Przepływ danych
Poniższy przepływ danych odpowiada poprzedniemu diagramowi:
Użytkownicy łączą się z komputerem mainframe za pośrednictwem protokołu TCP/IP przy użyciu standardowych protokołów mainframe, takich jak TN3270 i HTTPS.
Menedżerowie transakcji wchodzą w interakcję z użytkownikami i wywołują aplikację w celu spełnienia żądań użytkowników.
Użytkownicy wchodzą w interakcje z ekranami lub stronami internetowymi usługi IMS w frontonie warstwy aplikacji.
Kod aplikacji korzysta z hierarchicznych funkcji magazynowania warstwy danych zaplecza bazy danych IMS DB.
Zadania wsadowe wykonują operacje na danych big data w trybie offline.
Wraz z przetwarzaniem transakcji inne usługi zapewniają uwierzytelnianie, bezpieczeństwo, zarządzanie, monitorowanie i raportowanie. Te usługi współdziałają z innymi usługami systemowymi.
Architektura IMSql na platformie Azure
Pobierz plik programu Visio tej architektury.
Workflow
Poniższy przepływ pracy odpowiada poprzedniemu diagramowi:
Serwer terminali IMSql
Tradycyjnie użytkownicy lokalni uzyskują dostęp do interfejsu mainframe z/OS przy użyciu wewnętrznego terminalu IBM lub oprogramowania emulacji terminalu. Aplikacja, która ma geograficznie rozproszoną sieć z tysiącami użytkowników, łączy się z komputerem mainframe przy użyciu terminalu. Jeśli ponownie hostujesz aplikację usługi IMS Data Communications (DC) w rozproszonym systemie opartym na chmurze, musisz centralnie hostować aplikację i zasób oraz publikować je dla zdalnych urządzeń klienckich. Aby hostować i publikować aplikację oraz zasób na Azure, użyj serwerów terminali IMSql.
Broker usług SQL Server
W komputerze mainframe usługa IMS DC przesyła i przetwarza komunikaty w regionie sterowania, aby zorganizować warstwę komunikacji między terminalami użytkownika i programami aplikacji. Po ponownym hostowaniu broker usług SQL Server organizuje tę asynchroniczną warstwę komunikacji. Ten broker usług obsługuje komunikację za pośrednictwem mechanizmu dostarczania komunikatów i skaluje obsługę komunikatów na oddzielne serwery przetwarzania, dla bieżących użytkowników oraz na potrzeby przetwarzania ich transakcji.
Serwer przetwarzania IMSql
Serwer przetwarzania wykonuje kod rekompilowany przez Raincode dla programów IMS w środowisku .NET Framework lub .NET. Serwer zawiera podstawową infrastrukturę, dzięki czemu ponownie skompilowane programy działają skutecznie i z poprawną równoważnością funkcjonalną. Serwer przetwarzania IMSql może generować dynamiczne zapytania i wywoływać procedury składowane w SQL Server, które są tworzone podczas ponownej kompilacji wywołań Data Language/One (DL/I).
SQL Server jako hierarchiczny magazyn danych
Dane są przechowywane hierarchicznie w usłudze IMS. IMSql używa tego samego modelu w programie SQL Server. Ten model używa relacyjnych baz danych o wysokiej wydajności do logicznego implementowania segmentów hierarchicznych z usług IMS. Model obsługuje niezależne skalowanie z segmentami. Dane segmentu są przechowywane w nieprzetworzonym formacie EBCDIC, aby nie wymagały konwersji dla aplikacji. Korzystając z platformy SQL jako usługi (PaaS), program IMSql może korzystać z podstawowych możliwości wysokiej dostępności i odzyskiwania po awarii zapewnianych przez platformę Azure.
DL/I wywołuje API
Interfejs API IMSql tłumaczy wywołania COBOL IMS DL/I na równoważne zapytania SQL. Interfejs API pobiera dane i zwraca je do programu aplikacji w oczekiwanym formacie. Program IMSql śledzi położenie programu w rekordzie tabeli w celu wykonywania operacji tworzenia, odczytu, aktualizacji i usuwania, takich jak hierarchiczna baza danych. Aby obsłużyć wywołania DL/I o wysokich wymaganiach wydajnościowych, IMSql może podczas kompilacji tworzyć procedury składowane w SQL Server.
Kod przeciwdeszczowy JCL
Język sterowania zadaniami (JCL) Raincode to interpreter zgodny z JCL systemu z/OS. Raincode JCL ułatwia płynne przejście od złożonej logiki biznesowej osadzonej w JCL do platform Azure i .NET. Raincode JCL uruchamia kod skompilowany przez kompilatory Raincode COBOL, PL/I i ASM370. Raincode JCL uruchamia etapy napisane w większości języków programowania. Wdróż kod napisany przez użytkownika, aby skonfigurować go i dostosować do niestandardowego planowania zadań wsadowych.
Widok danych IMSql
IMSql definiuje relacyjne widoki SQL oparte na copybookach lub układach rekordów, dzięki czemu usługi platformy Azure i nowe aplikacje mogą uzyskiwać dostęp do segmentów IMS za pomocą standardowych instrukcji SQL. Widoki IMSql są zapisywalne, więc nowoczesne aplikacje mogą zarówno odczytywać dane z IMS, jak i zapisywać je do IMS przez SQL Server.
Migracja danych za pomocą IMSql
Migracja obiektów bazy danych
ImSql wyodrębnia i przesyła oryginalny opis bazy danych IMS (DBD) z komputera mainframe. Program IMSql używa informacji DBD do tworzenia skryptów SQL w celu wygenerowania docelowej bazy danych i tabel w Azure SQL.
Każdy segment w IMS DBD jest tłumaczony jako tabela na platformie Azure.
Tabele obejmują pole klucza, pola wyszukiwania i dane segmentu IMS reprezentowane w systemie EBCDIC.
Tabele Azure SQL zachowują strukturę drzewa segmentów IMS oraz relacje kluczy podstawowych i obcych.
Początkowe ładowanie danych
Dane z bazy IMS DB są pozyskiwane za pomocą zadania na komputerze mainframe oraz narzędzi do pobierania, takich jak DFSRRC00 i DFSURGL0.
Wyodrębnione pliki binarne można przenieść do Azure przy użyciu łączników Azure Data Factory, takich jak FTP i Secure FTP (SFTP), oraz rozwiązania opartego na Java, które działa w usługach podsystemu Unix.
IMSql ma zintegrowane narzędzie do ładowania danych służące do ukończenia początkowego ładowania. To narzędzie korzysta z narzędzia programu SQL Server do kopiowania zbiorczego (bcp). Narzędzie zapewnia uruchamianie programu bcp i sprawdza, czy integralność referencyjna między tabelami odpowiada oczekiwanej strukturze hierarchicznej.
Ta migracja dotyczy jednorazowego ładowania danych z bazy danych IMS, ale nie dotyczy współistnienia i skojarzonej synchronizacji danych.
Przepływ danych
Poniższy przepływ danych odpowiada poprzedniemu diagramowi:
IMS DB zawiera DBD i dane segmentów.
Narzędzia IBM wyodrębnia i zwalniają informacje o bazie danych IMS DB.
Plik DBD i odpowiadające mu pliki danych binarnych są generowane oddzielnie.
W poniższych krokach opisano proces pozyskiwania danych:
Łącznik FTP usługi Azure Data Factory kopiuje zestawy danych IMS komputera mainframe do usługi Azure Data Storage.
Pliki danych IMS komputera mainframe są kopiowane do usługi Azure Blob Storage za pośrednictwem protokołu SFTP.
Zadanie JCL na komputerze mainframe uruchamia niestandardowe rozwiązanie w języku Java, które przenosi dane między systemem mainframe a magazynem obiektów Blob Storage dostępnym przez SFTP.
Program IMSql tworzy docelową bazę danych i tabele oraz utrzymuje integralność referencyjną przy użyciu pliku DBD.
Program IMSql ładuje utworzone obiekty danych do odpowiednich tabel w kolejności sekwencyjnej.
Azure SQL Managed Instance hostuje zmigrowane dane IMS.
Baza danych aplikacji zawiera surowe dane segmentów wykorzystywane do przetwarzania online IMS i przetwarzania wsadowego.
Widoki odczytu i zapisu usługi IMS zawierają dane segmentu, które rozszerzają się na podstawie układu elementu copybook.
Migracja danych IMS DB przy użyciu Raincode zBridge
Rozwiązanie Raincode zBridge ułatwia dostęp do danych nierelacyjnych mainframe na Azure, w tym danych z segmentów bazy danych IMS. Dostęp do tych danych można uzyskać w Azure SQL bazach danych dla aplikacji rozproszonych oraz w celach raportowania i analizy.
Zaimportuj pliki danych segmentu IMS do rozwiązania zBridge przy użyciu pasującego elementu kopiowania COBOL lub dołączania plików PL/I. Dane są wyświetlane jako wiersze SQL, które w razie potrzeby konwertują typy liczbowe mainframe na typy SQL i konwertują ciągi na ASCII. zBridge obsługuje również złożone struktury danych.
Komponenty
Azure Logic Apps to platforma w chmurze umożliwiająca zaawansowane rozwiązania integracji. Użytkownicy komputerów Mainframe zaznajomieni z terminalami 3270 i łącznością lokalną mogą używać łącznika IBM 3270 usługi Logic Apps do uzyskiwania dostępu do aplikacji mainframe IBM i uruchamiania ich. W tej architekturze usługa Logic Apps umożliwia migrowanym aplikacjom platformy Azure interakcję z systemem mainframe przy użyciu publicznego Internetu lub prywatnego połączenia Azure ExpressRoute, które wykorzystuje usługę Microsoft Entra ID do uwierzytelniania.
Zestawy skalowania maszyn wirtualnych platformy Azure to usługa obliczeniowa, która zapewnia zautomatyzowane i zrównoważone obciążenie skalowanie maszyn wirtualnych, które upraszcza zarządzanie aplikacjami i zwiększa dostępność. W tej architekturze zestawy skalowania maszyn wirtualnych zapewniają wystarczającą liczbę maszyn wirtualnych na potrzeby przetwarzania online i wsadowego obciążenia IMSql o znaczeniu krytycznym dla działania.
Azure Virtual Network obsługuje bezpieczną komunikację między zasobami Azure, takimi jak maszyny wirtualne Azure oraz z Internetem i sieciami lokalnymi. Virtual Network jest jak tradycyjna sieć działająca we własnym centrum danych, ale zapewnia skalę, dostępność i izolację infrastruktury Azure. W tej architekturze Virtual Network zapewnia bezpieczną podstawę sieci do efektywnej komunikacji między składnikami imSql.
ExpressRoute to usługa łączności, która rozszerza sieci lokalne na Microsoft Cloud za pośrednictwem połączenia prywatnego obsługiwanego przez dostawcę łączności. Za pomocą usługi ExpressRoute można nawiązywać połączenia z usługami w chmurze firmy Microsoft, takimi jak Azure i Microsoft 365. W tej architekturze usługa ExpressRoute zapewnia bezpieczną łączność o wysokiej przepustowości między lokalnymi środowiskami mainframe i zmigrowanych aplikacji IMS uruchamianych na platformie Azure.
Microsoft Entra ID to oparta na chmurze usługa zarządzania tożsamościami i dostępem w przedsiębiorstwie. W tej architekturze Microsoft Entra ID chroni przed atakami cyberbezpieczeństwa i zapewnia logowanie jednokrotne i uwierzytelnianie wieloskładnikowe, aby ułatwić użytkownikom logowanie się i uzyskiwanie dostępu do zasobów.
SQL Managed Instance zapewnia w pełni zarządzane wystąpienie programu SQL Server na platformie Azure. W tej architekturze usługa SQL Managed Instance zapewnia platformę relacyjnej bazy danych dla przekonwertowanych hierarchicznych struktur danych IMS DB, oferując wysoką dostępność i integrację z usługami platformy Azure.
Alternatywy
Możesz użyć SQL Server na maszynie wirtualnej Azure zamiast SQL Managed Instance. Zalecamy SQL Managed Instance ze względu na wysoką dostępność, integrację z usługami Azure oraz zarządzanie poprawkami zabezpieczeń i konserwacją.
Zamiast Virtual Machine Scale Sets można użyć architektury pojedynczej maszyny wirtualnej Azure. Rozważ użycie pojedynczych maszyn wirtualnych dla obciążeń, które mają stałe obciążenie i wymagania dotyczące wydajności i nie wymagają skalowania. Ta architektura używa zestawów skalowania maszyn wirtualnych do obsługi typowych obciążeń usługi IMS.
Szczegóły scenariusza
Systemy przetwarzania transakcji online (OLTP, Mainframe Online Transaction Processing) mogą przetwarzać miliony transakcji dla wielu użytkowników. IBM IMS to klasyczny menedżer transakcji mainframe dla OLTP. IBM IMS składa się z IMS DC, menedżera transakcji, oraz IMS DB, stanowiącego podstawowy hierarchiczny system zarządzania bazami danych (DBMS).
IMSql zapewnia obsługę obciążeń opartych na IMS na platformie Azure oraz lokalnie w rozproszonych implementacjach opartych na SQL Server. Usługa IMSql udostępnia całościowe rozwiązanie dla obciążeń imS, w tym aplikacji, danych i składników oprogramowania pośredniczącego. IMSql może importować hierarchiczne struktury danych bazy danych IMS DB do relacyjnego modelu danych w usługach SQL Server, SQL Server on Azure Virtual Machines i SQL Managed Instance. Ma wbudowane interfejsy API dla wywołań DL/I z programów aplikacyjnych IMS i rozszerza warstwę danych poza hierarchiczne obciążenia robocze na aplikacje chmurowe korzystające z danych relacyjnych.
To rozwiązanie:
Modernizuje infrastrukturę oraz ogranicza wysokie koszty, ograniczenia i brak elastyczności monolitycznych obciążeń IMS na komputerach mainframe.
Implementuje rozwiązania natywne dla chmury i metodyki DevOps w celu zmniejszenia zadłużenia technicznego.
Wysyła dane bazy danych IMS do aplikacji opartych na chmurze, które nie korzystają z komputerów mainframe, w tym aplikacji sztucznej inteligencji i analizy.
Potencjalne przypadki użycia
To rozwiązanie może być przydatne w następujących celach:
Bankowość, finanse, ubezpieczenia, administracja publiczna i handel detaliczny, które korzystają z systemu IMS dla komputerów mainframe. Wiele z tych organizacji uruchamia swoje podstawowe aplikacje OLTP i batch w bazie danych IMS DB i IMS DC.
Klienci systemów mainframe IBM zSeries, którzy muszą migrować aplikacje o krytycznym znaczeniu dla działalności firmy. Ci klienci często chcą zachować ciągłość pracy z innymi aplikacjami lokalnymi i uniknąć skutków kompletnego przebudowy.
Współautorzy
Firma Microsoft utrzymuje ten artykuł. Następujący współautorzy napisali ten artykuł.
Główni autorzy:
- Nithish Aruldoss | Architekt inżynierów
- Ametyst Salomon | Starszy Architekt Inżynieryjny
Aby wyświetlić niepubliczne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.
Dalsze kroki
- Kopiowanie plików z komputera mainframe do Azure Data Factory przy użyciu łącznika FTP
- Transferowanie plików komputera mainframe do usługi Blob Storage przy użyciu protokołu SFTP
- Co to jest sieć wirtualna?
- Co to jest usługa ExpressRoute?
- Dokumentacja usługi Microsoft Fabric