Oracle9iAS: instalacja i konfiguracja aplikacji J2EE

Podobne dokumenty
Wprowadzenie do J2EE. Maciej Zakrzewicz.

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) 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

Serwery LDAP w środowisku produktów w Oracle

Dostęp do baz danych z aplikacji J2EE

Aplikacje www laboratorium

1 Wprowadzenie do J2EE

Java Enterprise Edition spotkanie nr 1. Sprawy organizacyjne, wprowadzenie

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

Aplikacje internetowe - laboratorium

Enterprise JavaBeans

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Enterprise JavaBeans. 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss.

Enterprise JavaBeans (EJB)

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

EJB 3.0 (Enterprise JavaBeans 3.0)

Oracle Application Express -

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

Aplikacje internetowe i rozproszone - laboratorium

Java Server Faces - wprowadzenie

Architektury Usług Internetowych. Laboratorium 2 RESTful Web Services

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

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

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

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

(Pluggable Authentication Modules). Wyjaśnienie technologii.

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska

JBoss Application Server

Zarządzanie Infrastrukturą IT. Jak ręcznie utworzyć instancję EAUDYTORINSTANCE na SQL Serwerze

Tworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2

Zarządzanie kontami użytkowników w i uprawnieniami

Java wybrane technologie

Ekspert MS SQL Server Oferta nr 00/08

Zarządzanie Infrastrukturą IT

Wybrane działy Informatyki Stosowanej

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

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

Systemy obiegu informacji i Protokół SWAP "CC"

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

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

POSTANOWIENIE. z dnia 20 sierpnia 2018 roku

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

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

Business Intelligence Beans + Oracle JDeveloper

Instalacja pakietu SAS 9.3 Audit, Performance and Measurement na platformie Windows

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Silent setup SAS Enterprise Guide (v 3.x)

Wybrane działy Informatyki Stosowanej

WEBCON BPS Instalacja Standalone

Tomasz Grześ. Systemy zarządzania treścią

Hurtownie danych - przegląd technologii

Pracownia internetowa w szkole ZASTOSOWANIA

Przewodnik instalacji i rozpoczynania pracy. Dla DataPage+ 2013

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

Programowanie w Sieci Internet filtry oraz web.xml. Kraków, 11 stycznia 2013 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

11. Autoryzacja użytkowników

Centralne uwierzytelnianie i autoryzacja użytkowników za pomocą Oracle Application Server Identity Management

Enterprise Java Beans wykład 7 i 8

Architektury Usług Internetowych. Laboratorium 1 Servlety

Aplikacje Internetowe, Servlety, JSP i JDBC

Budowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG

Wybrane Działy Informatyki Stosowanej LABORATORIUM 1.

Wojciech Dworakowski. Zabezpieczanie aplikacji. Firewalle aplikacyjne - internetowych

Wprowadzenie do Active Directory. Udostępnianie katalogów

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

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

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

Contexts and Dependency Injection (CDI) Autor wykładu: Marek Wojciechowski

Serwery LDAP w œrodowisku produktów Oracle

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Programowanie Komponentowe WebAPI

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Program kadrowo płacowy - wersja wielodostępna z bazą danych Oracle SQL Server 8 lub 9

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

Komunikacja między serwletami

Architektura mikroserwisów na platformie Spring IO

Współpraca z platformą Emp@tia. dokumentacja techniczna

Dokumentacja Administratora portalu. aplikacji. Wirtualna szkoła

Załącznik 2 utworzenie projektu

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

Zastosowanie komponentów EJB typu Session

Program szkolenia: Symfony, nowoczesny framework PHP

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Web Tools Platform. Adam Kruszewski

Forte Zarządzanie Produkcją Instalacja i konfiguracja. Wersja B

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Aplikacje WWW - laboratorium

Programowanie obiektowe. Wprowadzenie

Serock warsztaty epuap 28 październik 2009 r. Sławomir Chyliński Andrzej Nowicki WOI-TBD Szczecin

Przewodnik instalacji i rozpoczynania pracy. dla DataPage+ 2012

Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, )

Transkrypt:

276 Oracle9iAS: instalacja i konfiguracja aplikacji J2EE Marek Wojciechowski Marek.Wojciechowski@cs.put.poznan.pl http://www.cs.put.poznan.pl/mwojciechowski/

Plan rozdziału 277 Przypomnienie architektury ias / OC4J Bezpieczeństwo w aplikacjach J2EE Pakowanie aplikacji J2EE typy archiwów JDeveloper: tworzenie archiwum EAR z aplikacją Zadania instalatora aplikacji Oracle Enterprise Manager: Instalacja aplikacji J2EE na serwerze ias

Architektura Oracle9iAS 278 użytkownicy HTTP Oracle HTTP Server (OHS) AJP Instancja Instancja Instancja OC4J OC4J OC4J administrator pliki konf. ORMI HTTP EM WebSite Aplikacje J2EE są instalowane na instancjach OC4J Dana aplikacja jest instalowana na konkretnej instancji ias może posiadać kilka instancji OC4J OC4J może również pracować jako samodzielny serwer (OC4J standalone) Głównie do zastosowań deweloperskich (np. wbudowany w JDeveloper)

Architektura OC4J Oracle Application 279 Server Containers for J2EE aplikacja A aplikacja B OC4J jest kontenerem J2EE Zgodny ze specyfikacją J2EE (1.3) Napisany w całości w języku Java Oparty na technologii serwera Orion Uruchamiany na standardowej JVM (np. z JDK) kontener kontener serwletów serwletów kontener kontener EJB EJB JNDI JNDI JMS JMS JDBC JDBC JTA JTA JAAS JAAS JCA JCA JavaMail JavaMail JAF JAF JVM JVM Na instancji OC4J może być zainstalowanych wiele aplikacji W Oracle9iAS na jedną instancję OC4J może składać się wiele procesów OC4J JSP EJB JSP

Pliki konfiguracyjne OC4J 280 Konfiguracja OC4J jest zawarta w plikach XML: server.xml, rmi.xml, jms.xml, application.xml, data-sources.xml principals.xml, jazn.xml, jazn-data.xml default-web-site.xml, global-web-application.xml Nie ma konieczności bezpośredniej edycji powyższych plików przy instalacji aplikacji Serwer uaktualnia odpowiednie pliki przy instalacji aplikacji Parametry dotyczące integracji OC4J i Oracle HTTP Server (OHS) zawarte są w jednym z plików konfiguracyjnych OHS: mod_oc4j.conf

Bezpieczeństwo w aplikacjach J2EE 281 Podstawowe idee: Polityka bezpieczeństwa specyfikowana deklaratywnie Kontrola dostępu na poziomie: Metod dla EJB Wzorców adresu URL dla komponentów webowych Przenaszalność Łatwość konfiguracji przy instalacji Implementacja polityki bezpieczeństwa oparta o: Logiczne role określane przez twórcę aplikacji Mapowanie logicznych ról zdefiniowanych w aplikacji na grupy i użytkowników na docelowym serwerze podczas instalacji

JAAS Java Authentication and Authorization Services 282 Uwierzytelnienie Operacja sprawdzenia tożsamości użytkownika Przypisanie użytkownikowi ról odpowiadających podanym parametrom logowania Autoryzacja Weryfikacja czy użytkownik ma prawo wykonania konkretnej operacji np. Wywołania danej metody komponentu EJB Uruchomienia konkretnego serwletu / JSP JAAS stanowi "framework" dla uwierzytelniania i autoryzacji Kontrola dostępu na poziomie wzorców URL i metod EJB Implementowany przez dostawców usług JAAS (JAAS providers)

JAAS w OC4J 283 Dostawca JAAS wbudowany w OC4J współpracuje z repozytoriami: LDAP do dostępu do Oracle Internet Directory (OID) Opartymi na XML dane o użytkownikach składowane w plikach: jazn-data.xml (hasła zaszyfrowane) - domyślny principals.xml (hasła niezaszyfrowane) Repozytoria zawierają: Realm użytkownicy i role Informacje o przywilejach (prawach dostępu)

Konfiguracja bezpieczeństwa w J2EE 284 Definicja użytkowników i grup: np. w jazn-data.xml dla JAZN (Java Authorization) Definicja logicznych ról w aplikacji i obrazu polityki bezpieczeństwa z punktu widzenia twórcy aplikacji: Deskryptory instalacji: web.xml, ejb-jar.xml Mapowanie logicznych ról na grupy/użytkowników docelowego serwera: Deskryptory instalacji specyficzne dla OC4J: orion-web.xml, orion-ejb-jar.xml Umożliwienie użytkownikom dostępu do przestrzeni nazw JNDI: application.xml, orion-application.xml

285 Bezpieczeństwo w J2EE - Przykład (1/8) Definicja logicznych ról dla modułu aplikacji J2EE

286 Bezpieczeństwo w J2EE - Przykład (2/8) Ograniczenie dostępu do metod EJB w oparciu o role ejb-jar.xml <ejb-jar>... <assembly-descriptor> <security-role> <description> Finance Manager </description> <role-name>sr_finance</role-name> </security-role> <method-permission> <role-name>sr_finance</role-name> <method> <ejb-name>emp</ejb-name> <method-name>getsal</method-name> </method> <method> <ejb-name>emp</ejb-name> <method-name>setsal</method-name> <method-params> <method-param> java.lang.long </method-param> </method-params> </method> </method-permission> </assembly-descriptor> </ejb-jar>

287 Bezpieczeństwo w J2EE - Przykład (3/8) Wybór metody uwierzytelnienia dla komponentu webowego

288 Bezpieczeństwo w J2EE - Przykład (4/8) Ograniczenie dostępu do komponentów webowych w oparciu o role i wzorzec URL

289 Bezpieczeństwo w J2EE - Przykład (5/8) Ograniczenie dostępu do komponentów webowych w oparciu o role i wzorzec URL zawartość web.xml web.xml <web-app>... <security-constraint> <web-resource-collection> <web-resource-name>salary Report</web-resource-name> <url-pattern>/salaries.jsp</url-pattern> </web-resource-collection> <auth-constraint> <role-name>sr_finance</role-name> </auth-constraint> <user-data-constraint> <transport-guarantee>none</transport-guarantee> </user-data-constraint> </security-constraint> <login-config> <auth-method>basic</auth-method> <realm-name>jazn.com</realm-name> </login-config> <security-role> <description>finance Manager</description> <role-name>sr_finance</role-name> </security-role> </web-app>

290 Bezpieczeństwo w J2EE - Przykład (6/8) Zawarcie ról dla całej aplikacji w pliku application.xml Role wykorzystywane w komponentach webowych i JSP <application> <display-name>finance application</display-name> <security-role> <description>finance Manager</description> <role-name>sr_finance</role-name> </security-role> </application> application.xml

291 Bezpieczeństwo w J2EE - Przykład (7/8) Mapowanie ról aplikacji na użytkowników/grupy w OC4J Dla serwletów/jsp w orion-web.xml, dla EJB w orion-ejb-jar.xml, dla całej aplikacji w orion-application.xml Plik konf. OC4J: jazn-data.xml <jazn-data> <jazn-realm> <realm> <name>jazn.com</name> <users> <user> <name>anonymous</name> <description>default guest</description> </user> <user> <name>scott</name> <credentials>!tiger</credentials> </user>... </jazn-data> orion-web.xml <orion-web-app servlet-webdir="/servlet/"> <security-role-mapping impliesall="false" name="sr_finance"> <user name="anonymous"/> </security-role-mapping> </orion-web-app>

292 Bezpieczeństwo w J2EE - Przykład (8/8) Komponent webowy wywołując metody komponentu EJB przekazuje mu informacje o zalogowanym użytkowniku poprzez kontekst EJB: Uwierzytelnienie można powierzyć komponentowi webowemu Metody EJB o ograniczonym dostępie powinny być przy takim podejściu wołane z komponentów webowych wymagających uwierzytelnienia

Typy archiwów: JAR, WAR i EAR 293 Aplikacje i biblioteki klas Java są typowo dystrybuowane w archiwach JAR Archiwa zip zawierające drzewo katalogów o określonej strukturze (np. podkatalogi dla pakietów) i pliki konfiguracyjne (np. META-INF/manifest.mf) Skompresowane lub nie Tworzone narzędziami: jar (JDK), winzip, gzip,... Platforma J2EE korzysta z następujących formatów archiwów: EJB JAR specjalizowany JAR dla modułów komponentów EJB WAR dla modułów webowych EAR dla aplikacji (zbudowanych z modułów EJB i webowych)

Archiwum EJB JAR 294 Archiwum JAR do pakowania modułów EJB aplikacji J2EE Mają ustaloną strukturę drzewa katalogów Zawierają deskryptor instalacji EJB (ejb-jar.xml) nazwa_modułu/ META-INF/ ejb-jar.xml Klasy i interfejsy komponentów EJB w podkatalogach odpowiadających pakietom

Archiwum WAR 295 Archiwum do pakowania modułów webowych aplikacji J2EE Mają ustaloną strukturę drzewa katalogów Zawierają deskryptor instalacji dla komponentów webowych (web.xml) nazwa_komponentu/ WEB-INF/ web.xml pliki JSP pliki HTML classes/ lib/ klasy serwletów i JavaBeans Klasy "biblioteczne" w archiwach JAR

Archiwum EAR 296 Aplikacja J2EE może składać się z następujących modułów: Moduł webowy (serwlety, JSP, HTML): plik WAR Moduł EJB (komponenty EJB): plik EJB JAR Moduł klienta J2EE: plik JAR Specyfikacja J2EE definiuje układ archiwum zawierającego aplikację J2EE (plik EAR): nazwa_aplikacji/ META-INF/ application.xml plik EJB JAR plik WAR plik JAR z aplikacją klienta

JDeveloper tworzenie pliku EAR (1/4) 297 Tworzenie profili instalacji Najpierw dla modułów EJB, następnie modułów webowych Na końcu główny docelowy profil: plik EAR 3) 1) 2)

JDeveloper tworzenie pliku EAR (2/4) 298 EJB JAR np. ejb1.deploy Wybór plików Czy również kod źródłowy w archiwum?

JDeveloper tworzenie pliku EAR (3/4) 299 WAR: np. webapp1.deploy Ścieżka URL do korzenia modułu webowego Moduł webowy korzysta z EJB konieczne interfejsy EJB w pliku WAR

JDeveloper tworzenie pliku EAR (4/4) 300 Tylko tworzenie pliku EAR lub tworzenie i instalacja EAR: np. financeapp.deploy Wskazanie profili instalacji modułów składowych

301 Podział zadań - Role Developer i Deployer J2EE jasno specyfikuje podział zadań między twórcę i instalatora aplikacji Konsekwencja idei łatwej przenaszalności aplikacji Twórca aplikacji (Developer) Tworzy aplikację opartą o abstrakcyjny schemat bazy danych Posługuje się pośrednimi referencjami do zasobów (np. źródeł danych) Definiuje politykę bezpieczeństwa w oparciu o logiczne role Instalator aplikacji (Deployer) Mapuje abstrakcyjny schemat bazy danych w odpowiedni schemat fizycznie dostępny na serwerze bazy danych Mapuje zdefiniowane w aplikacji referencje do zasobów w zasoby zdefiniowane na serwerze (instancji OC4J) Mapuje logiczne role użytkowników aplikacji na grupy i użytkowników na serwerze (instancji OC4J)

302 Sposoby instalacji aplikacji J2EE na 9iAS Oracle Enterprise Manager Korzystający z narzędzia DCM Instalacja przez WWW Zalecany sposób instalacji w środowisku produkcyjnym Narzędzie linii komend: dcmctl Tekstowy interfejs do DCM Przydatne przy wsadowej instalacji wielu aplikacji JDeveloper Szczególnie przy testowaniu poprawności tworzonego pliku EAR Niezalecane sposoby: Narzędzie admin.jar OC4J (wykorzystywane dla OC4J standalone) "Ręczna" modyfikacja plików konfiguracyjnych serwera

303 Akcje wykonywane przez serwer podczas instalacji aplikacji J2EE Analiza pliku application.xml w celu identyfikacji modułów składowych Odczyt deskryptorów instalacji modułów Również specyficznych dla OC4J jeśli dystrybuowane z aplikacją Zapisanie domyślnych wartości parametrów konfiguracyjnych w deskryptorach instalacji specyficznych dla OC4J (dla parametrów niezdefiniowanych w plikach zawartych z aplikacją) Zapisanie nowych deskryptorów instalacji do katalogu application-deployments Skopiowanie archiwum EAR do katalogu applications Modyfikacja pliku server.xml Modyfikacja pliku mod_oc4j.conf

OEM Administracja instancjami OC4J 304 Tworzenie źródeł danych dla instancji i poszczególnych aplikacji Tworzenie użytkowników i grup użytkowników dla instancji i poszczególnych aplikacji Instalacja aplikacji J2EE (EAR, WAR) Mapowanie źródeł danych Mapowanie logicznych ról aplikacji do użytkowników i grup Deinstalacja aplikacji J2EE Monitorowanie działania instancji i poszczególnych aplikacji

OEM Strona instancji serwera ias 305

OEM Strona instancji OC4J 306

307 OEM Strona źródeł danych instancji OC4J

OEM Definiowanie źródła danych 308

OEM grupy i użytkownicy dla instancji 309 OC4J

OEM Przebieg instalacji aplikacji J2EE 310 Instalacja: Krok 1) Ekran powitalny plan instalacji Krok 2) Wskazanie lokalizacji archiwum EAR Krok 3) Mapowanie adresów URL do modułów webowych Krok 4) Mapowanie referencji do zasobów Krok 5) Wybór menedżera użytkowników (np. JAZN) Krok 6) Mapowanie logicznych ról do użytkowników / grup Krok 7) Publikacja Web Services Krok 8) Ekran podsumowujący instalację Opcjonalne czynności po instalacji Utworzenie źródeł danych dla aplikacji, jeśli przy instalacji podano nieistniejące Utworzenie grup i użytkowników specyficznych dla aplikacji i mapowanie ich do logicznych ról aplikacji

OEM Instalacja aplikacji J2EE (1/4) 311 Krok 1: ekran powitalny Krok 2: wybór pliku EAR

OEM Instalacja aplikacji J2EE (2/4) 312 Krok 3: mapowanie modułów webowych do ścieżek URL Krok 4: - referencje na źródła danych - źródła danych dla CMP

OEM Instalacja aplikacji J2EE (3/4) 313 Krok 5: menedżer użytkowników Krok 6: mapowanie ról

OEM Instalacja aplikacji J2EE (4/4) 314 Krok 8 (Krok 7 został pominięty brak serwisów w aplikacji)

315 OEM Konfiguracja aplikacji J2EE (1/2) Definiowanie użytkowników / grup na poziomie aplikacji

316 OEM Konfiguracja aplikacji J2EE (2/2) Definiowanie źródła danych dla zainstalowanej aplikacji

OEM Monitorowanie pracy modułów aplikacji 317