APLIKACJE klasy korporacyjnej charakteryzują się

Wielkość: px
Rozpocząć pokaz od strony:

Download "APLIKACJE klasy korporacyjnej charakteryzują się"

Transkrypt

1 Bezpieczeństwo aplikacyjne w Java EE i Spring Framework Agnieszka Brejnak Instytut Informatyki Wydział Elektroniki i Technik Informacyjnych Politechnika Warszawska A.Brejnak@stud.elka.pw.edu.pl 1 Streszczenie Poniższy artykuł ma na celu przedstawienie na ogólnym poziomie dwóch platform dla tworzenia aplikacji korporacyjnych w języku Java: Java Enterprise Edition w wersji 5 oraz Spring Framework w wersji 2.5. Dodatkowo autor bardziej szczegółowo omówi i porówna pod względem kompletności oraz łatwości użycia dostępne mechanizmy zapewnienia bezpieczeństwa w obydwu tych rozwiązaniach. Zostanie także zaproponowany sposób poprawienia wygody korzystania z deklaratywnego zabezpieczania aplikacji. Słowa kluczowe Java, Java EE, Spring Framework, Spring Security, Bezpieczeństwo aplikacyjne I. Wstęp APLIKACJE klasy korporacyjnej charakteryzują się skomplikowaną logiką biznesową, integracją z systemami spadkowymi a także wysokimi wymaganiami dotyczącymi wydajności, skalowalności oraz bezpieczeństwa. Zaprojektowanie i stworzenie tak skomplikowanego systemu jest czasochłonne i w efekcie bardzo kosztowne. Z tego względu projektanci i programiści tak chętnie korzystają z tak zwanych szkieletów aplikacyjnych, które systematyzują pracę nad systemami ułatwiając te czynności, które powtarzają się w większości projektów. Aktualnie na rynku informatycznym można wybierać między wieloma szkieletami dla aplikacji programowanych w języku Java. Standardem jest Java Enterprise Edition. W ostatnich latach jednak ogromną popularność zdobył Spring Framework zmniejszając znaczenie oryginalnej specyfikacji firmy Sun Microsystems. W pierwszej części artykułu zostanie przedstawiony standard Java EE oraz szkielet aplikacyjny Spring Framework. Autor pokaże główne problemy JEE oraz różnice funkcjonalne jak i logiczne między tymi platformami. W drugiej części artykułu omówione zostaną sposóby zapewnienia bezpieczeństwa aplikacynego w JEE oraz Spring Framework. Następnie autor zapronuje sposób wyeliminowania uciążliwości związanych z deklaratywnym opisem reguł dostępu do aplikacji. II. Java EE Według definicji producenta: JEE definiuje standard tworzenia wielowarstwowych aplikacji opartych na komponentach, oraz opisuje wymagania wobec ich środowiska wykonania. [1]. Java EE wykorzystuje dorobek Javy SE oraz definiuje dodatkowe usługi co ma prowadzić do uproszczenia procesu tworzenia i wdrażania bezpiecznych i stabilnych rozwiązań biznesowych. A. Historia JEE Pierwszy standard Javy w wersji korporacyjnej został opracowany w 1998 roku. Początkowo zawierał tylko specyfikację komponentów Enterprise Java Beans (EJB) oraz Servletów. Kolejne wersje - J2EE 1.2, 1.3, 1.4, aż do JEE 5 (zmiana sposobu wersjonowania) wnosiły poprawki do poprzednich wersji oraz rozszerzały portfolio technologii. B. Opis platformy JEE Na jakość i rozległe możliwości Java EE wpływają przede wszystkim specyfikacje jej technologii składowych. Głównymi jej częściami są komponenty EJB, servlety, strony Java Server Pages (JSP), framework Java Server Faces (JSF), ale również mechanizmy do wydajnej obsługi plików XML (StAX) czy komunikacji z usługami sieciowymi (JAX-WS). Z wymienionych wyżej technologii programista może korzystać bezpośrednio. Jednak JEE definiuje także standard usług, które muszą zostać udostępnione przez serwer aplikacyjny - transakcyjność, bezpieczeństwo, obsługa protokołów i inne. Rys. 1 Technologie JEE Serwer aplikacyjny jest niezbędnym środowiskiem uruchomieniowym dla aplikacji biznesowej JEE. Dodatkowo, jak zostało pokazane na rysunku B, kompletnie funkcjonalny serwer musi udostępniać dwa rodzaje kontenerów:

2 2 Webowy (do obsługi żądań wysyłanych przez protokół HTTP/HTTPS) oraz EJB (do realizacji logiki biznesowej). Klientami aplikacji biznesowej mogą być standardowe wolnostojące aplikacje biurkowe Javy, przeglądarki internetowe, inne aplikacje biznesowe oraz usługi sieciowe. C.2 Java Server Faces JSF jest to szkielet webowy wspomagający tworzenie interfejsu użytkownika aplikacji JEE uruchamianych po stronie serwera. Najczęściej wykorzystuje się go w aplikacjach zgodnych z architekturą MVC rozdzielającą interfejs graficzny, od warstwy logiki i danych. JSF jest nazywany technologią wspierającą, gdyż wykorzystuje ona istniejące mechanizmy (JSP oraz Servlety), aby usprawnić tworzenie aplikacji. JSF ułatwia: nawigację między stronami JSP umiędzynarodowianie aplikacji walidację formularzy obsługę wyjątków zarządzanie cyklem życia obiektów D. Problemy Mimo iż specyfikacja JEE jest dojrzałym i wciąż rozwijanym standardem cieszy się coraz mniejszą popularnością. Jakie są tego przyczyny? Źródła takich trendów są zarówno technologiczne jak i marketingowe. Rys. 2 Architektura aplikacji JEE Należy mieć świadomość, że JEE nie jest produktem a jedynie specyfikacją, zestawem API, które zostają dopiero zaimplementowane przez producentów serwerów aplikacyjnych. Producenci Oracle, IBM czy BEA muszą poddać swoje rozwiązania zestawowi testów (Java EE 5 Compatibility Test Suite) przygotowanych przez firmę Sun, aby zostały one uznane za zgodne ze specyfikacją. Oznacza to, że udostępniają wszystkie usługi w sposób określony przez dokumentację JEE. C. Główne technologie JEE Składowe specyfikacji JEE są bardzo obszerne i autor mógłby poświęcić każdej z nich osobny artykuł. Ponieważ nie jest to przedmiotem tego artykułu zostaną przedstawione jedynie dwie istotne elementy JEE. C.1 Enterprise Java Beans Ziarna EJB są immanetnym i centralnym elementem specyfikacji JEE. EJB są reużywalnymi komponentami aplikacyjnymi, które realizują logikę biznesową. Począwszy od wersji 3.0 są zwykłymi klasami Javy (Plain Old Java Object) dodatkowo opatrzonymi adnotacjami, które umożliwiają rozpoznanie, zarejestrowanie i zarządzanie nimi przez kontener. Środowiskiem wykonania EJB jest kontener EJB, co umożliwia dostarczenie im zadeklarowanych usług takich jak bezpieczeństwo i transakcyjność. Ziarna EJB dzielą się na ziarna sesyjne i sterowane komunikatami. Wyjątkowo nieudana specyfikacja ziaren encyjnych (w wersjach 2.x) została zastąpiona przez zupełnie nowe rozwiązanie utrwalania danych - Java Persistence API. D.1 Złożoność Zestaw API wymagany przez Sun wobec producentów serwerów jest zdecydowanie zbyt obszerny. Nawet dwa lata nie wystarczyły niektórym wiodącym producentom na zaimplementowanie całego standardu. Aby rozwiązać ten problem grupa ekspercka, która planuje wydać kolejną wersję JEE we wrześniu, chce podzielić specyfikację na części i umożliwić producentom etapowe zdobywanie kompatybilności. D.2 Brak wsparcia dla testów jednostkowych W dobie zwinnego (agile) zarządzania projektami programiści dużą wagę przykładają do testów. W podejściu TDD (Test Driven Development) najpierw powstają testy jednostkowe, następnie implementowane są klasy. Niestety JEE nie wspiera testów jednostkowych w żaden sposób. Można zauważyć, że przez konieczność uruchamiania komponentów biznesowych (ziaren EJB) na serwerach aplikacyjnych, nawet je utrudnia. D.3 Powolne zmiany Od początku Java w wersji korporacyjnej z opóźnieniem reagowała na zmiany w dynamicznym i wymagającym środowisku informatyków. Można wymienić Java Persistence API, jako naśladowcę otwartego frameworku Hibernate, adnotacje jako kopię XDoclet, czy framework Java Server Faces wzorowany na Struts. Wstrzeliwanie zależności (DI) to mechanizm, którego implementacja pojawiła się na przykład w kontenerze Spring IoC wcześniej niż zostało to uwzględnione w JEE. Te rozwiązania pojawiły się w standardzie JEE na tyle późno, że programiści nie okazali im dużego zainterosowania i zaufania. D.4 Zła opinia Programowanie przy użyciu J2EE 1.4 było uciążliwe, komponenty EJB nie mogły być implementowane jako

3 BEZPIECZEńSTWO APLIKACYJNE W JAVA EE I SPRING FRAMEWORK 3 POJO, utrwalanie danych było żmudne. Przyczyniło się to do powstania artykułów takich jak 101 EJB Damnations (101 przekleństw EJB) [11]. Pomimo tego, iż Java EE 5 jest zdecydowanie bardziej dopracowana niż jej poprzednia wersja, jednak nie udało się jej zupełnie odmienić złej opinii programistów. III. Spring Framework Trudno jest odnaleźć poprawną, pełną i zrozumiałą definicję Spring Framework. Jest to związane z tym, że Spring pełni dwie odległe od siebie funkcje w tworzeniu i uruchamianiu aplikacji. W swojej książce R. Harropand zwięźle opisał Springa: Spring is a lightweight inversion of control and aspect-oriented container framework [6] Oznacza to, że Spring jest z jednej strony szkieletem aplikacyjnym, wspomagającym proces tworzenia oprogramowania, dostarczający pewnych gotowych mechanizmów, oferujący sprawdzone schematy rozwiązań dotyczących architektury aplikacji i przepływu sterowania. Jest także kontenerem, czyli środowiskiem uruchumieniowym dla aplikacji. A. Historia SF Spring Framework 1.0 został wydany przez firmę Interface21 (aktualnie SpringSource) w marcu Główna idea oraz pierwsze kody źródłowe zostały opublikowane przez ojca Springa Roda Johnsona książce jego autorstwa w 2002 roku. [4]. Aktualnie obowiązuje wersja 2.5. Moduł Core to komponent odpowiadający za udostępnienie funkcje kontenera. Kontener Springowy (często nazywany kontenerem IoC) jest podobny do kontenera serwera aplikacyjnego pod względem funkcji jakie spełnia - zarządzanie cyklem życia obiektów, wstrzeliwanie zależności, udostępnienie usług katalogowych, zapewnienie transakcyności i bezpieczeństwa. Jednak kontener Springa nie jest tym samym co kontener EJB, gdyż może zostać uruchomiony z jednej linii kodu źródłowego na zwykłej maszynie wirtualnej Javy. Z tego względu aplikacje korzystające ze Springa nie potrzebują serwera aplikacyjnego (ale mogą być uruchamiane także na nich). Rys. 4 Komponenty biznesowe JEE muszą być uruchomione w kontenerze EJB B. Opis platformy SF W przeciwieństwie do JEE Spring nie został zaprojektowany zgodnie z ideą wszystko albo nic. Jego architektura jest modułowa, a każdy komponent jest niezależny od pozostałych, co oznacza, że do systemu można wykorzystać tylko część możliwości frameworku, co nie koliduje z innymi wykorzystywanymi technologiami. Istotne jest, iż Spring pełniąc rolę szkieletu aplikacyjnego wspomaga tworzenie aplikacji na każdym poziomie od zarządzania cyklem życia obiektów, dostęp do danych po programowanie aspektowe. Rys. 5 Kontener Springa uruchamiane na JVM lub w kontenerze webowym Rys. 3 Architektura modułowa Spring Framework C. Główne cechy SF C.1 Kontener Zgodnie z definicją przytoczoną na początku tego rozdziału można stwierdzić, że Spring cechuje się lekkim, nieinwazyjnym kontenerem (nie wymaga wykorzystania swoich specyficznych metod, rozszerzania klas czy realizacji interfejsów w kodzie źródłowym aplikacji). Kontener Springa jest typu Dependency Injection, co oznacza, że w jego zakresie leży identyfikacja i tworzenie obiektów aplikacji. Obowiązek zarządzania cyklem życia obiektów,

4 4 ich instancjonowanie, konfigurowanie i dekorowanie dodatkowymi usługami zostało zdjęte z aplikacji i przekazane frameworkowi. Czyni to kod prostszym, a powiązania między obiektami - luźniejszymi. C.2 Programowanie aspektowe Dodatkowo umożliwia programowanie aspektowe dzięki któremu można deklaratywnie zapewnić bezpieczeństwo i transakcyjność. C.3 Ułatwienia dostępu do danych Spring stara się zrealizować swój cel ( ułatwienie tworzenie aplikacji korporacyjnych w Javie [3]) i dostarcza mechanizmy znacznie upraszczające implementację warstwy dostępu do danych. Klasycznym przykładem iustrującym to ułatwienie jest dostęp do bazy danych poprzez JDBC. Przy podejściu standardowym (programista korzysta jedynie z JDBC) konieczne jest zestawianie połączenia, zamknięcie połączenia, łapanie wyjątków w razie niepowodzenia, a obsługa wyniku zapytania nie jest intuicyjna. Spring eliminuje te irytacje dostarczając klasę JdbcTemplate, która zwalnia programistę z pisania zbędnego kodu. Żmudne obowiązku obsługi bazy danych framework przejmuje i wykonuje w sposób poprawny acz niewidoczny. C.4 Wykorzystanie innych technologii Spring nie ogranicza możliwości wyboru innych technologii i rozwiązań, a nawet dostarcza mechanizmy integracji. Aby osiągnąc pożądany efekt użycie Springa można połączyć z elementami JEE, Hibernate, TopLink, Struts, WebWork, Apache CXF... C.5 Usprawnienia testów W przeciwieństwie do JEE aplikacje Springowe nie potrzebują serwera aplikacyjnego jako środowiska uruchomieniowego. Oznacza, to wygodniejsze testowanie jednostkowe, które może być wykonane na dowolnej wirtualnej maszynie Javy. Dodatkowo Spring udostępnia także pakiety usprawniające pisanie nietrywialnych przypadków testowych. IV. Porównanie JEE i Spring Należy zwrócić uwagę, że kluczową różnicą między JEE a Spring jest różnica logiczna. Podczas gdy JEE jest tylko standardem, Spring jest jednocześnie standardem i implementacją swojego API. Świadomość tej różnicy jest niezbędna do poprawnego spojrzenie na możliwości obydwu tych platform. JEE i Spring Framework współistnieją zgodnie w środowisku aplikacji korporacyjnych od czterech lat ponieważ nie są one tym samym. Aktualnie współpraca między firmami Sun i SpringSource układa się poprawnie - SpringSource został zaproszony do tworzenia JEE 6 jako członek grupy ekspertów oraz do wygłoszenia kilku architektura modułowa nie tak wstrzeliwanie zależności tak(ograniczenia) tak wymagany kontener EJB tak nie inwazyjność tak nie adnotacje tak tak TDD nie tak inne technologie nie tak TABLE I Cechy JEE i Spring Framework refereratów na największej corocznej konferencji organizowanym przez Sun - Java One Jeden z nich został poświęcony bezpieczeństwu aplikacyjnemu. V. Bezpieczeństwo Bezpieczeństwo w informatyce może być definiowane na wielu poziomach. Wśród podstawowych poziomów wymienia się: ochrone fizycznego dostępu do urządzeń, zabezpieczenia systemu operacyjnego, sieci komputerowych, baz danych, aplikacji oraz ochronę komputera użytkownika końcowego. Dodatkowo, w korporacjach przybiera na znaczeniu uświadamaianie pracowników przed socjotechnikami służącymi wyłudzeniu haseł czy uzyskaniu fizycznego dostępu do maszyn. VI. Bezpieczeństwo aplikacyjne Zapewnienie bezpieczeństwa w aplikacji to trudne zadanie, które spoczywa na programiście. Bezpieczna aplikacja to taka, która nie tylko sama nie stanowi zagrożenia dla zasobów informacyjnych i sprzętowych, ale również w swoim zakresie uniemożliwia niepowołany dostęp do nich. Problemy i zadania dla aplikacji możemy sprowadzić do listy zagadnień: Uwierzytelnianie czyli weryfikacja tożsamości użytkownika Autoryzacja czyli kontrola dostępu do zasobów przez uwierzytelnionego użytkownika Integralność danych czyli zabezpieczanie danych przed zamierzoną lub niezamierzoną błędną zmianą Niezaprzeczalność czyli uniemożliwienie zaprzeczenia aktywności użytkownika Logowanie aktywności czyli dokładny zapis aktywności użytkownika w systemie Wykrywanie aktywności człowieka czyli ochrona przed użytkowaniem przez maszynę aplikacji przeznaczonej dla człowieka A. JEE Security i Spring Security Zarówno Java Enterprise Edition jak i Spring Framework wspierają programistę w tworzeniu systemu bezpieczeństwa dla aplikacji korporacyjnych. Bezpieczeństwo w JEE jest traktowana jako jedna z usług udostępnianych przez serwer. Spring Security (wcześniej znany jako Acegi Security) to jeden z projektów należących do Spring Framework.

5 BEZPIECZEńSTWO APLIKACYJNE W JAVA EE I SPRING FRAMEWORK 5 A.1 Różnica logiczna Można przyjąć, że mechanizmy ochrony aplikacji dostępne dla programisty w Java EE i Spring Security mają wiele cech wspólnych. Jednak przed zaprezentowaniem możliwości obydwu tych platform należy zanotować, że bezpieczeństwo w JEE jest tylko zestawem API, który ma być zaimplementowany przez serwer aplikacyjny. Oznacza to, że realizacja mechanizmów bezpieczeństwa różnić się będzie między serwerami różnych producentów. Dlatego nie można powiedzieć, że bezpieczeństwo zapewniane przez JEE jest przenośne - zdarza się bowiem, że należy ponownie konfigurować ustawienia bezpieczeństwa przy zmianie serwera. Spring Security jest specyfikacją, ale jednocześnie dostarcza szeroką gamę implementacji swojego API wystarczającą dla zdecydowanej większości projektów. Dodatkowo zgodnie z ideą otwartego oprogramowania Spring Security jest stosunkowo łatwo rozszerzalne i umożliwia dostarczenie własnych implementacji. Jest to przydatne, gdy aplikacja musi zintegrować się z niestandardowymi dla korporacji systemami wymagającymi specyficznych mechanizmów bezpieczeństwa. Takie sytuacje nie zdażają się zapewne często, ale zostały przewidziane przez projektantów Spring Security. To wszystko oznacza to, że zagwarantowana jest rzeczywista przenośność polityki bezpieczeństwa na poziomie pliku WAR (Web ARchive) lub EAR (Enterprise ARchive). Jeśli jednak projektantowi zależy na skorzystaniu z rozwiązań dostarczanych przez serwer aplikacyjny, to również ma taką możliwość, w oczywisty sposób wpływa to ujemnie na przenośność. Różnica logiczna między mechanizmami bezpieczeństwa w JEE i Spring jest dokładnie taka sama jak między samymi platformami JEE i Spring. B. Architektura JEE definiuje jedynie zestaw API jakie ma zostać udostępnione przez kontener dla programisty - implementacja może być odmienna dla różnych serwerów aplikacyjnych, z tego względu nie można wspolnej architektury. W przeciwieństwie, Spring Security jako platforma do zabezpieczania aplikacji ma jasno sprecyzowaną architekturę i sposób działania. Opiera się ona na metodach przechwytujących zdarzenia oraz serii filtrów, które uruchamiane w określonej kolejności zapewniają kolejne poziomy zabezpieczeń. Wykonanie oraz kolejność wykonania filtrów jest konfigurowalna. Dodatkowo, istnieje możliwość dodania własnych specyficznych filtrów wykonujących niestandardowe działania zabezpieczające. B.1 Definicja reguł bezpieczeństwa Reguły bezpieczeństwa w aplikacji obejmują ustalenie listy ról w systemie, ich uprawnienia oraz zadeklarowanie akcji zabezpieczających. Ich zdefiniowanie możliwe jest na trzy sposoby: programowe deklaratywne, zawyczaj w zewnętrznym pliku XML poprzed adnotacje Rys. 6 Wiele filtrów chroni zabezpieczany zasób Istnieją wady i zalety każdego z tych podejść. Najrzadziej stosuje się programowe zabezpieczanie aplikacji - jest ono najbardziej podatne na błędy i zaniedbania programisty, a ponadto polityka bezpieczeństwa pozostaje zapisana na stałe w kodzie aplikacji, co znacznie utrudnia jej modyfikację. Programowe zapewnianie bezpieczeństwa wpływa także ujemnie na reużywalność kodu. Adnotacje częściowo rozwiązują ten problem, gdyż nie jest konieczna modyfikacja ciał klas i metod aby zmienić dla niej regułę dostępu, wystarczy bowiem tylko zmodyfikować adnotację. Rozwiązanie z deklaracją bezpieczeństwa w zewnętrznym pliku (najczęściej w języku XML) sprawia, że bezpieczeństwo staje się aspektem zupełnie niezależnym od implementacji logiki. Niestety oznacza to konieczność stworzenia nowego, zazwyczaj obszernego pliku konfiguracyjnego dla aplikacji. W dalszej części artykułu autor przyjmie właśnie ten sposób definicji polityki bezpieczństwa. B.2 Obszary zabezpieczeń W JEE temat bezpieczeństwa jest podzielony na dwa główne obszary. Pierwsza z nich to zabezpieczenie warstwy webowej, opisane w specyfikacji servletów i zapewniana przez kontener webowy. Druga to zabezpieczenia ziaren EJB. Specyfikacja EJB wskazuje na możliwość deklaratywnego i programowego zabezpieczania wywołań metod komponentów oraz wyboru sposobu przekazywania kontekstu przy wywołaniach zdalnych. W przypadku Spring Security bezpieczeństwo jest potraktowane całościowo. Można jednak wyróżnić trzy obszary aplikacji, które mogą być chronione: warstwa webowa - zakres zabezpieczeń porównywalny do warstwy webowej JEE warstwa serwisowa - zabezpieczenie wywołania metod wszystkich używanych obiektów (nie tylko ziaren EJB jak w przypadku JEE)

6 6 warstwa obiektów - dodatkowy poziom zabezpieczeń, niedostępny w JEE, umożliwia kontrolowanie dostępu do instancji obiektu W przypadku aplikacji Springowej - wszystkie obiekty są zarządzane przez jeden kontener IoC i można je w całości zabezpieczać. Aby włączyć metody zabezpieczenia dla aplikacji korzystającej ze szkieletu Spring należy do deskryptora aplikacji (pliku web.xml) dołączyć konfigurację filtrów przechwytujących żądania użytkowników: <filter> <filter-name> springsecurityfilterchain </filter-name> <filter-class> org.springframework.web.filter.delegatingfilterproxy </filter-class> </filter> <filter-mapping> <filter-name> springsecurityfilterchain </filter-name> <url-pattern>/*</url-pattern> </filter-mapping> B.3 Uwierzytelnianie W specyfikacji JEE określone jest wymaganie wsparcia (przez serwery aplikacyjne) dla czterech rodzajów uwierzytelniania: basic - podstawowe, obsługiwane przez przeglądarkę digest - podstawowe z szyfrowaniem hasła form-based - formularz logowania przygotowany przez aplikację X509 - bezpieczne uwierzytelnianie, połączone z wymianą certyfikatów Korzystając ze Spring Security oprócz wyżej wymienionych mechanizmów uwierzytelniania programista może jeszcze użyć trzech dodatkowych sposobów: remember-me - umożliwia zapamiętanie loginu i hasła użytkownika pomiędzy sesjami (bardzo chętnie wykorzystywane w korporacyjnych stronach www) SSO - uwierzytelnianie realizowane jako przekierowanie użytkownika do centralnej strony logowania anonimowe - umożliwia przypisanie nieuwierzytelnionemu użytkownikowi roli (a co za tym idzie także uprawnień). Prowadzi to do ujednolicenia zapisu uprawnień dla wszystkich użytkowników. Aby dokonać uwierzytelnienia należy nie tylko pobrać od użytkownika jego nazwę i hasło, ale także je zweryfikować. Lista użytkowników z hasłami może zostać podawna w dowolny sposób: bezpośrednio w aplikacji, bądź w pliku (te dwa podejścia są używane w procesie tworzenia oprogramowania i testów) a także w bazie danych, repozytorium LDAP czy systemach obsługujących SSO (te podejścia są najczęściej używane). Możliwe jest również włączenie szyfrowania hasła wybranym algorytmem. C. Autoryzacja Autoryzacja, czyli kontrola dostępu, jest możliwa po uprzednim uwierzytelnieniu użytkownika. W Spring Security jak i JEE autoryzacja jest umożliwia sprawdzenie czy użytkownik posiada wystarczające uprawnienia, aby zobaczyć żądaną stronę, czy też wykonać wskazaną metodę z danej klasy. Dodatko w Spring Security można również autoryzować wyniki działania aplikacji. W Spring Security decyzję o przyznaniu dostępu podejmuje się w drodze głosowania - jeśli zarejestrowano kilka mechanizmów sprawdzenia uprawnień, to każdy informuje o swojej decyzji. Ostateczna decyzja może być podjęta na kilka sposobów: AffirmativeBased - decyzja pozytywna jeśli choć jeden głos jest pozytywny ConsensusBased - decyzja jest zgodna z decyzją większości głosów UnanimousBased - decyzja pozytywna wtedy i tylko wtedy gdy wszystkie głosy są pozytywne custom - reguły rozstrzygania zaimplementowane przez programistę D. Zabezpieczenie kanału W przypadku zabezpieczania komunikacji aplikacji z klientem korzystającym z przeglądarki zarówno Spring Security jak i JEE pozwalają na wymuszenie protokołu HTTPS. Aby to zapewnić należy w pliku XML opisujacym instalację aplikacji zamieścić odpowiednią konfigurację. Tak jak w poprzednich przypadkach platforma Spring Security pozwala na większą elastyczność konfiguracji i umożliwia ustawienie wymagań dotyczących kanału transportu dla poszczególnych stron lub grup stron. <bean id="channelprocessingfilter" class="org(.sf.s).securechannel.channelprocessingfilt <property name="channeldecisionmanager" ref="channeldecisionmanager"/> <property name="filterinvocationdefinitionsource"> <sec:filter-invocation-definition-source> <sec:intercept-url pattern="/secure/.*" access="requires_secure_channel"/> <sec:intercept-url pattern="/login.jsp" access="requires_secure_channel"/> <sec:intercept-url pattern="/**" access="requires_insecure_channel"/> </sec:filter-invocation-definition-source> </property> </bean> E. Warstwa serwisowa Zarówno JEE i Spring Security umożliwiają deklaratywne określenie uprawnień do wywołania metod danej klasy. W obydwu tych rozwiązaniach zapewnienie bezpieczeństwa jest zapewnione poprzez definicję odpowiednich aspektów. W przypadku Spring Security żądania wykonania metod są przechwytywane a filtry sprawdzają czy użytkownik ma prawo wykonać daną metodę wybranej klasy. Dodatkowo Spring Security umożliwia użycie filtrów, które

7 BEZPIECZEńSTWO APLIKACYJNE W JAVA EE I SPRING FRAMEWORK 7 Rys. 7 Wymuszenie HTTPS są uruchamiane po wykonaniu metody - mają one na celu sprawdzenie czy dany użytkownik (który miał prawo wykonać daną metodę) ma także dostęp do wyniku działania metody. W szczególności filtr może wyrzucić wyjątek, bądź zmienić wynik działania metody poprzez usunięcie z listy wyników obiektów, do których użytkownik nie ma uprawnień. F. Ochrona instancji obiektów Aspekt drobnoziarnistej ochrony obiektów, dotyczącej konkretnej instancji obiektu, a nie klasy został całkowicie pominięty w specyfikacji JEE - takie zabezpieczenie można osiągnąć jedynie programowo. Deklaratywne określenie takich uprawnień jest możliwe w Spring Security. Każda instancja obiektu może mieć swoją własną listę uprawnień - tzw ACL (Access Control List), określającą uprawnienia dostępu do tej instancji i wywołania jej metod. Dodatkowo Spring Security umożliwia sprawdzenie, aby dany użytkownik ma uprawnienia do wyników działania metod. G. Dodatkowe możliwości W porównaniu do bezpieczeństwa w JEE, Spring Security umożliwia dodatkowo kontrolę łącznej ilości sesji danego użytkownika, wsparcie dla hierarchicznych ról użytkownika, grup oraz integrację z mechanizmem wykrywania ludzkiej aktywności: JCaptcha. H. Porównanie i identyfikacja problemów Z punktu widzenia zapewnienia podstawowego bezpieczeństwa funkcjonalność JEE jak i Spring Security nie różnią się istotnie. Jednak to projekt firmy SpringSource daje większe możliwości zdefiniowanie dokładniejszych zasad dostępu do aplikacji. Większa różnorodność mechanizmów uwierzytelniania, wsparcie dla hierarchicznych ról, kontrola dostępu do instancji obiektu czynią Spring Security rozwiązaniem bardziej kompleksowym i gwarantującym większą elastyczność. Dodatkowo definiując zabezpieczenia na poziomie JEE programista nie ma pewności jak zostaną one zaimplementowane w serwerze aplikacyjnym, nie ma nad nimi pełnej kontroli ani możliwości dodatkowej ich konfiguracji. Dzięki zapewnieniu usług bezpieczeństwa przez kontener Springa, a nie kontener serwera aplikacyjnego systemy korzystające z frameworku Spring są całkowicie przenośne między różnymi serwerami i ustawienia polityki bezpieczeństwa mogą pozostać niezmienione. Łatwo widać, że bezpieczeństwo w aplikacjach korporacyjncych jest głównie konfigurowane a nie programowane. Chcąc zapewnić złożone reguły bezpieczeństwa należy je opisać w zewnętrznych plikach XML. W przypadku prostych, standardowych reguł bezpieczeństwa opis nie jest skomplikowany - w przypadku Spring Security 2.0 powstało nawet udogodnieniem, które przyjmując pewne założenia generuje podstawowe reguły na podstawie znikomej ilości kodu XML. Jednak dla bardziej złożonych i niestandardowych mechanizmów napisanie i utrzymanie spójności w tych plikach jest niestety czasochłonne i nużące. To jest cena jaką płaci się za odseparowanie logiki biznesowej aplikacji od jej polityki bezpieczeństwa. VII. Rozszerzenie dla Eclipse Nie da się przecenić korzyści płynących z rozdzielenia logiki biznesowej aplikacji od jej wymagań dotyczących bezpieczeństwa. Spring Security umożliwia zadeklarowanie reguł bezpieczeństwa na dużym poziomie szczegółowości - jednak nie jest to rozwiązanie idealne. Głównym problemem przed którym staje programista jest stworzenie, a następnie utrzymanie zewnętrznego pliku XML. Usprawnienie deklarowanie reguł bezpieczeństwa dla aplikacji korporacyjnych napisanych w Javie przy użyciu Spring Security można osiągnąć poprzez zautomatyzowanie procesu tworzenia potrzebnych wpisów konfiguracyjnych dla aplikacji. Autor proponuje stworzenie rozszerzenia graficznego dla cieszącego się dużą popularnością środowiska aplikacyjnego Eclipse IDE, w którym programista mógłby za pomocą interfejsu graficznego włączyć i skonfigurować obsługę filtrów przechwytujących, a także określić wymagania dotyczące zabezpieczenia apikacji na wszystkich poziomach wspieranych przez Spring Security. Wtyczka będzie integrować się z istniejącym już rozszerzeniem IDE, będzie umożliwiała rozpoznawianie obiektów aplikacji ich elementów składowych i zdefiniowanych metod. Rozszerzenie to będzie dostępna na każdym etapie procesu tworzenia systemu, w szczególności umożliwi dodanie reguł bezpieczeństwa dla gotowej aplikacji, a także tej będącej w fazie implementacji. Eclipse IDE jest ot- Rys. 8 Eclipse i jego budowa wartą i rozszerzalną platformą wspieraną przez firmę IBM. Z wyjątkiem niewielkiego jądra aplikacji, cała funkcjonalność jest zrealizowana poprzez wtyczki. Taka architektura gwarantuje jednolity sposób rozszerzania aplikacji oraz

8 8 standardowy dostęp do komponentów aplikacji takich jak interfejs graficzny, pomoc, debugger i innych zasobów. VIII. Podsumowanie W pracy przedstawiono standard Java Enterprise Edition i szkielet aplikacyjny Spring Framework, ich możliwości i niedociągnięcia, a także wyjaśniono główną logiczną róźnicę między nimi. Omówione zostały także omówione sposoby zapewnienia bezpieczeństwa dla aplikacji korporacyjnych dostępne w obydwu tych rozwiązaniach na podstawie specyfikacji zabezpieczeń servletów, komponentów EJB oraz projektu Spring Security. Autor ocenił możliwości oraz wygodę użycia obydwu mechanizmów. W ostatniej częsci dokumentu zostało zaproponowane i opisane rozwiąznie usprawniające definiowanie i zarządzanie reguł bezpieczeństwa dla Spring Security. Literatura [1] Shannon, B.: Java EE Specification, Sun Microsystems, 2006 [2] Mukhar, K., Zelenak, C.: Java EE 5 from Novice to Proffesional, Apress, 2006 [3] Walls, C., Breidenbach, R.: Spring in Action, Manning Publications Co., 2008 [4] Johnson, R. et al.: Expert one-on-one J2EE Design and Development, Wrox, 2002 [5] Johnson, R. et al.: Professional Java Development with the Spring Framework, John Wiley and Sons, 2005 [6] Harropand, R., Machacek, J.: Pro Spring, Apress, 2005 [7] Liu, X.: From Java EE security to Acegi, The right way to protect your Web applications, JavaWorld.com, 2007 [8] Steel, C., Nagappan, R., Lai, R.: Core Security Patterns: Best Practices and Strategies for J2EE, Web Services, and Identity Management, Prentice Hall, 2005 [9] Pistoia,M., Nagaratnam, M., Koved, L., Nadalin, A.: Enterprise Java Security: Building Secure J2EE Applications, Addison Wesley, 2004 [10] Alex, B.: Spring Security: Reference Documentation 2.0.x, SpringSource, 2007 [11] Sharp, R.: EJBs 101 Damnations (Online) Available:

Java Enterprise Edition spotkanie nr 1. Sprawy organizacyjne, wprowadzenie

Java Enterprise Edition spotkanie nr 1. Sprawy organizacyjne, wprowadzenie Java Enterprise Edition spotkanie nr 1 Sprawy organizacyjne, wprowadzenie 1 Informacje organizacyjne Program: Co będzie na tym wykładzie, a czego nie będzie? apteka rolnictwo Java Enterprise Edition vs

Bardziej szczegółowo

EJB 3.0 (Enterprise JavaBeans 3.0)

EJB 3.0 (Enterprise JavaBeans 3.0) EJB 3.0 (Enterprise JavaBeans 3.0) Adrian Dudek Wirtualne Przedsiębiorstwo 2 Wrocław, 1 czerwca 2010 Plan prezentacji 1 Wprowadzenie Cel prezentacji Czym jest EJB 3.0? Historia 2 3 Cel prezentacji Wprowadzenie

Bardziej szczegółowo

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. Warstwa integracji wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. 1. Ukrycie logiki dostępu do danych w osobnej warstwie 2. Oddzielenie mechanizmów trwałości od modelu obiektowego Pięciowarstwowy

Bardziej szczegółowo

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż. Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Wstęp Programowanie w Javie 2 mgr inż. Michał Misiak Agenda Założenia do wykładu Zasady zaliczeń Ramowy program wykładu

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Java Enterprise Edition. WebServices. Język XML. Serwer aplikacji GlassFish. Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki

Bardziej szczegółowo

Ekspert MS SQL Server Oferta nr 00/08

Ekspert MS SQL Server Oferta nr 00/08 Ekspert MS SQL Server NAZWA STANOWISKA Ekspert Lokalizacja/ Jednostka organ.: Pion Informatyki, Biuro Hurtowni Danych i Aplikacji Wspierających, Zespół Jakości Oprogramowania i Utrzymania Aplikacji Szczecin,

Bardziej szczegółowo

1 Wprowadzenie do J2EE

1 Wprowadzenie do J2EE Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2

Bardziej szczegółowo

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1 Szkolenie wycofane z oferty Program szkolenia: Enterprise Java Beans 3.0/3.1 Informacje: Nazwa: Enterprise Java Beans 3.0/3.1 Kod: Java-EE-EJB Kategoria: Java EE Grupa docelowa: developerzy Czas trwania:

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Java Enterprise Edition WebServices Serwer aplikacji GlassFish Dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki Aplikacje

Bardziej szczegółowo

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Tworzenie aplikacji Web Alicja Zwiewka. Page 1 Tworzenie aplikacji Web Alicja Zwiewka Page 1 Co to są web-aplikacje? Aplikacja internetowa (ang. web application) program komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć komputerową

Bardziej szczegółowo

Serwery LDAP w środowisku produktów w Oracle

Serwery LDAP w środowisku produktów w Oracle Serwery LDAP w środowisku produktów w Oracle 1 Mariusz Przybyszewski Uwierzytelnianie i autoryzacja Uwierzytelnienie to proces potwierdzania tożsamości, np. przez: Użytkownik/hasło certyfikat SSL inne

Bardziej szczegółowo

Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa,

Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa, Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa, 2008-01-08 1 Agenda 1. Teza 2. Bezpieczeństwo aplikacji internetowych Usługi bezpieczeństwa

Bardziej szczegółowo

Web frameworks do budowy aplikacji zgodnych z J2EE

Web frameworks do budowy aplikacji zgodnych z J2EE Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida promotor: dr Dariusz Król Przypomnienie Celem pracy jest porównanie wybranych szkieletów programistycznych o otwartym kodzie źródłowym

Bardziej szczegółowo

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Spring Framework - wprowadzenie i zagadnienia zaawansowane Program szkolenia: Spring Framework - wprowadzenie i zagadnienia zaawansowane Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Spring Framework - wprowadzenie i zagadnienia

Bardziej szczegółowo

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida Cel pracy Analiza wybranych ram projektowych dostępnych dla platformy Java Warunki selekcji napisany z wykorzystaniem języka Java oraz

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

Bardziej szczegółowo

JAVA EE MODEL APLIKACJI. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

JAVA EE MODEL APLIKACJI. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska JAVA EE MODEL APLIKACJI Waldemar Korłub Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska Architektura aplikacji 2 Java EE od początku była projektowana z myślą o aplikacjach klasy enterprise

Bardziej szczegółowo

Programowanie w Javie 2. Płock, 26 luty 2014 r.

Programowanie w Javie 2. Płock, 26 luty 2014 r. Programowanie w Javie 2 Płock, 26 luty 2014 r. Zaliczenie wykładu i ćwiczeń Zaliczenie ćwiczeń (projekt na zaliczenie, 3 prace domowe) Zaliczenie wykładu (referat na 1h) Ocena ćwiczeń: 70% projekt + 30%

Bardziej szczegółowo

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7 AUREA BPM Oracle TECNA Sp. z o.o. Strona 1 z 7 ORACLE DATABASE System zarządzania bazą danych firmy Oracle jest jednym z najlepszych i najpopularniejszych rozwiązań tego typu na rynku. Oracle Database

Bardziej szczegółowo

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans. GRZEGORZ FURDYNA Krótka Historia Co to jest NetBeans? Historia Wersje NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły NetBeans Profiler Narzędzie do projektowania GUI Edytor NetBeans

Bardziej szczegółowo

AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki KATEDRA INFORMATYKI Mobicents VoIP Projekt wykonany w ramach SIUS i IOSR Biolik Wojciech Błazej Kardyś Informatyka,

Bardziej szczegółowo

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i Program szkolenia: Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Produktywne tworzenie aplikacji webowych z

Bardziej szczegółowo

Forum Client - Spring in Swing

Forum Client - Spring in Swing Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy

Bardziej szczegółowo

edziennik Ustaw Opis architektury

edziennik Ustaw Opis architektury edziennik Ustaw Opis architektury Spis treści 1 Wstęp...3 2 Architektura systemu...3 2.1 Schemat poglądowy rozwiązania...3 2.2 Architektura logiczna...4 2.3 Opis elementów systemu...5 2.3.1 Moduł Udostępniający...5

Bardziej szczegółowo

MIGRACJA SYSTEMÓW INFORMATYCZNYCH DO TECHNOLOGII JAVA

MIGRACJA SYSTEMÓW INFORMATYCZNYCH DO TECHNOLOGII JAVA MIGRACJA SYSTEMÓW INFORMATYCZNYCH DO TECHNOLOGII JAVA NOWE MOŻLIWOŚCI Jeżeli chcesz: to: obniżyć koszty i ułatwić sobie pracę, wykorzystywać niezawodną, wydajną i otwartą technologię, używać innowacyjnych

Bardziej szczegółowo

SOP System Obsługi Parkingów

SOP System Obsługi Parkingów SOP System Obsługi Parkingów JEE i Android Marcin Tatjewski Tomasz Traczyk Grzegorz Zieliński Paweł Borycki 5 listopada 2009 www.sopark.pl Plan prezentacji Java Platform, Enterprise Edition (JEE) Wstęp

Bardziej szczegółowo

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy Dokumentacja techniczna Młodzieżowe Pośrednictwo Pracy Spis Treści 1. Widok ogólny architektury MPP... 3 2. Warstwy systemu... 5 3. Struktura systemu/komponentów... 7 3.1 Aplikacje... 7 3.2 Biblioteki...

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

JBoss Application Server

JBoss Application Server Zagadnienia Programowania Obiektowego 4 grudnia 2006 1 Co to jest? 2 Co potrafi? Realizowane standardy Własne rozszerzenia Programowanie aspektowe Klastrowanie 3 Jak się z tym pracuje? Instalacja i konfiguracja

Bardziej szczegółowo

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:

Bardziej szczegółowo

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych

Bardziej szczegółowo

11. Autoryzacja użytkowników

11. Autoryzacja użytkowników 11. Autoryzacja użytkowników Rozwiązanie NETASQ UTM pozwala na wykorzystanie trzech typów baz użytkowników: Zewnętrzna baza zgodna z LDAP OpenLDAP, Novell edirectory; Microsoft Active Direcotry; Wewnętrzna

Bardziej szczegółowo

Testowanie oprogramowania

Testowanie oprogramowania Testowanie oprogramowania 1/17 Testowanie oprogramowania Wykład 01 dr inż. Grzegorz Michalski 13 października 2015 Testowanie oprogramowania 2/17 Dane kontaktowe: Kontakt dr inż. Grzegorz Michalski pokój

Bardziej szczegółowo

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski Technologie dla aplikacji klasy enterprise Wprowadzenie Marek Wojciechowski Co oznacza enterprise-ready? Bezpieczeństwo Skalowalność Stabilność Kompatybilność wstecz Wsparcie Dokumentacja Łatwość integracji

Bardziej szczegółowo

Referat pracy dyplomowej

Referat pracy dyplomowej Temat pracy : Projekt i realizacja aplikacji do tworzenia i wizualizacji drzewa genealogicznego Autor: Martyna Szymkowiak Promotor: dr inż. Romana Simińskiego Kategorie: gry, użytkowe Słowa kluczowe: The

Bardziej szczegółowo

Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia) Program szkolenia: Całościowe podejście do testowania automatycznego dla programistów Ruby (TDD, BDD, Spec. by Example, wzorce, narzędzia) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania:

Bardziej szczegółowo

SOA Web Services in Java

SOA Web Services in Java Wydział Informatyki i Zarządzania Wrocław,16 marca 2009 Plan prezentacji SOA 1 SOA 2 Usługi Przykłady Jak zacząć SOA Wycinek rzeczywistości Problemy zintegrowanych serwisów : Wycinek Rzeczywistości Zacznijmy

Bardziej szczegółowo

SPRING FRAMEWORK. dr inż. Jakub Chłapioski

SPRING FRAMEWORK. dr inż. Jakub Chłapioski SPRING FRAMEWORK Katedra Mikroelektroniki i Technik Informatycznych Politechniki Łódzkiej ul. Wólczanska 221/223 budynek B18, 90-924 Łódź dr inż. Jakub Chłapioski 1. Wprowadzenie Co to jest aplikacja internetowa?

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany

Bardziej szczegółowo

Aplikacje Internetowe, Servlety, JSP i JDBC

Aplikacje Internetowe, Servlety, JSP i JDBC Aplikacje Internetowe, Servlety, JSP i JDBC Opis Java 2 Enterprise Edition (JEE) jest potężną platformą do tworzenia aplikacji webowych. PLatforma JEE oferuje wszystkie zalety tworzenia w Javie plus wszechstronny

Bardziej szczegółowo

System Kancelaris. Zdalny dostęp do danych

System Kancelaris. Zdalny dostęp do danych Kancelaris krok po kroku System Kancelaris Zdalny dostęp do danych Data modyfikacji: 2008-07-10 Z czego składaj adają się systemy informatyczne? System Kancelaris składa się z dwóch części: danych oprogramowania,

Bardziej szczegółowo

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Programowanie komponentowe Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System Application

Bardziej szczegółowo

Bezpieczeństwo aplikacji i urządzeń mobilnych w kontekście wymagań normy ISO/IEC 27001 oraz BS 25999 doświadczenia audytora

Bezpieczeństwo aplikacji i urządzeń mobilnych w kontekście wymagań normy ISO/IEC 27001 oraz BS 25999 doświadczenia audytora Bezpieczeństwo aplikacji i urządzeń mobilnych w kontekście wymagań normy ISO/IEC 27001 oraz BS 25999 doświadczenia audytora Krzysztof Wertejuk audytor wiodący ISOQAR CEE Sp. z o.o. Dlaczego rozwiązania

Bardziej szczegółowo

Dokumentacja aplikacji Szachy online

Dokumentacja aplikacji Szachy online Projekt z przedmiotu Technologie Internetowe Autorzy: Jakub Białas i Jarosław Tyma grupa II, Automatyka i Robotyka sem. V, Politechnika Śląska Przedmiot projektu: Aplikacja internetowa w języku Java Dokumentacja

Bardziej szczegółowo

OSGi Agata Hejmej 4.05.2009

OSGi Agata Hejmej 4.05.2009 OSGi Agata Hejmej 4.05.2009 Plan prezentacji Co to jest OSGi Jakie problemy rozwiązuje Opis standardu Przykładowa aplikacja Podsumowanie korzyści Co to jest OSGi? Standard, który pozwala na tworzenie wysoce

Bardziej szczegółowo

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio Czym jest jpalio? jpalio to unikalna platforma technologiczna pozwalająca na stworzenie szeregu produktów dostosowanych do indywidualnych preferencji klienta. W naszej ofercie znajduje się m.in. system

Bardziej szczegółowo

SZKOLENIE TWORZENIE SYSTEMÓW

SZKOLENIE TWORZENIE SYSTEMÓW SZKOLENIE TWORZENIE SYSTEMÓW INFORMATYCZNYCH Z UŻYCIEM GROOVY I GRAILS KOD: JGR Strona 1 1 Opis Platforma Java EE to zbiór zaawansowanych narzędzi umożliwiających tworzenie systemów korporacyjnych. Jest

Bardziej szczegółowo

(Pluggable Authentication Modules). Wyjaśnienie technologii.

(Pluggable Authentication Modules). Wyjaśnienie technologii. Bezpieczeństwo systemów komputerowych. Temat seminarium: Moduły PAM (Pluggable Authentication Modules). Wyjaśnienie technologii Autor: Bartosz Hetmański Moduły PAM (Pluggable Authentication Modules). Wyjaśnienie

Bardziej szczegółowo

W grze bierze udział dwóch graczy. Każdy uczestnik rozpoczyna rozgrywkę z sumą

W grze bierze udział dwóch graczy. Każdy uczestnik rozpoczyna rozgrywkę z sumą 2.4 QuestionGame QuestionGame jest grą z celem zaprojektowaną do gromadzenia pytań zadawanych przez ludzi podczas prób rozpoznawania ras psów. Program ma charakter aplikacji internetowej. W rozgrywcę mogą

Bardziej szczegółowo

ZAPYTANIE OFERTOWE. Zamawiający. Przedmiot zapytania ofertowego. Wrocław, dnia 23.03.2015 r.

ZAPYTANIE OFERTOWE. Zamawiający. Przedmiot zapytania ofertowego. Wrocław, dnia 23.03.2015 r. ZAPYTANIE OFERTOWE Wrocław, dnia 23.03.2015 r. W związku z realizacją przez Nova Telecom spółka z ograniczoną odpowiedzialnością, projektu pn.: Wdrożenie zintegrowanego systemu klasy B2B, umożliwiającego

Bardziej szczegółowo

DOTACJE NA INNOWACJE

DOTACJE NA INNOWACJE Strzyżów, 29-05-2013 Ogłoszenie o zamówieniu kompleksowego wdrożenia systemu B2B do współpracy handlowej pomiędzy firmą Triton a Partnerami Zamawiający: TRITON S.C. Marcin Bosek, Janusz Rokita ul. Słowackiego

Bardziej szczegółowo

OfficeObjects e-forms

OfficeObjects e-forms OfficeObjects e-forms Rodan Development Sp. z o.o. 02-820 Warszawa, ul. Wyczółki 89, tel.: (+48-22) 643 92 08, fax: (+48-22) 643 92 10, http://www.rodan.pl Spis treści Wstęp... 3 Łatwość tworzenia i publikacji

Bardziej szczegółowo

Java Server Faces - wprowadzenie

Java Server Faces - wprowadzenie Java Server Faces - wprowadzenie Java Server Faces (JSF) jest najpopularniejszą technologią opartą o język JAVA, służącą do tworzenia aplikacji webowych (dynamicznych stron WWW). pomimo że JSF i EJB wchodzą

Bardziej szczegółowo

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne Jarosław Kuchta Internetowe Usługi Informacyjne Komponenty IIS HTTP.SYS serwer HTTP zarządzanie połączeniami TCP/IP buforowanie odpowiedzi obsługa QoS (Quality of Service) obsługa plików dziennika IIS

Bardziej szczegółowo

Zaawansowane Aplikacje Internetowe

Zaawansowane Aplikacje Internetowe Spring framework Katedra Mikroelektroniki i Technik Informatycznych Łódź, 26 października 2010 1 Spring Framework Spring Framework Framework dostarczający między innymi: Kontener IoC (Inversion of Control)

Bardziej szczegółowo

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Wykład 3 Inżynieria oprogramowania Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System

Bardziej szczegółowo

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA VPN Virtual Private Network Użycie certyfikatów niekwalifikowanych w sieciach VPN wersja 1.1 Spis treści 1. CO TO JEST VPN I DO CZEGO SŁUŻY... 3 2. RODZAJE SIECI VPN... 3 3. ZALETY STOSOWANIA SIECI IPSEC

Bardziej szczegółowo

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Wykład Ćwiczenia Laboratorium Projekt Seminarium WYDZIAŁ ELEKTRONIKI KARTA PRZEDMIOTU Nazwa w języku polskim Języki programowania Nazwa w języku angielskim Programming languages Kierunek studiów (jeśli dotyczy): Informatyka - INF Specjalność (jeśli dotyczy):

Bardziej szczegółowo

Zdalne logowanie do serwerów

Zdalne logowanie do serwerów Zdalne logowanie Zdalne logowanie do serwerów Zdalne logowanie do serwerów - cd Logowanie do serwera inne podejście Sesje w sieci informatycznej Sesje w sieci informatycznej - cd Sesje w sieci informatycznej

Bardziej szczegółowo

Wykład 1 Inżynieria Oprogramowania

Wykład 1 Inżynieria Oprogramowania Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI

Bardziej szczegółowo

Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat.

Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat. Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat. Serwer Tomcat Plan wykładu Opis serwera Jak uruchomić napisaną aplikację Podstawowa konfiguracja Pierwsze uruchomienie Tomcat

Bardziej szczegółowo

System Kontroli Bazy Danych Topograficznych (SKBDT) zawód kartografa?

System Kontroli Bazy Danych Topograficznych (SKBDT) zawód kartografa? System Kontroli Bazy Danych Topograficznych (SKBDT) zawód kartografa? Koszalin, 15-16.05.2006 III Zawodowa Konferencja Zawód kartografa 200910151500 Agenda 1. Koncepcja SKBDT 2. Podstawowe założenia koncepcji

Bardziej szczegółowo

Szkolenie wycofane z oferty

Szkolenie wycofane z oferty Szkolenie wycofane z oferty Program szkolenia: Java Server Faces 2 Informacje: Nazwa: Java Server Faces 2 Kod: Java-EE-JSF 2 Kategoria: Java EE Grupa docelowa: developerzy Czas trwania: 3 dni Forma: 50%

Bardziej szczegółowo

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 1. Relacyjne

Bardziej szczegółowo

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji Robert Hryniewicz Promotor: dr inż. Krzysztof Różanowski Cele pracy Opracowanie protokołu komunikacyjnego służącego do

Bardziej szczegółowo

Założenia projektowe dla zapytania ofertowego EAK_ZA_01/2015

Założenia projektowe dla zapytania ofertowego EAK_ZA_01/2015 Warszawa, 23.01.2015r. NIP: 521-32-79-750 Założenia projektowe dla zapytania ofertowego EAK_ZA_01/2015 I. Wstęp W związku z realizacją projektu Wdrożenie i świadczenie usługi w modelu SaaS eakceptacje,

Bardziej szczegółowo

System Obsługi Wniosków

System Obsługi Wniosków System Obsługi Wniosków Wersja 2.0 1 System Obsługi Wniosków wersja 2.0 System Obsługi Wniosków to nowoczesne rozwiązanie wspierające proces obsługi wniosków o produkty bankowe. Pozwala na przyjmowanie,

Bardziej szczegółowo

Techniki efektywnego testowania kodu dla programistów Java (Spock

Techniki efektywnego testowania kodu dla programistów Java (Spock Program szkolenia: Techniki efektywnego testowania kodu dla programistów Java (Spock/JUnit) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Techniki efektywnego testowania kodu

Bardziej szczegółowo

Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, 85 321 Bydgoszcz

Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, 85 321 Bydgoszcz Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, 85 321 Bydgoszcz 1 BSB dziś Jesteśmy producentem i integratorem rozwiązań informatycznych 100% udziałów w kapitale zakładowym posiada Narodowy Bank Polski

Bardziej szczegółowo

tel. (+48 81) 538 47 21/22 fax (+48 81) 538 45 80 Cel przedmiotu

tel. (+48 81) 538 47 21/22 fax (+48 81) 538 45 80 Cel przedmiotu 0-68 Lublin tel. (+48 8) 538 47 / fax (+48 8) 538 45 80 Przedmiot: Programowanie aplikacji Rok: 4 Semestr: 7 Rodzaj zajęć i liczba godzin: Studia stacjonarne Studia niestacjonarne Wykład 30 4 Ćwiczenia

Bardziej szczegółowo

JBoss: MetaMatrix, Mobicents, Seam, Rools, ESB

JBoss: MetaMatrix, Mobicents, Seam, Rools, ESB JBoss: MetaMatrix, Mobicents, Seam, Rools, ESB Przemysław Rudzki RHCX, RHCI, JBoss Certified Trainer Niezależny Konsultant Plan prezentacji Ostatnie zakupy RedHat/JBoss MetaMatrix Mobicents Technologie

Bardziej szczegółowo

Jednym z najważniejszych zagadnień, z którym może się zetknąć twórca

Jednym z najważniejszych zagadnień, z którym może się zetknąć twórca Uwierzytelnianie w PHP 01 Jednym z najważniejszych zagadnień, z którym może się zetknąć twórca stron internetowych, jest identyfikacja i uwierzytelnienie uprzywilejowanego użytkownika. Od zaprojektowania

Bardziej szczegółowo

Kielce, dnia 27.02.2012 roku. HB Technology Hubert Szczukiewicz. ul. Kujawska 26 / 39 25-344 Kielce

Kielce, dnia 27.02.2012 roku. HB Technology Hubert Szczukiewicz. ul. Kujawska 26 / 39 25-344 Kielce Kielce, dnia 27.02.2012 roku HB Technology Hubert Szczukiewicz ul. Kujawska 26 / 39 25-344 Kielce Tytuł Projektu: Wdrożenie innowacyjnego systemu dystrybucji usług cyfrowych, poszerzenie kanałów sprzedaży

Bardziej szczegółowo

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008 JDBC w LoXiMie Interfejs Java Database Connectivity dla systemu LoXiM Adam Michalik 2008 Sterownik JDBC co to jest? Sterownik JDBC to zbiór klas implementujących interfejsy opisane w specyfikacji JDBC

Bardziej szczegółowo

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.pl Serwer aplikacji Serwer aplikacji to: Serwer wchodzący w skład sieci komputerowej, przeznaczony

Bardziej szczegółowo

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu Polska Organizacja Turystyczna ul. Chałubińskiego 8 00-613 Warszawa Spis treści 1 Założenia wstępne... 1 1.1 Informacje wstępne... 1 1.2 Cel projektu...

Bardziej szczegółowo

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia) Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia) WERSJA WSTĘPNA, BRAK PRZYKŁADOWYCH PYTAŃ DLA NIEKTÓRYCH PRZEDMIOTÓW Należy wybrać trzy dowolne przedmioty.

Bardziej szczegółowo

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym 1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle

Bardziej szczegółowo

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa

Bardziej szczegółowo

Biocentrum Ochota infrastruktura informatyczna dla rozwoju strategicznych kierunków biologii i medycyny POIG 02.03.00-00-003/09

Biocentrum Ochota infrastruktura informatyczna dla rozwoju strategicznych kierunków biologii i medycyny POIG 02.03.00-00-003/09 Biocentrum Ochota infrastruktura informatyczna dla rozwoju strategicznych kierunków biologii i medycyny POIG 02.03.00-00-003/09 Zadanie 6. Zastosowanie technologii informatycznych w medycynie Sprawozdanie

Bardziej szczegółowo

Architektura mikroserwisów na platformie Spring IO

Architektura mikroserwisów na platformie Spring IO Kod szkolenia: Tytuł szkolenia: SPRIO Architektura mikroserwisów na platformie Spring IO Dni: 3 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów Java pragnących dowiedzieć się jak tworzyć

Bardziej szczegółowo

Komunikacja i wymiana danych

Komunikacja i wymiana danych Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX

Bardziej szczegółowo

EXSO-CORE - specyfikacja

EXSO-CORE - specyfikacja EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów.

Bardziej szczegółowo

SELinux. SELinux Security Enhanced Linux. czyli. Linux o podwyższonym bezpieczeństwie

SELinux. SELinux Security Enhanced Linux. czyli. Linux o podwyższonym bezpieczeństwie SELinux SELinux Security Enhanced Linux czyli Linux o podwyższonym bezpieczeństwie Najkrócej mówiąc... SELinux jest systemem z MAC (Mandatory Access Control), który realizuje politykę RBAC (Role Based

Bardziej szczegółowo

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji System informatyczny na produkcji: Umożliwi stopniowe, ale jednocześnie ekonomiczne i bezpieczne wdrażanie i rozwój aplikacji przemysłowych w miarę zmiany potrzeb firmy. Może adoptować się do istniejącej

Bardziej szczegółowo

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008 Adam 1 grudnia 2008 Wstęp Opis Historia Apache kontener serwletów rozwijany w ramach projektu Apache jeden z bardziej popularnych kontenerów Web open source, Apache Software License rozwijany przez ASF

Bardziej szczegółowo

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE) Programowanie w języku Java Wykład 13: Java Platform, Enterprise Edition (Java EE) Standard J2EE Programowanie w języku Java 2 J2EE - komunikacja Programowanie w języku Java 3 J2EE warstwa biznesowa Programowanie

Bardziej szczegółowo

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (2) Wykład 10 Inversion of Control Wiktor Zychla 2013

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (2) Wykład 10 Inversion of Control Wiktor Zychla 2013 Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (2) Wykład 10 Inversion of Control Wiktor Zychla 2013 1 Dependency Injection Dependency Injection = zestaw technik pozwalających tworzyć

Bardziej szczegółowo

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów: Rozdział I Szczegółowy opis przedmiotu umowy Załącznik nr 1 do Umowy Architektura środowisk SharePoint UMWD 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów: a) Środowisko

Bardziej szczegółowo

Web Tools Platform. Adam Kruszewski

Web Tools Platform. Adam Kruszewski Web Tools Platform Adam Kruszewski Plan prezentacji 1. Co to jest WTP i dlaczego powstało. 2. Ogólne omówienie projektu 3. Web Standard Tools 4. J2EE Standard Tools 5. Plany następnej wersji Co to jest

Bardziej szczegółowo

Katedra Inżynierii Oprogramowania Tematy prac dyplomowych inżynierskich STUDIA NIESTACJONARNE (ZAOCZNE)

Katedra Inżynierii Oprogramowania Tematy prac dyplomowych inżynierskich STUDIA NIESTACJONARNE (ZAOCZNE) Katedra Inżynierii Oprogramowania Tematy prac dyplomowych inżynierskich STUDIA NIESTACJONARNE (ZAOCZNE) Temat projektu/pracy dr inż. Wojciech Waloszek Grupowy system wymiany wiadomości. Zaprojektowanie

Bardziej szczegółowo

Enterprise Java Beans wykład 7 i 8

Enterprise Java Beans wykład 7 i 8 Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Enterprise Java Beans wykład 7 i 8 Programowanie w Javie 2 mgr inż. Michał Misiak Agenda Co to jest EJB Architektura EJB

Bardziej szczegółowo

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz Projektowanie oprogramowania Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz 1 Wykonanie czterowarstwowej aplikacji EE z dostępem do bazy danych,

Bardziej szczegółowo

Z roku na rok wzrasta liczba systemów informatycznych, co skutkuje coraz większym uzależnieniem od nich działalności biznesowej przedsiębiorstw.

Z roku na rok wzrasta liczba systemów informatycznych, co skutkuje coraz większym uzależnieniem od nich działalności biznesowej przedsiębiorstw. Single Sign On Z roku na rok wzrasta liczba systemów informatycznych, co skutkuje coraz większym uzależnieniem od nich działalności biznesowej przedsiębiorstw. Jednocześnie systemy te przechowują coraz

Bardziej szczegółowo

2016 Proget MDM jest częścią PROGET Sp. z o.o.

2016 Proget MDM jest częścią PROGET Sp. z o.o. Proget MDM to rozwiązanie umożliwiające administrację urządzeniami mobilnymi w firmie takimi jak tablet czy telefon. Nasza platforma to także bezpieczeństwo danych firmowych i prywatnych: poczty email,

Bardziej szczegółowo

Integracja wirtualnego laboratorium z platformą e-learningową

Integracja wirtualnego laboratorium z platformą e-learningową Integracja wirtualnego laboratorium z platformą e-learningową Autorzy: Kamila Myczkowska, Jan Kusiak Akademia Górniczo-Hutnicza, Centrum e-learningu AGH PLAN PREZENTACJI: 1. Cel pracy 2. Budowa systemu

Bardziej szczegółowo