Rozšíření jednouživatelské verze IS na víceuživatelskou Prezentace Diplomové práce Autor : Libor Tomášek Spoluautoři : Pobucký M., Drábek L. Vedoucí : RNDr. Ďuráková D. PhD.
Obsah ► Úvod a zadání ► Specifikace požadavků ► Analýza ► Základní pojmy ► Návrh a implementace ► Testování a zabezpečení ► Závěr
Úvod ► Zadavatelem projektu je Zemědělský výzkumný ústav Kroměříž ► Současná jednouživatelská verze nese název AgrokromGIS 5.0 ► Rozdělení práce v týmu pro novou verzi : Tomášek Libor – Architektura systému Pobucký Martin – Analýza systému Drábek Ladislav – GUI systému
Specifikace požadavků ► Zachování základní funkčnosti stávající verze v oblasti hospodářské evidence IS. ► Víceuživatelký IS provozovatelný v rámci lokální sítě i Internetu ► IS bude distribuovatelný zákazníkům ► Nezávislé GUI ► Vícejazyčný IS ► GIS modul
Analýza ► Vývojových prostředí ► Volba DB serveru ► Analýza architektury ► Popis technologií a časová analýza ► Výsledky analýzy
Vývojové prostředí a DB server ► IS bude postaven výhradně na platformě Windows XP, 2000 ► Prostředí: Java x C#(.NET) - vybráno ► DBServer: 602SQL Server x MS SQL 2000 (MSDE) – vybráno ► Kriteria : cena licence, transakce, fulltext, adminsitrace, spojení ze C#, import dat z *.sql, počet současně připojených uživatelů.
Architektura - Vrstvy ► Prezentační vrstva – práce Drábek Ladislav ► Databázová vrstva – práce Pobucký Martin ► Logická vrstva – kriteria: topologie, komunikační rámce aplikační rámce ► Topologie: DS bez aplikačního serveru, DS + AS ► Výhody AS: monitorování, aktualizace, škálovatelnost, modularita ► Web aplikace(.Net,Java) x aplikace(.Net,Java) tenký x tlustý klient rychlost vývoje
Technologie ► Distribuovaný objektový systém (DIS) nabízí: Sdílení vzdálených objektů Využití OOM – asynchronní volání pomocí volání událostí Správa životního cyklu Možnost uchování a načtení stavu objektu Škálovatelnost výkonu ► Distribuovaná aplikace.NET ► Časová analýza: Transakce – řeší DS Refresh – řešeno pomocí MVC a DIS Read / Write – řešeno pomocí MVC a DIS
Architektura - Hierarchie Sparx system :Enterprise Architekt
Základní pojmy ► Aplikační server (AS) Je implementován v.NET,C# Využívá DIS Prostředník přístupu k DS Aktulizace datová i programová (i klientů) Monitorovací činnosti Modularita systému Správa a zabezpečení ► Klient je aplikace určenou pro práci uživatele. ► Uživatel, Provozovatel, Administrátor (role) ► P-Server je údržbářský server tvůrce (okolí) ► Firma, Firemní databáze
Návrh – Modularita systému
Aplikační server
Klient
Použití interface pro moduly
Atributy - Metadata ► Možnost definice vlastních meta-informací o kódu : sestavení, třídě, metodě, proměnné. ► Důsledky : AS ani klient neví nic o kódu modulu, přesto pomocí atributů znají : Rozdělení na AS a klienta Práva k modulům, podmodulům, metodám Verzování všech komponent a tříd Které třídy implementují daný interface
Implementace ► OOP techniky: DIS Mechanismus zpráv a událostí je použit ve všech formulářích, ve styku s DB, pro vypisovací soubory,… Dědění a Rozhraní ►.Net možnosti Přetížení operátorů Indexer : this[“key”] Vlastnosti : string Name{get;set;} Atributy – metadata o kódu [serializable] ► Zabezpečení a aktualizace
Závěr ► V rámci práce pro zadavatele vznikl (bez původního záměru) AS, který je natolik obecný a flexibilní, že může být nasazen i pro jiná řešení IS. ► AS je stále ve vývoji: Dynamická modularita Metadata programová i datová DB driver Vývoj klientské aplikace ► Výsledky práce : (Tomášek Libor) Analýza návrh a funkční implementace AS a klientké aplikace Kompletní dokumentace zdrojových kódů, asi 100 tříd v C# Diplomová práce – text Popis aplikačního serveru
Ukázka aplikace
Poděkování ► RNDr. Ďuráková D. PhD. vedení práce koordinace se zadavatelem ► doc. Ing. Miroslav Beneš, Ph.D původní oponent práce konzultace zaměřené na implementaci a další vývoj architektury IS konzultace technologických prostředků