OpenEdge 13

10 lutego 2026 roku pojawiła się pierwsza wersja OpenEdge 13, jako tzw, Innovation Release, co stanowi przygotowanie pod wersję długoterminową (LTS). Platforma rozwijana przez Progress wchodzi na kolejny poziom nowoczesności. To wydanie skupia się przede wszystkim na zwiększeniu wydajności, bezpieczeństwa oraz lepszej integracji z nowoczesnymi technologiami w chmurze i kontenerowymi. Dla firm korzystających z OpenEdge oznacza to większą elastyczność, łatwiejsze skalowanie aplikacji oraz lepsze przygotowanie na przyszłe wyzwania technologiczne.

OpenEdge 13 to wydanie zaprojektowane z myślą o nowoczesnych wymaganiach biznesowych i technologicznych. Twórcy platformy położyli szczególny nacisk na bezpieczeństwo, dostępność, wydajność aplikacji oraz coraz ważniejsze obszary, takie jak sztuczna inteligencja i zaawansowane zarządzanie danymi.

Nowa wersja przynosi szereg usprawnień, które mogą realnie wpłynąć na funkcjonowanie systemów w organizacji – niezależnie od jej wielkości. OpenEdge konsekwentnie rozwija się jako platforma wspierająca modernizację istniejących aplikacji, jednocześnie przygotowując je na integrację z nowymi nowoczesnymi technologiami.

W praktyce OpenEdge 13 wprowadza zmiany, które przekładają się na codzienną pracę zespołów IT. Platforma zwiększa produktywność w całym swoim ekosystemie, usprawniając zarówno proces developmentu, jak i zarządzanie środowiskiem. Jednocześnie oferuje lepszą, zoptymalizowaną wydajność – zarówno na poziomie aplikacji, jak i operacji bazodanowych.

Istotnym kierunkiem rozwoju jest również otwarcie na rozwiązania oparte o sztuczną inteligencję. OpenEdge 13 tworzy fundamenty, które umożliwiają integrację aplikacji z ekosystemem AI, co staje się coraz ważniejsze w kontekście analityki i automatyzacji procesów biznesowych.

Nie bez znaczenia są także usprawnienia w obszarze bazy danych. Nowa wersja poprawia przepustowość oraz skraca czas działania narzędzi administracyjnych, co przekłada się na zmniejszenie czasu potrzebnego na konserwację systemu. Równocześnie wzmacnia fundamenty bezpieczeństwa, zapewniając solidne i zgodne ze standardami środowisko pracy.

Niektóre z wprowadzonych nowości możecie znać z wersji 12.8 gdzie były testowane.
Zacznijmy od wybranych nowości w administrowaniu bazy danych.

Wielowątkowe tworzenie kopii zapasowych

Skrócenie czasu wykonywania kopii zapasowych ma bezpośredni wpływ na ograniczenie okien serwisowych i zwiększenie dostępności systemu. W OpenEdge 13 wprowadzono mechanizm wielowątkowego backupu, który znacząco przyspiesza operacje tworzenia kopii zapasowych baz danych w trybie offline.

Tryb wielowątkowy został ustawiony jako domyślny zarówno dla backupów offline, jak i online. Dzięki temu system automatycznie wykorzystuje dostępne zasoby CPU, co przekłada się na krótszy czas realizacji operacji. W razie potrzeby zachowanie to można skonfigurować lub całkowicie wyłączyć za pomocą narzędzia PROBKUP.

probkup [baza] … [ -thread 0 | 1 ] [ -threadnum num-threads ]

Jeśli przed wykonaniem komendy pojawia sie ostrzeżenie ESAM to wynika to stąd, że po wyinstalowaniu poprzedniej wersji nie usunąłem katalogów ESAM.

Wielowątkowe sprawdzanie indeksów (offline)

Sprawdzanie indeksów to kluczowe narzędzie administracyjne wykorzystywane do oceny stanu bazy danych, identyfikacji problemów oraz zapewnienia integralności danych. Odgrywa również istotną rolę w planowaniu i realizacji strategii odzyskiwania po awariach.

W OpenEdge 13 rozszerzono to mechanizm o możliwość wielowątkowego sprawdzania indeksów w trybie offline. Administratorzy mogą teraz równolegle walidować rekordy dla poszczególnych kluczy oraz ich kolejność, co znacząco przyspiesza cały proces.

Zarówno w trybie online, jak i offline, operacje realizowane w ramach opcji 2, 3 i 4 wykorzystują domyślnie przetwarzanie wielowątkowe — pod warunkiem, że środowisko dysponuje odpowiednimi zasobami (CPU, pamięć oraz wydajny dostęp do dysku). Dzięki temu możliwe jest równoległe wykonywanie operacji, które wcześniej były realizowane sekwencyjnie.

proutil [baza] -C idxcheck [ -thread 0 | 1 ] [ -threadnum num-threads ]

Wprowadzono ulepszenia polecenia PROUTIL IDXCOMPACT, służącego do kompresji indeksów.
Jednym z nich jest parametr -compactonly — można jej używać do kompresji drzewa indeksu wyłącznie wtedy, gdy indeks jest unikalny. Opcja ta:
– wyłącza skanowanie drzewa w poszukiwaniu symboli zastępczych usuniętych wpisów indeksu, a zamiast tego przeprowadza jego kompresję;
– wpływa na działanie operacji IDXCOMPACT w zależności od tego, czy określono również opcję -unusedblocks
Aby dokładniej zrozumieć działanie operacji warto przeczytać w dokumentacji z jakich faz składa sie kompaktowanie indexów.

Format notacji naukowej w ABL
ABL obsługuje obecnie odczyt i zapis liczb w notacji naukowej, wykorzystywanej m.in. w formatach takich jak JSON czy XML. Taki zapis umożliwia reprezentowanie bardzo małych lub bardzo dużych wartości za pomocą notacji naukowej.

Dzięki tej funkcji programiści ABL mogą uprościć swój kod i zaoszczędzić czas, eliminując konieczność tworzenia dodatkowych procedur konwersji.

Należy podkreślić, że funkcja ta nie wprowadza nowego typu danych, lecz umożliwia przetwarzanie liczb zapisanych w notacji naukowej. Po ich odczytaniu wartości są nadal reprezentowane wewnętrznie jako jeden ze standardowych typów danych ABL: INTEGER, INT64 lub DECIMAL. W dokumentacji są podane ciekawe przykłady takich liczb, ale zobaczmy dla przykładu dwie poniższe wartości.

/* Średnica czerwonej krwinki człowieka w [m] */
VAR DECIMAL RedBloodCellDiameter = 7e-6.

/* Średnica wszechświata w [m] */
VAR DECIMAL UniverseDiameter = 8.8e26.

DISPLAY RedBloodCellDiameter FORMAT "9.99999E-99".
DISPLAY UniverseDiameter FORMAT "9.99999E+99".

PAUSE.

Przy wyświetlaniu ważne jest podanie formatu. Na takim zapisie można robić konwersję z wartości znakowych.

Pisałem w zeszłym roku o integracji OE Developr’s Studio z AI Coding Assistant. Wymagało to wykonania kilku czynności. W OpenEdge 13.0 to środowisko zawiera już zintegrowanego Asystenta Kodowania AI obsługiwanego przez ChatGPT.

Inną ważną informacją jest to, że platforma .NET 8 uzyskała certyfikat zgodności z OpenEdge 13.0 zarówno dla aplikacji ABL, jak i .NET Open Client. Certyfikat ten gwarantuje, że aplikacje ABL oraz .NET Open Client po aktualizacji do .NET 8 mogą korzystać z funkcji tej platformy, pozostając jednocześnie w ramach wspieranej wersji środowiska .NET.
.NET 8 jest wersją objętą długoterminowym wsparciem technicznym (LTS), którego zakończenie planowane jest na listopad 2026 roku (od 2023 r.).

Wprowadzono jak zawsze wiele ulepszęń w dziedzinie zabezpieczeń, np. wsparcie dla FIPS 140-3.
FIPS (Federal Information Processing Standards) to zestaw standardów opracowanych przez rząd USA, określających wymagania m.in. w zakresie bezpieczeństwa danych i stosowania algorytmów kryptograficznych.

W kontekście OpenEdge ich znaczenie polega na tym, że zapewniają zgodność z uznanymi normami bezpieczeństwa. Dzięki wsparciu FIPS system może korzystać wyłącznie z certyfikowanych, bezpiecznych mechanizmów kryptograficznych, co jest szczególnie istotne w środowiskach wymagających wysokiego poziomu ochrony danych (np. w instytucjach finansowych lub administracji).

Po więcej szczegółów zapraszam do dokumentacji.

OpenEdge 12

Stało się! Zgodnie z zapowiedziami nowa wersja OpenEdge 12 jest już na rynku. Jak zwykle gdy pojawia się nowy produkt z wyższym głównym numerem towarzyszy mu szczególnie duże zainteresowanie. Jakie najciekawsze nowości niesie ze sobą OE12? Było na ten temat w necie kilka webinarów, firma Galeos dostarczyła jeden po polsku, ale ja chciałem spojrzeć na nowego OpenEdge’a od strony praktyczno-technicznej.

Sztandarową nowością jest szybszy serwer baz danych, zawdzięczający tę poprawę dzięki kilku istotnym usprawnieniom.

Do wersji OE11 włącznie, serwer bazy danych OpenEdge obsługuje żądania od klientów zdalnych w sposób seryjny – jedno po drugim. Jeśli którekolwiek z żądań nie może być od razu obsłużone, na przykład, gdy istnieje blokada rekordu, żądanie to jest zawieszane i przesyłane na tył kolejki. Jeśli blokada rekordu zostanie zwolniona, klient i tak nadal czeka na swoją kolej. W OE12 serwer bazy może obsługiwać klientów zdalnych jako proces wielowątkowy. Służy do tego parametr -threadedServer 1, który jest włączony domyślnie. Równoległe przetwarzanie żądań poprawia wydajność poprzez usprawnienie mechanizmu oczekiwania na zwolnienie blokady (lock wait processing), odseparowanie od połączeń OLTP itp.

Drugą istotną zmianą w technologii jest możliwość obsługi złączeń z kilku tablic po stronie serwera (Server-Side Join). Do tej pory złączenia te były realizowane po stronie klienta, przez co przez sieć była transportowana znacznie większa ilość danych niż ta, która była istotna w zapytaniu. W OE12 takie zapytania są rozwiązywane po stronie serwera. Tylko rekordy, które spełniają warunki zapytania, są przesyłane do klienta, co znacząco poprawia wydajność. Obsługiwane są połączenia FOR EACH do 10 tablic. Funkcja jest włączana parametrem -ssj 1 i wymaga wielowątkowego serwera.

Trzecim elementem jest usprawnienie problemu występowania konfliktów dostępu do tablicy BHT (Buffer Hash Table).  Mechanizm BHT pozwala w wydajny sposób sprawdzić czy żądany blok z danymi znajduje się już w puli buforów, czy też trzeba go wczytać z dysku. Różne procesy walczą o aktualizację tablicy BHT, co wymaga dostępu do zapadek (latch) i tu występują konflikty. Wprowadzono (od 11.7.3) parametr -hashLatchFactor określający ilość zapadek jako procent parametru –hash. Mechanizm ten poprawia współbieżność dla losowego dostępu do puli buforów bazy danych.

Progress Software twierdzi, że powyższe nowości mogą przyspieszyć działanie serwera aż trzykrotnie i to bez jakichkolwiek zmian w samej aplikacji!

PASOE: W nowym serwerze aplikacji wprowadzono PASOE HealthCheck – proces który monitoruje serwer i system operacyjny i określa relatywny „stan zdrowia” agenta PASOE.

Te informacje mogą być użyte do podjęcia działań w celu uzdrowienia PASOE.

Na przykład w nowym interfejsie API mamy StopAgent API, którego zadaniem jest wycofanie bieżącej instancji serwera z eksploatacji (zatrzymanie akceptowania nowych żądań, zakończenie przetwarzania bieżących żądań i wyłączenie); jednocześnie startuje nowa instancja serwera.

Replication AI File Streaming: wprowadzono ulepszony mechanizm w OE Replication.

Serwer replikacji wysyła dane AI w taki sam sposób, jak w poprzedniej wersji (opisanej we wcześniejszym artykule nt OE11), ale wielowątkowy agent replikacji buforuje przychodzące bloki AI w buforze bloku replikacji (RSB). Bloki te są następnie odczytywane z bufora RSB i zapisane w bazach target. Ten mechanizm eliminuje kolejkowanie bloków AI po stronie bazy Source i utratę części danych w przypadku awarii.

Progress Development Studio

Wprowadzono sposób poprawienia jakości kodu ABL dodając Analizator Kodu ABL SonarLint, który stale analizuje i mierzy jakość kodu pokazując problematyczne miejsca. Zawiera także zalecenia jak rozwiązać napotkane problemy, jak lepiej napisać kod. Pomaga to osiągnąć lepsze praktyki kodowania i poprawić wydajność aplikacji.

Analizator można uruchomić dla określonego pliku, zestawu plików, ostatnio zmienionych plików lub nawet całego projektu.

Pierwszym krokiem jest ustawienie w preferencjach zasad i i innych parametrów.

Następnie w istniejącym projekcie wywołujemy Analizę pliku lub plików.

W tym prostym przykładzie, jeśli np. w kodzie jest definicja zmiennej, do której nie ma odniesienia w dalszej części kodu, jest to zgłaszane w Raporcie z analizy.

Zaktualizowany został zestaw kontrolek .NET. OpenEdge 12.0 używa Infragistics NetAdvantage dla .NET.

Tyle wybranych nowości jakie niesie ze sobą nowa wersja OpenEdge 12. Więcej szczegółów szukajcie na stronach Progress Software.

OpenEdge 11.7

Wprowadzeniu najnowszej wersji OpenEdge 11.7 towarzyszyło bardzo duże zainteresowanie. Było ono związane m.in. z niedawnym pojawieniem się nowych technologii i produktów, które szybko zyskują uznanie. Mowa głównie o nowym serwerze aplikacji PASOE i produktach firmy Telerik a także produktach bazodanowych. Ta ostatnia z wersji 11-tkowych (następna ma być OE 12) nie zawiodła oczekiwań. Przyjrzyjmy się co ma nam do zaoferowania.


OpenEdge Authenticating Gateway

OE Authenticating Gateway jest kluczowym elementem scentralizowanego systemu identyfikacji i autoryzacji połączeń z bazą danych. Jest to implementacja systemu Security Token Service (STS) i jest obsługiwane przez różne komponenty OpenEdge.

Centralnym punktem tego systemu jest zabezpieczona instancja Progress Application Server for OpenEdge (PAS) z wdrożoną aplikacją webową OESTS. Serwer bazy ściśle współdziała z Gatewayem: gdy użytkownik che się zalogować do bazy, serwer przesyła jego dane do OEAG w celu identyfikacji i autoryzacji. Jeśli ten proces się powiedzie, Gateway tworzy obiekt tzw. client-principal – zaszyfrowany klucz do dalszych połączeń.


OpenEdge Change Data Capture

OE Change Data Capture (CDC) to nowy produkt służący do przechwytywania i przechowywania zmian (Create, Update, Delete) w bazach danych. CDC działa poprzez specjalne trygery i jest wbudowany w system zarządzania bazą. Zakres przechwytywanych danych zależy od użytkownika, który może zdefiniować zasady (CDC Policy) na poziomie tabel i/lub pól. Dane te są przechowywane w tabeli źródłowej w relacyjnej postaci, a dostęp do nich użytkownik ma poprzez zwykły kod ABL lub SQL. W oparciu o te dane można stworzyć własny system kopiujący wybrane informacje np. do innej bazy i czyszczący je w bazie źródłowej. OE Change Data Capture można kupic oddzielnie lub mieć go za darmo jeśli posiada się licencję OE Advanced Enterprise RDBMS.



OE Replication Target Synchronization

OE Target Synchronization to system wspomagający dostarczanie danych 24x7x365. Jest on rozwinięciem istniejącego OE Replication.
W systemie tym mamy dwie bazy: zródłową i docelową. Transakcje z bazy żródłowej są “przenoszone” do docelowej poprzez bufory AI. W momencie awarii bazy źródłowej (głównej) mamy bazę docelową, która może stać się bazą główną do momentu usunięcia awarii.
Niestety, od tego momentu do odbudowy wyjściowej konfiguracji baza nie jest chroniona.

OE Replication Target Synchronization rozwiązuje ten problem. Replikacja jest tutaj realizowana do dwóch baz docelowych i awaria bazy źródłowej powoduje automatyczne przełączenie na układ: baza źródłowa -> baza docelowa. Administrator ma więcej czasu (i komfortu) aby odbudować bazę główną.

Ten produkt jest darmowy przy migracji z wcześniejszej wersji OE Replication, OE Replication Plus i OE Enterprise Advance RDBMS.

Customer Self Service (CSS)

CSS to portal, w którym możemy znaleźć m.in. wszystkie nasze licencje, których dane mogą posłużyć do wygenerowania pliku konfiguracyjnego .cfg. Wcześniej, jedyną metodą aby ten plik uzyskać była instalacja wybranych produktów. Zmiana pliku była konieczna np. przy zamianie wersji czasowej na bezterminową, dla poprawności danych podczas audytu oprogramowania itp.
Portal dostępny jest pod adresem: https://secure.progress.com/css/



ABL Dojo

Dojo to po japońsku sala do ćwiczeń sztuk walki. To także miejsce gdzie można było testować skrypty Kendo UI. ABL Dojo służy do testowania programów ABL poprzez przeglądarkę www na dowolnym urządzeniu. Dojo jest podłączone do bazy sports2000. Każdy ma do niego dostęp. Sprawdżcie sami: ABL Dojo.

Top Community Requests

Podobnie jak dla poprzedniej wersji użytkownicy OpenEdge mogli wnosić propozycje zmian/ulepszeń i niektóre zostały uwzględnione w OE 11.7 np:

  • Poprawa wydajności OOABL
  • Udoskonalenia w tablicach VST w celu dostarczenia dodatkowych
    informacji podczas procesu debugowania
  • OE Management – alerty i wartości progowe dla PAS
  • Debugger dla Serwera Aplikacji Progress
  • Obsługa EMPTY-TEMP-TABLE dla uchwytu tabeli Temp-table
  • Poprawa wydajności dla OpenEdge Developer Studio
  • inne…

Więcej informacji znajdziecie w dokumentacji Progressa i np. na stronie poświęconej nowościom OE 11.7.

Header image source: Wallpapers Wide.