5.1.2. Założenia

Robocza nazwa, jaka pojawiła się przy planowaniu nowego systemu konfiguracji SZARP'a to Idealny Plik Konfiguracyjny, stąd skrót IPK. Przy projektowaniu IPK przyjęto następujące wymagania:

Przyjęte rozwiązanie polega na tworzeniu jednego pliku, obejmującego całość informacji zawartych w następujących plikach konfiguracyjnych SZARP 2.1:

Plik jest dokumentem XML o składni opisanej w rozdziale Sekcja 5.2. Centralnym pojęciem jest parametr, czyli obiekt o pewnych właściwościach, takich jak nazwa, precyzja itp., który może być prezentowany na wykresach i raportach oraz odpowiada mu wartość liczbowa uzyskiwana bądź ze sterownika, bądź na podstawie wyliczeń (być może wykorzystujących inne parametry).

Identyfikatorem parametru jest tylko i wyłącznie jego pełna nazwa (np. Kocioł 1:Sterownik:temperatura zadana), która w związku z tym musi być unikalna w ramach danej konfiguracji.

Informacje o wykresach, raportach, formułach itp. są przypisane do danego parametru, tzn. jeśli parametr występuje w jakimś raporcie, to informacja o tym znajduje się przy opisie parametru. Dzięki temu w jednym miejscu mamy zgrupowane wszystkie informacje dotyczące parametru. Oznacza to także, że jeśli chcemy np. zmienić nazwę raportu, to należy tego dokonać dla wszystkich występujących w nim parametrów. Zwykle nie powinno to stanowić jednak większego problemu, np. można wykorzystać mechanizm typu "znajdź i zastąp" edytora tekstowego.

Zaprojektowany format jest dość odporny na błędy. Błędy typu składniowego oczywiście łatwo jest usunąć, natomiast trudno jest popełnić błąd innego rodzaju, gdyż uniemożliwia to struktura samego pliku. Jedyną rzeczą nie ujętą w strukturze jest sprawa indeksów w bazie, która wymaga pewnej uwagi edytującego konfigurację.

Wadą użycia XML-a i zgrupowania wszystkich informacji w jednym dokumencie jest duża objętość pliku konfiguracyjnego i w związku z tym możliwe trudności w wyszukiwaniu danego fragmentu. Zaleca się w związku z tym korzystanie z mechanizmów wyszukiwania używanego edytora. Zaletą jest natomiast łatwa rozszerzalność (dodawanie elementów i atrybutów nie wpływa na działanie dotychczasowych aplikacji) a także możliwość korzystania z różnego rodzaju narzędzi (edytorów, przeglądarek) do XML-a i łatwa konwersja na inne formaty. W szczególności wiele operacji na konfiguracji może być wykonanych z wykorzystaniem szablonów XSLT. Szczegóły znajdują się w rozdziale Sekcja 5.3. Poza tym parsery XML są dostępne w praktycznie wszystkich obecnie używanych językach programowania.

Zachowanie zgodności wstecz osiągnięto przez stworzenie narzędzi, umożliwiających obustronną konwersję konfiguracji ze starego na nowy format i odwrotnie. Dzięki temu można dokonywać zmian w konfiguracji korzystając z IPK, a następnie wygenerować konfigurację w starym formacie, używanym przez programy nie korzystające z IPK. Należy zaznaczyć, że dla niektórych konfiguracji automatyczna konwersja na IPK nie jest możliwa, wymaga to nieco pracy ze strony edytującego konfigurację.

Korzystanie przez programy bezpośrednio z dokumentu XML mogłoby być czasami uciążliwe. Stąd częścią projektu jest biblioteka, pozwalająca odczytywać i edytować informacje o konfiguracji. Biblioteka potrafi też odczytać konfigurację w starym (tradycyjnym) formacie, choć z biegiem czasu będą się pojawiać informacje, które w starym formacie nie będą mogły być zapisane (np. obsługa nowego formatu bazy z indeksami automatycznymi).