OPROGRAMOWANIE
Na podstawie własnych doświadczeń, Praxis Invent przygotował kilka aplikacji pomocnych w realizacji zaawansowanych projektów informatycznych. Poniżej przedstawiamy listę i charakterystykę aplikacji dostępnych komercyjnie.
Aplikacje i Projekty:
IMPORT - Okienkowa Aplikacja Importowania Danych
Idea rozwiązania (Funkcjonalność)
Na podstawie konfiguracji zapisanej w arkuszu Excel, aplikacja tworzy w bazie danych MS-SQL struktury tabel, do których importuje dane z plików Excel. IMPORT pozwala zwykłemu Użytkownikowi przenieść dane z Excel do SQL w sposób łatwy i nie wymagający programistycznej wiedzy. Istotnym elementem „przyjaznego” interfejsu użytkownika jest możliwość elastycznej „konfiguracji” IMPORTu, deklaracji zakresu i formatu wczytywanych danych, zgodności danych względem wzorca.
Aplikacja pozwala tworzyć złożone struktury tabel włącznie ze wsparciem struktur „drzew”, słowników (meta-danych, „multi-atrybutów”), danych XML i triggerów.
Architektura rozwiązania
- Microsoft Windows XP, Windows 7
- Microsoft SQL 2005, 2008
- Microsoft Office
- Microsoft .NET
- DTSPackage
Architektura
W pierwszej fazie aplikacja wczytuje i sprawdza poprawność „konfiguracji” IMPORTu. Kontrolowana jest poprawność logiczna (struktura pliku konfiguracyjnego i kompletność zawartych w nim danych) oraz formalna (sprawdzane jest istnienie i poprawność plików źródłowych).
W drugiej fazie tworzone są struktury tymczasowe, a następnie importowane dane pomocnicze i źródłowe ze sprawdzeniem ich poprawności.. Badana jest zgodność z zadeklarowanym typem. Odbywa się kontrola względem kategorii (słowników). W logu pojawia się pełny raport z informacją o zaimportowanych i odrzuconych danych.
W trzeciej fazie dane są konsolidowane oraz tworzone i aktualizowane są definicje struktur. Następnie struktury te są napełniane od początku lub aktualizowane.
W fazie czwartej jest przeprowadzany proces aktualizacji relacji miedzy danymi w oparciu o wbudowane triggery.
Konfiguracja
WYSZUKIWARKA - Webowa Przeglądarka Danych Tabelarycznych i Drzew
Idea rozwiązania
WYSZUKIWARKA pozwala prezentować dowolne tabele lub widoki z bazy SQL w przeglądarce internetowej. Wyniki są przedstawiane w postaci tabeli (grida) i drzewa kategorii (tree). Prezentowane wyniki mogą być zawężane poprzez operacje na:
(1) kolumnach i drzewach: zasłanianie i odsłanianie,
(2) wierszach: nakładanie warunków filtrujących na jedną kolumnę lub wiele kolumn,
(3) drzewach: nakładanie warunków filtrujących na gałęzie drzew (kategorie słownikowe).
WYSZUKIWARKA może prezentować różne fragmenty widoków SQL gdyż jej konfiguracja jest zapisana w profilu XML. - Microsoft Windows 2003, 2008
Architektura rozwiązania
- Microsoft IIS 7
- Microsoft SQL 2005, 2008
- Microsoft .NET 3.5
- Active Directory (LDAP)
- AJAX- RAD Controls (by Telerik)
Architektura
WYSZUKIWARKA jest internetową kontrolką, zbudowaną zgodnie z modelem MVC (Model-View-Controller) z oddzielonymi warstwami: prezentacyjną i danych. Jest zbudowana na platformie Microsoft ASP.NET w połączeniu z AJAX (Asynchronous JavaScript and XML).
Konfiguracja każdej WYSZUKIWARKI jest zapisana w XML'owym pliku Profilu (kolumnie jest przydzielona: nazwa, dymek, widoczność, kolejność wyświetlania, szerokość, typ, format, zależność względem innych kolumn, itd.).
Bezpieczeństwo zapewnia zarejestrowanie WYSZUKIWARKI w Active Directory (autoryzowany dostęp, określenie źródła danych).
WYSZUKIWARKA może funkcjonować jako niezależny, wolnostojący obiekt lub być elementem złożonego systemu.
Funkcjonalność
WYSZUKIWARKA umożliwia przedstawienie tabeli/widoku bazy danych MS SQL w postaci tabeli wyników. Użytkownik może swobodnie operować kolumnami tej tabeli i przypisanymi jej gałęziami drzew (słownikami), prz. ukrycie, zmiana kolejności i szerokości, sortowanie.
Kluczowe funkcje to możliwość wyświetlania wyników spełniających kryteria wyszukiwania oraz wprowadzenie danych do wyróżnionych kolumn by następnie wykorzystać je w aplikacji współpracującej z WYSZUKIWARKĄ. Kryteria wyszukiwania mogą być nałożone na każdą kolumnę oddzielnie - nałożenie warunków wyszukiwań na kolumnę odbywa się poprzez „Okienko Filtru” przypisane do każdej kolumny, w które należy wpisać warunki i nacisnąć przycisk wyboru 'Filtru'. Gdy warunki nakładane są jednocześnie na kilka wybranych kolumn to wynikiem wyszukiwania są te rekordy, które spełniają wszystkie kryteria – wtedy wykorzystujemy okienko „Szukaj Globalnie”.
Kryteria wyszukiwania oraz układ kolumn i drzew są pamiętane podczas sesji (do czasu zamknięcia przeglądarki).ale mogą zostać zapisane w Profilu - to pozwala wyświetlić różne wyniki w różny sposób po wybraniu żądanego profilu.
Interfejs
PORTAL - Internetowy Okienkowy System Procesowy
Idea rozwiązania
PORTAL składa się z wielu dynamicznie konfigurowanych okien modalnych otwartych w jednej karcie przeglądarki internetowej. Dzięki temu możliwe jest wykonywanie jednocześnie wielu procesów biznesowych (każdy proces w innym oknie) lub przekazywanie zadań pomiędzy Użytkownikami zgodnie z zasadami BPMN. PORTAL zapewnia:
- bezpieczeństwo, gdyż: Użytkownicy i komponenty programowe wymagają rejestracji, autentykacji i autoryzacji z pomocą LDAP - każdy Proces, Rola, Kontrolka, Akcja, Web Service jest mapowany w Active Directory,
- porządek organizacyjny i śledzenie aktywności, gdyż procesowy model wymusza: na Użytkowniku wykonywanie czynności w predefiniowanej sekwencji i zapisanie ważnych przebiegu procesu,
- elastyczność, gdyż ustawienia okien i kontrolek są personalizowane a można równolegle pracować w wielu oknach,
- dostępność, gdyż aplikacja jest dostępna za pomocą przeglądarki Internetowej z każdego miejsca w świecie,
- skalowalność, gdyż wielowarstwowa architektura i Web Service pozwalają swobodnie rozmieszczać składniki. - Architektura rozwiązania
- Microsoft Windows 2003, 2008
- Microsoft IIS 7
- Microsoft WWF
- Microsoft WCF
- Microsoft SQL 2005, 2008
- Microsoft .NET 3.5
- Active Directory (LDAP)
- AJAX
- RAD Controls (by Telerik)
Architektura systemu
Portal jest internetową aplikacją, zbudowaną zgodnie z modelem MVC (Model-View-Controller), z warstwą prezentacyjną oddzieloną od pozostałych warstw a do jego budowy wykorzystano platformę Microsoft ASP.NET w połączeniu z AJAX (Asynchronous JavaScript and XML).
Jako warstwę komunikacji między Portalem a WorkFlow i WebService'ami wybrano technologię Windows Communication Fundation. Takie rozwiązanie gwarantuje wszechstronność i szybkość wymiany komunikatów.
Windows Workflow Foundation realizuje reguły BPMN i steruje Web Service'ami, w których jest zapisana logika biznesowa. W rzeczywistości Web Service'y są odpowiedzialne za przetwarzanie danych pochodzących z warstwy Workflow i DB (bazy danych).
Web Service'y przechowują oraz pobierają dane z bazy danych MS SQL 2008, warstwy DB.
Pomiędzy warstwami DB oraz WS istnieje warstwa dostępu do danych, która jest odpowiedzialna za autentykację Użytkowników oraz autoryzację każdego zapytania w Active Directory. Każdy Użytkownik operuje na Portalu w obrębie roli mu nadanej w usługach katalogowych. Dostęp do dowolnego komponentu, czy aplikacji w Portalu jest ograniczony z dokładnością do roli.
Model
Funkcjonalność
Po poprawnej autoryzacji Użytkownik zostaje przeniesiony do głównego okna Portalu, które jest budowane dynamicznie z kontrolek zapisanych w profilu przypisanym dla roli Użytkownika. Każda kontrolka musi być zarejestrowana w Active Directory i każde wywołanie kontrolki musi być autoryzowane, czyli dozwolone w zależności od roli Użytkownika oraz Stanu Procesu.
Kiedy Użytkownik wybiera akcję z menu Portalu, wówczas odpowiedni komunikat zostaje wysłany poprzez szynę WCF do WWF, gdzie sprawdzane są prawa dla roli użytkownika do wywołania danej akcji. Z Active Directory są pobierane metody oraz parametry niezbędne do wywołania w/w akcji. Te metody uruchamiają Web Service'y warstwy logiki biznesowej. Każda metoda Web Service'u musi być zarejestrowana w Active Directory. Jeżeli potrzebne jest przekazanie danych z/do bazy danych, następuje to przy pomocy Brokera, który autoryzuje każde zapytanie.
Akcja, kończąc działanie, zapisuje dane i zmiany tj. przejście ze stanu do stanu. Każdy stan jest otwierany w nowym oknie modalnym zaś okno reprezentujące stan poprzedni zostanie zamknięte.
Diagram
Dlaczego takie rozwiązanie?
- Wymagania dla serwera:
MS Windows 2008 Server, MS SQL 2008, MS Active Directory, MS .NET 3.5, MS WCF, MS WFF, AJAX
- Wymagania dla klienta - każdy system z przeglądarką internetową:
Windows, Linux, Mac OS X, Unix
- Prostota obsługi:
interfejsem użytkownika jest przeglądarka internetowa
- Centralne zarządzanie oprogramowaniem:
aplikacja znajduje się na serwerze, jedno miejsce administracji i aktualizacji
- Spójność danych:
wszystkie dane zgromadzone w jednym miejscu
- Dostępność i niezależność od sprzętu:
do działania w systemie wystarczy dowolny sprzęt (komputer, palmtop, telefon) z dostępem do internetu
- Skalarność:
dodanie nowej funkcjonalności lub dodatkowego modułu do aplikacji internetowej jest nieporównywalnie prostsze, tańsze i szybsze niż w przypadku tradycyjnej aplikacji.
Proces produkcji oprogramowania
- Specyfikacja:
na tym etapie następuje określenie i ustalenie wymagań, które musi spełniać oprogramowanie
- Projektowanie:
ustalenie ogólnej architektury systemu, wymagań dla poszczególnych jego składowych
- Implementacja:
realizacja ustalonej architektury poprzez implementację składowych (modułów) i połączeń między nimi
- Integracja:
zintegrowanie poszczególnych składowych w jeden system, testowanie całego systemu
- Ewolucja:
uruchomienie systemu, usuwanie wykrytych podczas jego używania błędów, rozszerzanie systemu
WYSZUKIWARKA - Webowa Przeglądarka Danych Tabelarycznych i Drzew
Idea rozwiązania
WYSZUKIWARKA pozwala prezentować dowolne tabele lub widoki z bazy SQL w przeglądarce internetowej. Wyniki są przedstawiane w postaci tabeli (grida) i drzewa kategorii (tree). Prezentowane wyniki mogą być zawężane poprzez operacje na:
(1) kolumnach i drzewach: zasłanianie i odsłanianie,
(2) wierszach: nakładanie warunków filtrujących na jedną kolumnę lub wiele kolumn,
(3) drzewach: nakładanie warunków filtrujących na gałęzie drzew (kategorie słownikowe).
WYSZUKIWARKA może prezentować różne fragmenty widoków SQL gdyż jej konfiguracja jest zapisana w profilu XML. - Microsoft Windows 2003, 2008
Architektura rozwiązania
- Microsoft IIS 7
- Microsoft SQL 2005, 2008
- Microsoft .NET 3.5
- Active Directory (LDAP)
- AJAX
- RAD Controls (by Telerik)
Architektura
WYSZUKIWARKA jest internetową kontrolką, zbudowaną zgodnie z modelem MVC (Model-View-Controller) z oddzielonymi warstwami: prezentacyjną i danych. Jest zbudowana na platformie Microsoft ASP.NET w połączeniu z AJAX (Asynchronous JavaScript and XML).
Konfiguracja każdej WYSZUKIWARKI jest zapisana w XML'owym pliku Profilu (kolumnie jest przydzielona: nazwa, dymek, widoczność, kolejność wyświetlania, szerokość, typ, format, zależność względem innych kolumn, itd.).
Bezpieczeństwo zapewnia zarejestrowanie WYSZUKIWARKI w Active Directory (autoryzowany dostęp, określenie źródła danych).
WYSZUKIWARKA może funkcjonować jako niezależny, wolnostojący obiekt lub być elementem złożonego systemu.
Funkcjonalność
WYSZUKIWARKA umożliwia przedstawienie tabeli/widoku bazy danych MS SQL w postaci tabeli wyników. Użytkownik może swobodnie operować kolumnami tej tabeli i przypisanymi jej gałęziami drzew (słownikami), prz. ukrycie, zmiana kolejności i szerokości, sortowanie.
Kluczowe funkcje to możliwość wyświetlania wyników spełniających kryteria wyszukiwania oraz wprowadzenie danych do wyróżnionych kolumn by następnie wykorzystać je w aplikacji współpracującej z WYSZUKIWARKĄ. Kryteria wyszukiwania mogą być nałożone na każdą kolumnę oddzielnie - nałożenie warunków wyszukiwań na kolumnę odbywa się poprzez „Okienko Filtru” przypisane do każdej kolumny, w które należy wpisać warunki i nacisnąć przycisk wyboru 'Filtru'. Gdy warunki nakładane są jednocześnie na kilka wybranych kolumn to wynikiem wyszukiwania są te rekordy, które spełniają wszystkie kryteria – wtedy wykorzystujemy okienko „Szukaj Globalnie”.
Kryteria wyszukiwania oraz układ kolumn i drzew są pamiętane podczas sesji (do czasu zamknięcia przeglądarki).ale mogą zostać zapisane w Profilu - to pozwala wyświetlić różne wyniki w różny sposób po wybraniu żądanego profilu.
Interfejs