|
||||||||
Zadanie
Główne cechy AVAX wyróżnia się spośród podobnych produktów kilkoma istotnymi cechami:
AVAX umożliwia stosowanie na komputerze serwera kombinacji wielu procesów aplikacyjnych, połączonych w jeden system ( multiprocessing ). Poza tym możliwe jest łączenie komputerów w sieci w jeden system - na każdym z nich możliwe jest zastosowanie wielu procesów. Dzięki tej technice możliwe jest optymalne wykorzystanie zasobów komputera i zminimalizowanie efektów negatywnych wywołanych np. przez garbage collection. Zwiększa się również pewność działania systemu przez eliminowanie single point of failure. Możliwa jest również bezpieczna i szybka integracja systemów przez Internet.
Komunikacja pomiędzy częściami systemu bazuje w AVAXie na zoptymalizowanej serializacji przy zastosowaniu języka XML. Bezpośrednio może ona korzystać ze standardu Web Services. Zoptymalizowana komunikacja XML osiąga szybkość działania standardowej komunikacji w oparciu o serializację binarną, dla celów specjalnych istnieje dodatkowo specjalna serializacja binarna, o jeszcze większej szybkości. Dzięki korzystaniu z naszej serializacji możliwa jest integracja komponentów systemów stworzonych w różnych językach programowania. Dzięki stosowaniu komunikacji w XML osiąga się otwartość i możliwość integracji różnych systemów, stworzonych w dowolnym języku programowania. Możliwy jest wybór poprzez zmianę konfiguracji dowolnej kombinacji rodzaju komunikacji w AVAXie: - bardzo szybka komunikacja binarna ( zoptymalizowana w porównaniu ze standardową ) - skomprymowana komunikacja XML - zakodowana komunikacja ( celem zapewnienia bezpieczeństwa na wielu poziomach )
AVAX stosuje wewnętrznie efektywny i elastyczny mechanizm Load Balancing. Żądania klienta są w zależności od oczekiwanego współczynnika obciążenia przydzielane poszczególnym procesom przez Load Balancera. Odpowiednia konfiguracja serwera aplikacji może być zmieniana dynamicznie, ilość aktywnych procesów aplikacyjnych również. Dzięki zastosowaniu kombinacji multiprocessing/clustering AVAX jest w stanie wykorzystać możliwości systemu komputerowego do maksimum, minimalizując straty wynikające z konstrukcji języka programowania czy architektury systemu.
AVAX może być stosowany na dowolnym szeroko stosowanym systemie operacyjnym i komputerze czy procesorze.
AVAX jest zaimplementowany w językach JAVA, C#, C++, Delphi. Moduły connectorów są tworzone również w innych językach programowania. Aplikacje mogą być tworzone w odpowiednim języku programowania i zarządzanie przez AVAX. Jest przy tym możliwe korzystanie z heterogenicznej architektury aplikacji, korzystającej z implementacji w różnych językach programowaniach w poszczególnych częściach systemu. Jest np. możliwe stosowanie implementacji części klienta aplikacji z interfejsem użytkownika napisanym w C# i serwera aplikacji napisanego w JAVie, przy użyciu dużej maszyny UNIX jako serwer. Ponieważ AVAX bazuje na frameworku aplikacji JUVE, proces tworzenia aplikacji nawet w różnych językach programowania jest systematyczny, w pełni można stosować metody inżynierii oprogramowania, dzięki temu nakłady na tworzenie oprogramowania są zmniejszone w stopniu znacznym. Dzięki tym cechom AVAX stwarza architektowi systemowemu zupełnie nowe możliwości architektoniczne przy budowie zarówno produktów softwareowych, dużych systemów informatycznych jak i zintegrowanych systemów informatycznych. Jest np. możliwa realizacja części klienta aplikacji przy pomocy architektury .NET i języka C#, i jednocześnie implementacja części serwera aplikacji przy pomocy języka JAVA lub C++ celem osiągnięcia wysokiej wydajności systemu i jego skalowalności.
Technologia
AVAX zbudowany jest w oparciu o framework aplikacji JUVE. Dzięki stosowaniu odpowiednich adaptorów możliwe jest łączenie modułów napisanych w innych językach programowania. AVAX zasadniczo realizuje koncepcje architektury Service Oriented Architecture. Komunikacja jest bazowo zbudowana w oparciu o standard Web Services. Wewnętrznie implementacja komunikacji klient/serwer w AVAXie korzysta z modułu JUVE Web Services.
Funkcjonalność podstawowa
AVAX zarządza aplikacjami w oparciu o deskryptory aplikacji. Deskryptory aplikacji definiują interfejsy aplikacji ( JUVE Web Service Provider ), rozkazy, użytkowników i ich uprawnienia. JUVE Web Service Provider definiuje interfejs aplikacji i metody wołania na poziomie aplikacyjnym. Metody wołania definiują parametry wejściowe/wyjściowe wykorzystując podstawowe typy danych oraz klasy warstwy domenowej. Tak zdefiniowane interfejsy wykorzystują standard Web Services, mogą być jednak zbudowane w sposób generyczny i wykorzystywać bez konieczności rejestracji struktury aplikacji wysokiego poziomu. Aplikacja może definiować wiele interfejsów Web Service Provider. Architektura wspomaga bezpośrednio reuse software'u: te same interfejsy Web Service Provider i ich implementacje mogą być wykorzystane w wielu aplikacjach.
AVAX realizuje funkcje zarządzania użytkownikami systemu i kontrolą ich praw dostępu. Zarządzanie użytkownikami i ich prawami dostępu bazuje na koncepcji roli użytkownika. Na poziomie roli następuje kontrola dostępu. Użytkownikom systemu można być przyporządkować wiele ról jednocześnie. Zarządzanie użytkownikami i kontrola dostępu jest w AVAXie oddzielne dla poszczególnych zarządzanych przez AVAX aplikacji. Autoryzacja i kontrola dostępu może być zdefiniowana na różnych poziomach: - poziom klas domeny dla każdej klasy domenowej można zdefiniować prawa READ/DELETE/UPDATE - poziom interfejsów Web Service Provider dla każdego interfejsu Web Service Provider w aplikacji można określić prawo wywołania ( EXEC ) - poziom pojedynczych metod interfejsów Web Service Provider dla każdej metody interfejsu Web Service Provider w aplikacji można określić prawo wywołania ( EXEC ) - poziom rozkazów wewnętrznych / zewnętrznych dla każdego rozkazu wykorzystywanego w aplikacji ( wewnętrznego lub zewnętrznego ) można zdefiniować prawo wywołania ( EXEC )
Funkcjonalność dodatkowa AVAX poza funkcjonalnością podstawową dla serwera aplikacji posiada dodatkowe mechanizmy ułatwiające zarządzanie aplikacjami i umożliwiające optymalizacje wykorzystanie zasobów systemu komputerowego:
Resource Manager zarządza zasobami systemowymi, które są wykorzystywane przez aplikacje. Następujące zasoby mogą być zarządzane przez Resource Managera: połączenia do bazy danych, Data Stores, File Stores, etc. Zarządzanie może odbywać się według różnych strategii zarządzania w zależności od charakteru zasobu i sposobu jego wykorzystywania: - Shared Pool Resource Access Strategy - Unlimited Generative Resource Access Strategy - Read Only Resource Access Strategy Celem stosowania Resource Managera jest optymalizacja wykorzystania zasobów systemu komputerowego i maksymalne zwiększenie wydajności aplikacji. Zasadniczo polega to na stosowaniu mechanizmów Pooling i Caching.
AVAX posiada wbudowany moduł automatycznego zarządzania zadaniami w systemie ( Taskscheduler ), który steruje centralnie czasowym uruchomieniem zadań w systemie.
Nowe możliwości w tworzeniu aplikacji i ich stosowaniu
Dzięki zastosowaniu serwera aplikacji AVAX powstają dla architektury systemu istotne korzyści:
Efektywność inwestycji w rozwój oprogramowania jest zwiększona przy użyciu serwera aplikacji AVAX dzięki:
Prezentacja Power Point ( PDF ): Avax Application Server Architecture Kontakt
|
||||||||