Trzy twarze architektury informatycznej

Architektura informatyczna jest długofalową inwestycją, o wymiernych kosztach opisu zastosowań informatyki oraz kosztach analizy i wyboru standardów. Korzyści są natomiast, przynajmniej na początku, niewymierne i w dużym stopniu jedynie przypuszczalne.

Architektura informatyczna jest długofalową inwestycją, o wymiernych kosztach opisu zastosowań informatyki oraz kosztach analizy i wyboru standardów. Korzyści są natomiast, przynajmniej na początku, niewymierne i w dużym stopniu jedynie przypuszczalne.

Dla przypomnienia, architektura informatyczna to ogólny obraz zastosowań i platform, przedstawiający składniki owych obszarów oraz ich powiązania. Definicja ta pasuje do opisu stanu obecnego zastosowań informatyki, jak również do opisu stanu docelowego. W świecie informatyki krąży także inna definicja architektury. Pod tym pojęciem rozumiany jest również zestaw zasad, zaleceń, wzorców i standardów przeznaczonych do wykorzystania w procesie projektowania systemów. Związek opisowej i normatywnej definicji architektury wyraża się w tym, że zasady i standardy są wykorzystywane podczas podróży od stanu obecnego do docelowego.

Zobacz również:



Architektura jako opis

Architektury opisowe są najbardziej przydatne w analizie i planowaniu systemów. W kręgach informatycznych przydatność takich konstrukcji została dostrzeżona już dawno. Jedną z architektur opisowych dla systemów informacyjnych o nazwie ARIS (ARchitecture of integrated Information Systems) zaproponował w swoim czasie Profesor August-Wilhelm Scheer. W architekturze tej jako kategorie komponentów firmy wydzielone zostały: organizacja, dane, zadania (funkcje) oraz procesy. Każdy z komponentów należących do wymienionych kategorii może być ponadto rozpatrywany na poziomie założeń, projektu technicznego oraz opisu wdrożenia. Architektura ARIS koncentruje się na biznesowych aspektach systemów informacyjnych i kładzie duży nacisk na powiązania pomiędzy komponentami.

Inne założenia leżą u podstaw Architektury Zachmana, nazywanej tak od nazwiska twórcy. John Zachman uważał, że w procesie tworzenia skomplikowanych produktów, do których z pewnością należą systemy informatyczne, potrzebne są różnego rodzaju opisy i modele. Są one przeznaczone dla różnych uczestników tego procesu, z których każdy interesuje się czymś innym. Równocześnie każdy produkt opisać można z różnych punktów widzenia i dla różnych celów, co dodatkowo uzasadnia potrzebę różnorodnych opisów. W swojej architekturze Zachman wyodrębnił:

  • poziom zakresu

  • poziom modelu firmy

  • poziom modelu systemu

  • poziom technologii

  • poziom szczegółowych opisów

  • poziom faktycznego systemu.

    Zachman posługiwał się metaforami z sektora budowlanego, dlatego nazwy ról osób uczestniczących w procesie tworzenia systemu brzmią dość dziwnie w kontekście informatycznym. Na przykład, poziom zakresu systemu przeznaczony jest dla planisty, co kojarzy się raczej z osiedlem mieszkaniowym. Zwolennicy architektury nadali więc wspomnianym rolom nazwy lepiej przystające do rzeczywistości informatycznej. W takim ujęciu poziomy opisów przeznaczone są dla zarządu, kierownictwa, projektantów, wykonawców, podwykonawców i programistów oraz użytkowników. Jeśli chodzi natomiast o kategorie komponentów firmy, w architekturze wyróżnione są:

  • dane (co?)

  • funkcje (jak?)

  • sieci (gdzie?)

  • ludzie (kto?)

  • czas (kiedy?)

  • motywacje (dlaczego?).

    Kategorie komponentów i poziomy abstrakcji architektury Zachmana tworzą charakterystyczną macierz, elegancką w swojej prostocie. W komórkach tejże umieszczane są różne opisy i modele rzeczywistości. Rozpatrzmy jako przykład kategorię sieci. Zarząd firmy interesuje lokalizacja jej oddziałów. Kierownictwo średniego szczebla zainteresowane jest powiązaniami w ramach łańcucha dostaw. Projektanci systemów zajmują się lokalizacją i powiązaniami serwerów firmy. Inżynierowie przyglądają się systemom operacyjnym i komputerom. Podwykonawców interesują węzły komunikacyjne i protokoły, użytkowników natomiast kable podłączone do ich komputerów osobistych.

    Tablica Mendelejewa

    Jak widać, poziomy abstrakcji przechodzą co prawda od spraw ogólnych do szczegółowych, ale są to dla poszczególnych uczestników tworzenia systemów różne sprawy. Architektura Zachmana określa więc ogólne ramy ułatwiające tworzenie bardziej konkretnych architektur szczegółowych. Architektura ta jest także czymś w rodzaju informatycznej Tablicy Mendelejewa, która pozwala klasyfikować praktycznie wszystkie modele potrzebne w trakcie planowania, tworzenia i eksploatacji systemów.

    Architektura Zachmana cieszy się w świecie informatyki dużą popularnością, ponieważ wprowadza tak ulubiony tam porządek. Architektura Zachmana legitymizuje także wysiłki wielu dostawców narzędzi do modelowania firm i systemów oraz projektowania oprogramowania i zautomatyzowanego generowania programów. Pierwsze dwa poziomy opisów są ogólnie zgodne z pojęciem biznesowej architektury firmy, zaproponowanej w poprzednim artykule opublikowanym w kwietniowym wydaniu CXO. Architektura Zachmana ma jednak wyraźną orientację informatyczną i sprawdza się najlepiej jako tło klasycznej rodziny architektur informatycznych, mianowicie:

  • architektury danych

  • architektury systemów (zastosowań)

  • architektury technologicznej.

    Architektura danych określa najważniejsze reprezentacje informacji niezbędne dla funkcjonowania firmy. Dokładniej, architektura danych opisuje ogólną strukturę zasobów danych w firmie. Architektura ta opisywana jest na dwóch poziomach. Pierwszy przeznaczony jest dla projektantów systemów i ma postać tak zwanego logicznego modelu danych. Model ten zawiera opis danych i ich powiązań w oderwaniu od sposobów przechowywania. W praktyce oznacza to, że logiczny model danych pozbawiony jest wpływu możliwości i ograniczeń systemów zarządzania bazą danych. Właściwości systemu określonego typu kształtują natomiast postać fizycznego modelu danych. Model danych przechowywanych w relacyjnym systemie zarządzania bazą danych wygląda więc inaczej niż model dla systemu obiektowego. Zgodnie z duchem architektury Zachmana fizyczny model danych przeznaczony jest dla wykonawców systemu w zakresie danych, w szczególności dla administratorów bazy danych.

    Architektura systemów, zwana także architekturą zastosowań lub aplikacji, określa najważniejsze systemy przetwarzające dane firmy i wspomagające realizację zadań. W szczególności architektura ta opisuje powiązania pomiędzy systemami, wewnętrzne struktury systemów oraz ich powiązania z danymi i realizowanymi w firmie procesami biznesowymi. Projektanci systemów mają do dyspozycji model systemów, w sensie opisu ich zakresu oraz wzajemnych powiązań i powiązań z otoczeniem poprzez wejściowe i wyjściowe przepływy danych. Wykonawcy z kolei, to jest kierownicy przedsięwzięć lub programiści wiodący, korzystają z projektu systemu. Projekt ten koncentruje się na wnętrzu danego systemu i przedstawia jego podział na składniki razem z powiązaniami.