Architektura – Mechanizm Partycji Danych w Dynamics AX 2012

Architektura – Mechanizm Partycji Danych w Dynamics AX 2012

Mechanizm partycji danych w Dynamics AX 2012 umożliwia izolację danych na poziomie pojedynczej spółki. Użycie w/w mechanizmu ma znaczenie dla organizacji posiadających kilka spółek zależnych. W których pracownicy jednej spółki zależnej nie powinni mieć dostępu do danych pozostałych spółek zależnych. Inaczej mówiąc mechanizm partycjonowania danych tworzy granice pomiędzy spółkami dzięki czemu wymaganie dotyczące izolacji danych (w obrębie jednej spółki) zostaje spełnione.

Mechanizm partycji danych w Dynamics AX 2012 dostarcza logiczny podział danych zgromadzonych w bazie danych Micosoft Dynamics AX. W uproszczeniu jego działanie opiera się na dodaniu dodatkowej technicznej kolumny do każdej z tabel której dane mają być izolowane. Kolumna ta zawiera znacznik ID partycji która w istocie jest Rec_Id tabeli zawierającej partycje. W tabeli która podlega partycjonowaniu wiersze które zawierają to samo ID partycji przynależą do tej samej partycji danych.

Do zdefiniowania partycji służy odpowiednia funkcjonalność systemu. W ramach jej działania administrator systemu tworzy oraz przypisuje odpowiedni klucz partycji. Klucz partycji identyfikuje odpowiednią partycję używając unikalnego ciągu znaków określonego przez administratora systemu. W celu ułatwienia identyfikacji danej partycji danych na pasku tytułowym aplikacji klienckiej wyświetla się nazwa partycji. Partycje są definiowane w trakcie instalacji oraz aktualizacji aplikacji Microsoft Dynamics AX.

Mechanizm Partycji Danych w Dynamics AX 2012

Charakterystyka systemu z wieloma partycjami – Mechanizm Partycji Danych w Dynamics AX 2012

Należy pamiętać, że Mechanizm Partycji Danych w Dynamics AX 2012 nie działa w oparciu o tworzenie oddzielnej instancji systemu. Mechanizm Partycji Danych w Dynamics AX 2012 izoluje wcześniej wyznaczone dane w ramach jednego systemu oraz bazy danych. Architekturę systemu MS Dyncamics AX 2012 opisano w artykule: Architektura logiczna Dynamics AX 2012. Poniżej zebrano kilka cech charakterystycznych dla mechanizmy partycjonowania danych:

Współdzielony AOS

Kolejne partycje systemu tworzone są w ramach jednej instancji lub klastra, Microsoft Dynamics AX Application Object Server (AOS). Pierwsze uruchomienie MS Dyncamics AX 2012 tworzy domyślną partycję danych. Partition Key dla domyślnie utworzonej partycji nazywa się „initial”. Dodatkowe partycje mogą być tworzone w trakcie instalacji, aktualizacji lub w dowolnym momencie w trakcie funkcjonowania systemu. Należy pamiętać, że raz utworzonych partycji nie można kasować.

Współdzielona baza danych

W systemie z wieloma partycjami wszystkie dane są przechowywane w tej samej bazie danych lub klastrze bazy danych. Partycjonowanie danych dostarcza mechanizmy logicznej izolacji danych. Dla przypadków, gdzie zachodzi potrzeba fizycznej izolacji mechanizm ten nie może być wykorzystany. Mechanizm izolacji nie dotyczy wielu tabel systemowych których zawartość jest współdzielona pomiędzy wieloma partycjami.

Współdzielone AOT

System wykorzystujący wiele partycji, opiera się o (jedno) drzewo obiektów aplikacji, Microsoft Dynamics AX Application Object Tree (AOT).  Wszelkie modyfikacje standardu wykonane w trakcie wdrożenia, są współdzielone pomiędzy wszystkimi partycjami. Podobnie funkcjonuje mechanizm współdzielenia metadanych które opisują obiekty utworzone w ramach AOT.
Domyślnie, uruchomienie kodu aplikacji następuje w kontekście aktualnie wykonywanej sesji. Jest to konsekwencja zachowywania się kodu napisanego w X++, w którym obsługa wielofirmowości realizowana jest z wykorzystaniem pola dataAreaID. Dlatego, kod pierwotnie wytworzony wykorzystujący mechanizmy X++ działa bez wykonywania jakichkolwiek modyfikacji. Zapytania bezpośrednio wysyłane do danych SQL muszą zostać odpowiednio zmodyfikowane o dodatkowy filtr wskazujący na aktualnie wykorzystywaną partycję.
W systemach Dynamics AX 2012 funkcjonuje system Microsoft Dynamics AX cross-reference który uwspólnia definicję ról systemowych.

Wspólna / Centralna administracja

Administratorzy systemu mają dostęp do wszystkich danych w ramach utworzonych partycji. Jedynym ograniczeniem jest warunek zalogowania się do klienta, który ma dostęp do danej partycji. Administratorzy systemu mogą tworzyć nowe partycje. Do nadawania dostępów użytkownikom do odpowiednich partycji służą dwie role administratora systemu oraz administratora bezpieczeństwa. Klucze konfiguracyjne oraz licencyjne są współdzielone pomiędzy partycjami.

Wspólne mechanizmy integracji rozwiązania

W systemie podzielonym na partycje, Services and Application Integration Framework (AIF) jest wspólnym podsystemem. Aby zagwarantować izolację nadchodzących zapytań, można przypisać wybrany / konkretny port integracji do określonej partycji. Dodatkowo można określić partycję docelową dla zapytań przychodzących, poprzez podanie klucza partycji w nagłówku pliku XML.
W ramach systemu AFI funkcjonuje jedna kolejka zadań do przetworzenia, do której dostęp ma administrator systemu. System w standardzie dostarcza funkcjonalność umożliwiającą przeglądanie każdej pozycji z kolejki w tym podgląd szczegółów jak: historia AFI, wyjątki etc. Ułatwieniem dla administratora jest dodanie do każdej z pozycji na liście klucza partycji, której wpis dotyczy.

Wspólny / jednolity mechanizm przetwarzania danych wsadowych

Podobnie jak mechanizm AFI tak i mechanizm przetwarzania wsadowego jest jeden dla wszystkich partycji danych. Niemniej poszczególne zadania tworzone w ramach mechanizmu podlegają już izolacji danych do pojedynczej partycji. Oznacza to że zadanie wsadowe jest niejako przypisane do konkretnej firmy. Aby prześledzić status oraz podejrzeć historię wykonania danego zadania wsadowego należy zalogować się do klienta przypisanego do danej partycji danych.

Osobne dane aplikacji

Dostęp do danych aplikacji jest udzielany na podstawie kombinacji ról i uprawnień posiadanych przez użytkownika (szczegóły tego procesu opisano …) oraz identyfikowania partycji. Klienta Microsoft Dynamics AX 2012 uniemożliwia przeglądanie danych dla kilku partycji jednocześnie (bez względu na rolę jaką posiada użytkownik, dotyczy to także administratorów systemu). W ramach standardu Microsoft Dynamics AX nie dostarcza narzędzi umożliwiających łączenie danych między partycjami. Wszelkie operacje których efektem są globalne zmiany w organizacji, są budowane w ramach odrębnych modyfikacji.

Oddzielne hierarchie organizacji

Każda partycja posiada własną hierarchię organizacyjną, która może zawierać jeden lub więcej podmiotów prawnych. Każda partycja tworzona w ramach Microsoft Dynamics AX zwiera co najmniej jeden podmiot prawny DAT. Administratorzy systemu mają uprawnienia dodawania nowych podmiotów. Podmioty utworzone w ramach jednej partycji nie mogą być współdzielone pomiędzy pozostałymi partycjami nawet jeśli zachodzi zbieżność nazw.

Oddzielne ustawienia użytkowników

Każda partycja zawiera swoją własną listę autoryzowanych użytkowników. Administrator systemu, który stworzył daną partycję staje się automatycznie jej właścicielem. Po pierwszym zalogowaniu do partycji może on dodać użytkowników, którzy będą mieli do niej dostęp.
Użytkownicy mogą mieć jednoczesny dostęp do co najmniej jednej partycji. Jednakże zarządzanie dostępami w obrębie partycji jest realizowane dla każdego z użytkowników z osobna. Kolejnym ograniczeniem jest wymóg korzystania z osobnego klienta dla każdej z partycji. Domyślna partycja dla danego użytkownika może zostać zmieniona. Użytkownik uruchamiając klienta bez sprecyzowanych ustawień (do której partycji ma się połączyć) połączy się z partycją domyślną.
Aplikacja kliencka Microsoft Dynamics AX wyświetla klucz partycji dla bieżącej sesji w pasku tytułowym okna głównego.

One response to “Architektura – Mechanizm Partycji Danych w Dynamics AX 2012”

  1. Hello Dear, are you truly visiting this site daily, if so then you will absolutely take pleasant know-how.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

three × two =