1 Aplikacje mobilne w zastosowaniach medycznychProjekt inżynierski Aplikacje mobilne w zastosowaniach medycznych Promotor: Dr inż. Roman Pindur Wykonawcy: Grzegorz Huber, Bartosz Jaworski, Rafał Stański, Mateusz Zająkała
2 Co się za tym kryje? System wspomagania decyzjiUrządzenia mobilne (palmtopy, komórki) Dostęp online Zarządzanie bazą wiedzy
3 Zastosowania? Medycyna - wspomaganie diagnozy pacjenta - klasyfikacja dolegliwości - dobór środków farmaceutycznych … ale też inne dziedziny w wiedzy, w których decyzje można uzależnić od zbioru zdefiniowanych parametrów wejściowych i zbioru reguł - zastosowania przemysłowe - zastosowania techniczne System ma być łatwy w dostosowaniu do potrzeb użytkowników
4 Technologie J2EE (Enterprise) J2ME (urządzenia mobilne)JBoss (serwer aplikacji) Hibernate (utrwalanie) WebServices (komunikacja) XUL (GUI oparte na XMLu)
5 Dlaczego właśnie te? J2EE to standard enterpriseTechnologie open source (darmowe!) JAVA gwarantuje przenośność i wieloplatformowość WebServices – niezależność modułów, dobrze zdefiniowany interfejs, otwartość Dostępność narzędzi i pomocniczych bibliotek, frameworków
6 Architektura systemu
7 Moduły Serwer aplikacji - „centrum dowodzenia”, moduł centralny - do niego kierowane zapytania - zarządzanie bazą wiedzy - udostępnia interfejsy poprzez WS - musi być odpowiednio zabezpieczony Panel administracyjny - dodawanie, modyfikowanie i usuwanie danych - zarządzanie użytkownikami - przeznaczony dla administratora systemu
8 Moduły (2) Klient mobilny - GUI - przeglądanie dostępnych „problemów” w bazie wiedzy - wprowadzanie zapytań i prezentacja dezycji - „kastomizowalny” interfejs Superkomputer, klaster - tu przebiegają obliczenia - oddzielenie obliczeń od reszty systemu - zapytania asynchroniczne - rozproszenie obliczeń = przyspieszenie ?
9 Bezpieczeństwo Dane poufne (medyczne) Logowanie, dostęp do zasobówZrzucamy ciężar na J2EE ;) JAAS (Java Authentication and Authorization Service)
10 Implementacja
11 Implementacja modułówSerwer aplikacji – JBoss - EJB (2.1? 3.0?) – SessionBeans - WebServices (Axis 1.2, JBossWS, Attachments) - Hibernate 3.0 – utrwalanie (O/R mapping) - Baza danych: FireBird (dialekt podobny do Oracle) Panel administracyjny – Servlet - Tomcat 5.5 (JBossAS) - FreeMarker
12 Implementacja modułów (2)Klient mobilny - XUL – Thinlet - WS-I BP (standard WS) - WebSphere Micro Edition JVM (pod PalmOS) Klaster obliczeniowy - MessageDrivenBeans - JMS (Java Message Service) - Clustering, load-balancing
13 Jak nam idzie? Idzie nam dobrze ;)Zakończone prace nad modułami (EJB2.1) Działające WebService’y Funkcjonalny klient mobilny tak samo panel administracyjny
14 Co jeszcze musimy zrobic?Rozbudować panel administracyjny Dopracowac XUL („kastomizowalność”) Postawić klaster (algorytmy!) Zadbać o bezpieczeństwo systemu Przejść na EJB 3.0 (?)
15 Z czym są trudności? ;( Open source - brak dokumentacji! - częste zmiany wersji Technologie WS - załączniki a JBoss - „XML Hell” - brak „interoperability” Reprezentacja danych - odziedziczony po starszych kolegach system Problemy pozatechnologiczne - jak by się tu zabrać do pracy?
16 Z czego korzystamy? Eclipse 3.1 JBoss IDEJWSDP (Java WebServices Developer’s Pack) GoalProject (dane ISF) Omondo (UML)
17 Co dalej? W tym semestrze system zostanie poszerzonyjEngine – silnik integracji aplikacji – HL7 SVG – Scalable Vector Graphics
18 Pytania? Więcej szczegółów w następnej prezentacji…