Wydajne skalowanie aplikacji Java Enterprise
|
|
- Halina Sowińska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Wydajne skalowanie aplikacji Java Enterprise Warszawa, 21 listopad 2011
2 Cele prezentacji Zwiększenie świadomości dotyczącej jakości aplikacji Łatwiejsze określenie potencjalnych problemów z wydajnością/jakością Możliwość przewidzenia problemów przed ich wystąpieniem Możliwość wykorzystania sprawdzonych rozwiązań Slajd 2
3 Agenda Jak monitorować aplikację Po co nam testy? Domain Driven Development Interakcja z klientem Skalowanie komponentów aplikacyjnych Cloud Computing i okolice Rozwiązywanie problemów z aplikacja Slajd 3
4 Kiedy aplikacja działa wolno? Slajd 4
5 Jak sobie radzić z problemami z wydajnością aplikacji? 2 metody, które (już nie) działają BHW Buy HardWare BMHW Buy More HardWare Historia rozwoju CPU CISC Częstotliwość Wielordzeniowość Teraz trzeba pisać lepsze aplikacje Slajd 5
6 Memory Wall Problem przewidziany w połowie lat 90 Hitting the Memory Wall: Implications of the Obvious - Wm. A. Wolf, Sally A. McKey, Computer Science Report No. CS-94-48, December 1994 Przyczyna Częstotliwość i moc procesorów rozwija się szybciej niż przepustowość i latency pamięci Efekt dobre lata 90 aplikacja wykorzystuje ok. 50% RAM XXI wiek aplikacja wykorzystuje ok. 10% RAM Slajd 6
7 Testy, testy, testy Wymagania niefunkcjonalne dotyczące testów Czas trwania: 180 min Dodatkowo 60 minut na warm-up Liczba równoległych użytkowników: 100 Średni czas odpowiedzi: < 1 sek 99 percentyl: < 2 sek Czas odpowiedzi Percentyl 0,1 6,94% 0,2 16,67% 0,3 27,78% 0,4 44,44% 0,5 58,33% 0,6 69,44% 0,7 77,78% 0,8 83,33% 0,9 87,50% 1 91,67% 1,1 94,44% 1,2 95,83% 1,3 97,22% 1,4 98,61% 1,5 99,83% 1,6 99,83% 1,7 99,83% 1,8 99,83% 1,9 99,83% 2 99,83% >2 100,00% Slajd 7
8 Czas odpowiedzi Skalowanie aplikacij JEE Co poszło nie tak? Czasy odpowiedzi Średnia 0,75 sek Mediana 0,4 sek Zachowanie systemu Policzmy Przez 60 minut, 100 wątków wykonywało transakcję po 120 sekund 60/2* transakcji Przez pierwsze 120 minut, 100 wątków wykonało transakcji 3000 to 0,17% wszystkich transakcji! A system przez 60 minut nie działał! Czas odpowiedzi Liczba próbek 0, , , , , , , , , , , , , , ,6 0 1,7 0 1,8 0 1, > czas Slajd 8
9 Test Driven Development Ankieta Ilu z Was robi testy jednostkowe? Jaki procent kodu pokryty jest testami 90% 75% 50% Ilu z Was robi automatyczne testy GUI? Ilu z Was używa ciągłej integracji? Po co nam testy? Umożliwiają wykrycie błędów Umożliwiają weryfikację kontraktów API Zapewniają, że mamy (większą) pewność, że nasz kod działa poprawnie Ratują nam życie przy zmianach!!! Slajd 9
10 Wstęp od Domain Driven Architecture O czym należy zapomnieć Projektowanie bottom-up zaczynając od modelu bazy danych Umieszczanie logiki w oddzielnej warstwie (EJB) Tworzenie prostych obiektów POJO O czym należy jednak pamiętać W końcu i tak użyjemy bazy danych Wykorzystujmy jak najwięcej wzorców projektowych Testy, testy, testy Slajd 10
11 DOMENA Domain Driven Design API Interfejsy obiektów Interfejsy usług Implementacja Kod aplikacji Persystencja Mapowania Queries Spinacz Wystawia domenę na świat Integruje systemy zewnętrzne Serwisy Warstwa dostępowa z GUI Zawiera obiekty DTO GUI Warstwa prezentacji GUI GWT JSF Wicket Seam SERVICES SPRING EJB POJO API INTERFACES IMPLEMENTATION HERE BE DRAGONS Hibernate PERSISTENCE JPA SEAM SERVICES Repository Legacy Slajd 11
12 Wzorce projektowe i frameworki Rekomendowane Domain Object (DO) Data Transfer Object (DTO) DTO Assembler Repository Generic DAO Command Nierekomendowane Anemic domain objects Repetitive DAO Fat Service Layer Feature Envy Frameworki Proste Dobrze udokumentowane Niekoniecznie wszystko-umiejące Slajd 12
13 Trochę przykładów Jakie domeny można wydzielić? Mapowanie obiektów Ile tabel zrobić? Pliki XML czy anotacje? Repozytoria RoomRepository getallrooms(company) findemployeeroom(employee) EmployeeRepository getallemployees(room) Domena 2 Company Room Domena 1 Person Employee Address City Slajd 13
14 Duże projekty w DDD Pamiętaj Odpowiednio podziel API Wypracuj stabilne API na początku projektu Rób częste iteracje Rób tyle testów ile się da (trust no one ) Możliwość wymiany Elementu domeny Całej domeny Im więcej domen tym bardziej przypomina to SOA GUI GUI 1 GUI 2 SERWISY Serwis 1 Serwis 2 DOMENY Domena 1 Domena 2 Domena 3 Domena 4 Domena 5 Domena 6 Slajd 14
15 Jak to wszystko podzielić? Typowe problemy i rozwiązania Relacje dwukierunkowe Relacja jednokierunkowa i repozytorium Zależności między obiektami Używanie Mock ów Enkapsulacja logiki wewnątrz domeny Zaślepianie zależności Transakcje pomiędzy domenami olać Transakcje rozproszone Bounded Context Cykl życia obiektów Zaślepianie zależności Wydzielanie komponentów aplikacyjnych Slajd 15
16 Wpływ błędów w zależności od warstwy API Bardzo bolesne i pracochłonne Analogiczny problem jak zły projekt w modelu wodospadowym Jak minimalizować skutki Upewnij się, że jest dobra komunikacja z klientem Tworzyć testy jednostkowe w innych warstwach Implementacja Relatywnie łatwe do wykrycia i naprawienia Jak minimalizować skutki Testy, testy, testy Persystencja Może generować dziwne dane biznesowe (przy błędnym mapowaniu) Jak minimalizować skutki Testy sprawdzające czy wszystkie dane się zapisały Spinacz Błędy widoczne na zewnątrz aplikacji Często mogą wynikać z błędów w innych warstwach Jak minimalizować skutki Tworzenie testów przed implementacją i persystencją Serwisy Powinny być w miarę proste i związane z mapowaniem obiektów domeny na DTO Często wykrywane na poziomie GUI Jak minimalizować skutki Testy, testy, testy Slajd 16
17 Najsłabsze ogniwo klient Wymagania zawsze będą się zmieniać Przeważnie można to przewidzieć Pracuj z klientem na prototypach Wizualnych Programistycznych Rób częste iteracje (2-4 tygodnie) Szybko odkryjesz nieścisłości Wymusisz dostarczanie deliverables Klient będzie miał wrażenie, że coś się dzieje Slajd 17
18 Gdzie szukać problemów Architektura rozwiązania Infrastruktura Tuning, monitoring i konfiguracja Aplikacja Obiekty Aplikacji Narzędzia do optymalizacji Application Performance Monitoring Przykładowe Produkty CA Wily, dynatrace, JenniferSoft Serwer aplikacyjny Framework Serwera aplikacji Infrastructure Monitoring IBM Tivoli, HP OpenView DB DB DB DB SQL DML Zapytań SQL, indeksów Database Performance Monitoring Quest DBMS SQL DDL, DCL Serwera bazy danych Database Monitoring Oracle Resource Manager System operacyjny Procesy, zasoby Systemu operacyjnego Real time Optimization MoreVRP CPU I/O Sprzęt Rozbudowa sprzętu Hardware Monitoring HP SIM, IBM Director Slajd 18
19 Jak rozwiązywać problemy Testy wydajnościowe powinny zidentyfikować ok. 75% problemów przed wdrożeniem Dodanie warstwy cache powinno być możliwe na każdym poziomie Implementacja nie powinna zależeć od technologii Slajd 19
20 Cloud i Grid - definicje Compute Grid Równoległe i rozproszone przetwarzanie Data Grid Równoległy i rozproszony storage Grid Computing Compute Grid + Data Grid Cloud Zestaw API dostarczający pewną funkcjonalność Cloud Computing Datacenter + API (Cloud) Slajd 20
21 Grid Computing - rozwiązania Data Grid Terracota (Software AG) Oracle Coherence Grid Computing GridGain JBOSS Infinispan Cloud Computing Amazon EC2 Google AppEngine Microsoft Azure Slajd 21
22 Cloud na przykładzie Amazon EC2 Amazon oferuje Infrastrukturę dla aplikacji Bazy danych Kolejki Storage Dedykowane obrazy. I wiele więcej Możliwe wykorzystanie Skalowane środowisko produkcyjne Serwer FTP Storage dla danych (zdjęcia) Backup Środowisko testowe Simple Queue Service (SQS) Simple DB Elastic Compute Cloud (EC2) Simple Storage Service (S3) CloudFront Elastic Block Store (EBS) Slajd 22
23 Wykorzystanie Grid Computing GUI Przechowywanie sesji użytkownika Przechowywanie obiektów współdzielonych Implementacja Duże obszary danych dla obiektów (100+GB) Niezawodne i koherentne kontenery danych Przeważnie dostępne jako java.util.map Frameworki do przetwarzania MapReduce Job Scheduler Persystencja Cache 2 poziomu Data storage zamiast typowej bazy danych Slajd 23
24 A co jeżeli jednak musimy znaleźć problem? Natywne narzędzia JDK JVisualVM (wcześniej JConsole) Jstat Jmap Jinfo Logi Garbage Collectora -Xloggc:<PLIK> GCViewer ( Memory Analyzer (Eclipse) Sporo komercyjnych rozwiązań Slajd 24
25 Narzędzia do diagnozy problemów Slajd 25
26 Garbage Collector Obiekty alokowane są w przestrzeni young Jeżeli przetrwają X czasu są przenoszone do obszaru survivor Często są 2 równoległe procesy GC Young przeważnie nie powodujący przestoju aplikacji Old przeważnie powodujący przestój aplikacji Pamięć ulega fragmentacji Wszystkie GC (poza Azul Systems) zatrzymują aplikację (stop-theworld) w czasie fazy kompaktowania (defragmentacja) What compaction? Compaction? Slajd 26
27 Garbage Collector tryby pracy Sposoby działania GC Serial Collector Gdy brak wymagań na małe przestoje Dobry jako client side Używa tylko 1 rdzenia Parrallel Collector Maksymalizuje przepustowość Nadal wstrzymuje aplikację Nie gwarantuje krótkich pauz Dobry dla batch processing Mostly-Concurrent Collector Minimalizuje latency (przestoje) Young generation analogicznie do poprzednich Old generation przetwarza równolegle i zatrzymuje aplikację na 2 fazy z 3 Wszystkie GC mają problem z kompaktowaniem pamięci! Slajd 27
28 Tuning GC Opcja nr 1 Opcja nr 2 Tryby pracy GC -XX:+UseSerialGC -XX:+UseConcMarkSweepGC -XX:ParallelGCThreads=20 -XX:+UseParNewGC -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 (default 50) -XX:+UseParallelGC -XX:ParallelGCThreads=20 -XX:+UseParallelOldGC -XX:ParallelGCThreads=20 -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxGCPauseMillis=<X> -XX:GCPauseIntervalMillis=<X> Inne ustawienia GC -XX:+DisableExplicitGC -Xloggc:<file> -verbose:gc Ustawienia rozmiaru pamięci -Xms<SIZE><m g> -Xmx<SIZE><m g> -Xmn<SIZE><m g> Inne ustawienia JVM -Xss<SIZE>k -XX:+UseLargePages -XX:LargePageSizeInBytes=<SIZE>m (default 4m) -XX:ReservedCodeCacheSize=<SIZE>m (default 32m) -XX:MaxPermSize=<SIZE> (default 64m) -XX:+AggressiveOpts Nieskończona liczba roboczogodzin Usprawnienia zwiększające przepustowość Duże rozmiary sterty Do 500 GB na JVM/instancja aplikacji 64 bitowa architektura JVM Możliwośc wykorzystania 32 bitowe proxy z 64 bitowymi rozmiarami pamięci Wsparcie dla 64 bitowych środowisk Wspierane sprzętowo odśmiecanie (Garbage Collecting) Równoległe, jednoczesne, ciągłe Wspierane sprzętowo optymistyczne blokowanie Optymistyczne wykonywanie wątków umożliwia dużą skalowalność Kompaktowanie realizowane równolegle z aplikacją Skończona ilośd dolarów Slajd 28
29 Find a bug Klient mówi Wszyscy użytkownicy muszą długo czekać na odpowiedź Wykorzystanie CPU na maszynach jest na poziomie 10% Developer mówi U mnie się skaluje rewelacyjnie Przy testach obciążenie CPU jest >75% Slajd 29
30 Dziękuję Slajd 30
Wydajne skalowanie aplikacji Java Enterprise
Wydajne skalowanie aplikacji Java Enterprise Warszawa, 21 listopad 2011 Cele prezentacji Zwiększenie świadomości dotyczącej jakości aplikacji Łatwiejsze określenie potencjalnych problemów z wydajnością/jakością
Bardziej szczegółowoBazy 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ółowoVisual VM, Java Management extension i inne ciekawostki
Visual VM, Java Management extension i inne ciekawostki Adam Dudczak adudczak (at) gmail.com Poznań Java User Group 6 października 2008 Plan prezentacji 1 Wprowadzenie do VisualVM 2 VisualVm jako klient
Bardziej szczegółowoJava Persistence API - zagadnienia zaawansowane
Program szkolenia: Java Persistence API - zagadnienia zaawansowane Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Java Persistence API - zagadnienia zaawansowane Java-EE-jpa-pro
Bardziej szczegółowoJBoss: 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ółowoEJB 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ółowoAUREA 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ółowoJava 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ółowoSzkolenie 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ółowoProgram szkolenia: Architektura aplikacji i systemów - Wzorce architektoniczne dla projektantów
Program szkolenia: Architektura aplikacji i systemów - Wzorce architektoniczne dla Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Architektura aplikacji i systemów - Wzorce architektoniczne
Bardziej szczegółowoSpring 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ółowoCał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ółowoTechnologie 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ółowoUniwersytet Łó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ółowoArchitektura tradycyjna vs. architektura w chmurze
Architektura tradycyjna vs. architektura w chmurze Jak projektować IT w czasach cloud computingu? Maciej Kuźniar, Oktawave W ydaje się szaleństwem robienie ci tych sam ych rzecz i oczekiw anie różnych
Bardziej szczegółowoLANDINGI.COM. Case Study. Klient Landingi.com. Branża IT, marketing i PR. Okres realizacji od grudnia 2013 do chwili obecnej.
Klient Landingi.com Branża IT, marketing i PR Okres realizacji od grudnia 2013 do chwili obecnej Rodzaj usługi doradztwo, hosting, Cloud Computing Amazon Web Services, zarządzanie serwerami Doradztwo Hosting
Bardziej szczegółowoLeonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014
Leonard G. Lobel Eric D. Boyd Microsoft TM Azure SQL Database Krok po kroku Przekład: Marek Włodarz APN Promise, Warszawa 2014 Spis treści Wprowadzenie........................................................
Bardziej szczegółowoRozwiązanie Compuware dynatrace
Rozwiązanie Compuware dynatrace COMPUWARE DYNATRACE... 3 2 COMPUWARE DYNATRACE Narzędzie Compuware dynatrace oparte jest o unikatową technologię agentową, która pozwala na dogłębną analizę stanu aplikacji
Bardziej szczegółowoReceptury - niezbędnik projektanta i architekta
Program szkolenia: Receptury - niezbędnik projektanta i architekta Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Receptury - niezbędnik projektanta i architekta Craft-Receptury
Bardziej szczegółowoTestowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia
Program szkolenia: Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Testowanie aplikacji mobilnych na
Bardziej szczegółowoSkalowalna Platforma dla eksperymentów dużej skali typu Data Farming z wykorzystaniem środowisk organizacyjnie rozproszonych
1 Skalowalna Platforma dla eksperymentów dużej skali typu Data Farming z wykorzystaniem środowisk organizacyjnie rozproszonych D. Król, Ł. Dutka, J. Kitowski ACC Cyfronet AGH Plan prezentacji 2 O nas Wprowadzenie
Bardziej szczegółowoMONITOROWANIE DOSTĘPNOŚCI USŁUG IT
MONITOROWANIE DOSTĘPNOŚCI USŁUG IT POZIOMY MONITOROWANIA Services Transaction Application OS Network IBM TIVOLI MONITORING Proaktywnie monitoruje zasoby systemowe, wykrywając potencjalne problemy i automatycznie
Bardziej szczegółowoCałościowe podejście do testowania automatycznego dla programistów. /C#/PHP (TDD, BDD, Spec. by Example, wzorce, narzędzia)
Program szkolenia: Całościowe podejście do testowania automatycznego dla programistów Java /C#/PHP (TDD, BDD, Spec. by Example, wzorce, narzędzia) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas
Bardziej szczegółowoProgramowanie 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ółowoSzczegół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ółowoWarstwa 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ółowoPureSystems zautomatyzowane środowisko aplikacyjne. Emilia Smółko Software IT Architect
PureSystems zautomatyzowane środowisko aplikacyjne. Emilia Smółko Software IT Architect Wbudowana wiedza specjalistyczna Dopasowane do zadania Optymalizacja do aplikacji transakcyjnych Inteligentne Wzorce
Bardziej szczegółowoImplementacja Domain Driven Design - wzorce architektoniczne (część
Program szkolenia: Implementacja Domain Driven Design - wzorce architektoniczne (część 2) Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Implementacja Domain Driven Design
Bardziej szczegółowoWeb 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ółowoSzkolenie: Budowa aplikacji SOA/BPM na platformie Oracle SOA Suite 11g
Szkolenie: Budowa aplikacji SOA/BPM na platformie Oracle SOA Suite 11g Opis szkolenia: Termin SOA, czyli Service Oriented Architecture, oznacza architekturę systemów informatycznych opartą o usługi. Za
Bardziej szczegółowoOrganizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)
Big Data Organizacyjnie Prowadzący: dr Mariusz Rafało mrafalo@sgh.waw.pl http://mariuszrafalo.pl (hasło: BIG) Data Camp Architektura Data Lake Repozytorium służące składowaniu i przetwarzaniu danych o
Bardziej szczegółowoRozwiązania bazodanowe EnterpriseDB
Rozwiązania bazodanowe EnterpriseDB Bogumił Stoiński RHC{E,I,X} B2B Sp. z o.o. 519 130 155 bs@bel.pl PostgreSQL Ponad 20 lat na rynku Jedna z najpopularniejszych otwartych relacyjnych baz danych obok MySQL
Bardziej szczegółowoSerwery Aplikacji "CC" Grzegorz Blinowski. Grzegorz.Blinowski@cc.com.pl http://www.cc.com.pl/ tel (22) 646-68-73; faks (22) 606-37-80
Serwery Aplikacji Grzegorz Blinowski "CC" Grzegorz.Blinowski@cc.com.pl http://www.cc.com.pl/ tel (22) 646-68-73; faks (22) 606-37-80 Aplikacje Web Aplikacje Web - nowe wcielenie modelu klientserwer: przeglądarka
Bardziej szczegółowoProjektowanie i implementacja wysokowydajnych aplikacji w języku
Program szkolenia: Projektowanie i implementacja wysokowydajnych aplikacji w języku PHP Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Projektowanie i implementacja wysokowydajnych
Bardziej szczegółowoZarządzanie wieloserwerowym środowiskiem SAS z wykorzystaniem SAS Grid Managera. Katarzyna Wyszomierska
Zarządzanie wieloserwerowym środowiskiem SAS z wykorzystaniem SAS Grid Managera Katarzyna Wyszomierska Wyzwania administratora Nowe oprogra mowanie Sprzęt Użytkownicy Dane Wyzwania administratora Potrzebne
Bardziej szczegółowoWykł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ółowo2011-11-04. Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL
Instalacja, konfiguracja Dr inŝ. Dziwiński Piotr Katedra InŜynierii Komputerowej Kontakt: piotr.dziwinski@kik.pcz.pl 2 Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management
Bardziej szczegółowoWzorce projektowe i architektura dla platformy Java EE
Program szkolenia: Wzorce projektowe i architektura dla platformy Java EE Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Wzorce projektowe i architektura dla platformy Java EE
Bardziej szczegółowoBazy danych - ciągłość działania, spójność danych i disaster recovery. Daniel Polek-Pawlak Jarosław Zdebik
Bazy danych - ciągłość działania, spójność danych i disaster recovery Daniel Polek-Pawlak Jarosław Zdebik Plan Prezentacji Wprowadzenie - podstawy. Co oznacza utrata danych dla niedużego sklepu. Czy dostępność
Bardziej szczegółowoDariusz 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ółowoZwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)
Program szkolenia: Zwinna współpraca programistów i testerów z wykorzystaniem BDD i Spec Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Zwinna współpraca programistów i testerów
Bardziej szczegółowoOSGi 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ółowoHP Service Anywhere Uproszczenie zarządzania usługami IT
HP Service Anywhere Uproszczenie zarządzania usługami IT Robert Nowak Architekt rozwiązań HP Software Dlaczego Software as a Service? Najważniejsze powody za SaaS UZUPEŁNIENIE IT 2 Brak zasobów IT Ograniczone
Bardziej szczegółowoCzym 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ółowoInstalacja SQL Server Express. Logowanie na stronie Microsoftu
Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy
Bardziej szczegółowoTworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2
Kod szkolenia: Tytuł szkolenia: EJB Tworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2 Dni: 3 Opis: Adresaci szkolenia: Szkolenie adresowane jest
Bardziej szczegółowoJBoss Seam: framework nowej generacji. Copyright Piotr Kochański & Erudis, www.erudis.pl
JBoss Seam: framework nowej generacji Wstęp Agenda Wstęp Elementy JBoss Seam: JSF + EJB3 +...... brakujące ogniwo Możliwości JBoss Seam Przykład zastosowania uproszczenie aplikacji konteksty, konwersacje
Bardziej szczegółowoSzczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych
Szczególne problemy projektowania aplikacji Jarosław Kuchta Miejsce projektowania w cyklu wytwarzania aplikacji SWS Analiza systemowa Analiza statyczna Analiza funkcjonalna Analiza dynamiczna Analiza behawioralna
Bardziej szczegółowo4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152
Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy
Bardziej szczegółowoDane bezpieczne w chmurze
Dane bezpieczne w chmurze Grzegorz Śladowski Dyrektor Działu Technicznego S4E S.A. Agenda Chmura definicja, zasady działania, rodzaje Cechy bezpiecznej chmury Architektura Chmura - definicja Model przetwarzania
Bardziej szczegółowoAudyt oprogramowania systemu B2B oprogramowanie umożliwiające zarządzanie informacjami o produktach:
ZAŁĄCZNIK NR 1 Dodatkowe informacje dotyczące audytu systemu informatycznego B2B - zakres prac. Audyt oprogramowania (testy akceptacyjne i bezpieczeństwa) systemu informatycznego System B2B automatyzujący
Bardziej szczegółowoProjektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych
Projektowanie architektury systemu rozproszonego Jarosław Kuchta Zagadnienia Typy architektury systemu Rozproszone przetwarzanie obiektowe Problemy globalizacji Problemy ochrony Projektowanie architektury
Bardziej szczegółowoSzkolenie wycofane z oferty. Apache Cassandra - modelowanie, wydajność, analiza danych
Szkolenie wycofane z oferty Program szkolenia: Apache Cassandra - modelowanie, wydajność, analiza danych Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Apache Cassandra - modelowanie,
Bardziej szczegółowoPrzetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24
Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24 Agenda Serp24 NoSQL Integracja z CMS Drupal Przetwarzanie danych Podsumowanie Serp24 Darmowe narzędzie Ułatwia planowanie
Bardziej szczegółowoProgram szkolenia: Receptury testowania automatycznego - problemy, strategie, taktyki, techniki, narzędzia
Program szkolenia: Receptury testowania automatycznego - problemy, strategie, taktyki, techniki, narzędzia Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Receptury testowania automatycznego
Bardziej szczegółowoZapewnienie wysokiej dostępności baz danych. Marcin Szeliga MVP SQL Server MCT
Zapewnienie wysokiej dostępności baz Marcin Szeliga MVP SQL Server MCT Agenda Techniki zapewniania wysokiej dostępności baz Zasada działania mirroringu baz Wdrożenie mirroringu Planowanie Konfiguracja
Bardziej szczegółowoSiR_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ółowoMonitorowanie wydajność w bazie Oracle11g
Monitorowanie wydajność w bazie Oracle11g Wstęp Monitorowanie wydajności bazy danych, a także aplikowanie aktualizacji to jedne z ważniejszych zadań administratora bazy danych. Wpływ na wydajność może
Bardziej szczegółowoPrzetwarzanie danych w chmurze
Materiały dydaktyczne Katedra Inżynierii Komputerowej Przetwarzanie danych w chmurze Modele przetwarzania w chmurze dr inż. Robert Arsoba Robert.Arsoba@weii.tu.koszalin.pl Koszalin 2017 Wersja 1.0 Modele
Bardziej szczegółowoSzkolenie autoryzowane. MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2
Szkolenie autoryzowane MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2 Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje Opis szkolenia Szkolenie, gdzie uczestnicy zapoznają
Bardziej szczegółowoWybrane 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ółowoZenoss. Monitorowanie nowoczesnej serwerowni
Zenoss Monitorowanie nowoczesnej serwerowni Zenoss wprowadzenie Zenoss Enterprise to nowoczesne i zaawansowane narzędzie do wszechstronnego monitorowania nowoczesnego środowiska IT. Kompletne rozwiązanie
Bardziej szczegółowoSOP 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ółowoRozwiązania HPE Storage jak zapewnić pełne bezpieczeństwo Twoich danych?
Rozwiązania HPE Storage jak zapewnić pełne bezpieczeństwo Twoich danych? Marek Kozicki, Storage Solutions Architect, HPE 19 maja 2016 r. Przed czym powinniśmy zabezpieczyć nasze dane? Architektura sprzętowo-programowa
Bardziej szczegółowoFORMULARZ OFERTOWY. Termin dostarczenia dokumentu 1
strona 1 Zał. 1 do zapytania ofertowego FORMULARZ OFERTOWY Opteam S.A. o/lublin ul. Budowlana 30 20-469 Lublin W związku z realizacją projektu pod nazwą,,opracowanie nowoczesnego i zaawansowanego systemu
Bardziej szczegółowoJAVA 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ółowoAplikacje 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ółowoZał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ółowoProgram szkolenia: Continuous Integration i Git
Program szkolenia: Continuous Integration i Git Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Continuous Integration i Git tools-git-ci Narzędzia developerzy testerzy 2 dni 50%
Bardziej szczegółowoRozwiązanie Compuware Data Center - Real User Monitoring
Rozwiązanie Compuware Data Center - Real User Monitoring COMPUWARE DATA CENTER REAL USER MONITORING... 3 2 COMPUWARE DATA CENTER REAL USER MONITORING Sercem narzędzia Compuware Data Center Real User Monitoring
Bardziej szczegółowoWprowadzenie do sieciowych systemów operacyjnych. Moduł 1
Wprowadzenie do sieciowych systemów operacyjnych Moduł 1 Sieciowy system operacyjny Sieciowy system operacyjny (ang. Network Operating System) jest to rodzaj systemu operacyjnego pozwalającego na pracę
Bardziej szczegółowoOracle Application Express -
Oracle Application Express - Wprowadzenie Wprowadzenie Oracle Application Express (dawniej: HTML DB) to narzędzie do szybkiego tworzenia aplikacji Web owych korzystających z bazy danych Oracle. Od użytkownika
Bardziej szczegółowoStrojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i
VI Seminarium PLOUG Warszawa Styczeñ 2003 Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i Marcin Przepiórowski Strojenie systemu Linux pod kątem serwera bazy danych Oracle 9i 7 1. Wstęp
Bardziej szczegółowo<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>
Wersja [Uwaga: Niniejszy wzór dostarczony jest w celu użytkowania z Unified Process for EDUcation. Tekst zawarty w nawiasach kwadratowych i napisany błękitną kursywą
Bardziej szczegółowoAsseco dla Zdrowia r.
Asseco dla Zdrowia 20-21.09.2018 r. Architektura i technologia w systemach Asseco Architektura mikrousługowa skonteneryzownaych systemów towards cloud native subsystems Dariusz Augustyn Sekcja Technologiczna
Bardziej szczegółowoStormGrind hackowanie w chmurkach. Marek Goldmann Software Developer, JBoss by Red Hat 15.04.2010, Gliwice
StormGrind hackowanie w chmurkach Marek Goldmann Software Developer, JBoss by Red Hat 15.04.2010, Gliwice Agenda Cloud computing StormGrind CirrAS Demo BoxGrinder CoolingTower StormFolio, Cantiere Q&A
Bardziej szczegółowoEkspert 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ółowoProjektowanie, tworzenie aplikacji mobilnych na platformie Android
Program szkolenia: Projektowanie, tworzenie aplikacji mobilnych na platformie Android Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Projektowanie, tworzenie aplikacji mobilnych
Bardziej szczegółowoINTERNET - Wrocław 2005. Usługi bezpieczeństwa w rozproszonych strukturach obliczeniowych typu grid
Usługi bezpieczeństwa w rozproszonych strukturach obliczeniowych typu grid Bartłomiej Balcerek Wrocławskie Centrum Sieciowo-Superkomputerowe Plan prezentacji Podstawowe pojęcia z dziedziny gridów Definicja
Bardziej szczegółowoKorporacyjna Magistrala Usług na przykładzie Oracle Service Bus
Kod szkolenia: Tytuł szkolenia: ESB/OSB Korporacyjna Magistrala Usług na przykładzie Oracle Service Bus Dni: 3 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów Java, analityków systemowych
Bardziej szczegółowoNowoczesne bazy danych, czyli przetwarzanie in-memory
Nowoczesne bazy danych, czyli przetwarzanie in-memory 1. Dlaczego przetwarzanie w pamięci? 2. Komercyjne bazy danych in-memory 3. Zwykła baza danych, a baza w pamięci różnice 4. Wymiarowanie sprzętu 5.
Bardziej szczegółowoExalogic platforma do aplikacji Oracle i Middleware. Jakub Połeć Business Development Manager CE
Exalogic platforma do aplikacji Oracle i Middleware Jakub Połeć Business Development Manager CE 2011 Oracle Corporation The following is intended to outline our general product direction. It is intended
Bardziej szczegółowoIntegracja danych ubezpieczeniowych w czasie rzeczywistym. Łukasz Szewczyk Solution Architect
Integracja danych ubezpieczeniowych w czasie rzeczywistym Łukasz Szewczyk Solution Architect Dlaczego integrować dane w czasie rzeczywistym? W dość krótkim czasie większość danych jakie posiadamy staje
Bardziej szczegółowoZofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2
Modelowanie i analiza systemów informatycznych 1. Warstwowa budowa systemów informatycznych 2. Model procesu wytwarzania oprogramowania - model cyklu życia oprogramowania 3. Wstęp do modelowania systemów
Bardziej szczegółowoInżynieria oprogramowania- Grupa dra inż. Leszka Grocholskiego II UWr 2009/2010. Aleksandra Kloc, Adam Grycner, Mateusz Łyczek. Wasza-fota.
Inżynieria oprogramowania- Grupa dra inż. Leszka Grocholskiego II UWr 2009/2010 Aleksandra Kloc, Adam Grycner, Mateusz Łyczek Wasza-fota.pl Projekt struktury systemu Historia zmian tego dokumentu Data
Bardziej szczegółowodziennik Instrukcja obsługi
Ham Radio Deluxe dziennik Instrukcja obsługi Wg. Simon Brown, HB9DRV Tłumaczenie SP4JEU grudzień 22, 2008 Zawartość 3 Wprowadzenie 5 Po co... 5 Główne cechy... 5 baza danych 7 ODBC... 7 Który produkt
Bardziej szczegółowoWybrane 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ółowo1 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ółowoInformacje 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ółowoAutomatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus
Automatyzacja procesów biznesowych Andrzej Sobecki ESB Enterprise service bus Plan prezentacji Zdefiniowanie problemu Możliwe rozwiązania Cechy ESB JBI Normalizacja wiadomości w JBI Agile ESB Apache ServiceMix
Bardziej szczegółowoe-off f i f ce: :Sekr k e r tari r at t w chm h urz r e Marcin Pytel
e-office: Sekretariat w chmurze Marcin Pytel Plan prezentacji 1. Wprowadzenie do systemu e-office. 2. Architektura systemu. 3. Doświadczenia praktyczne z pracy z Azure. 4. Plany dotyczące rozwoju systemu.
Bardziej szczegółowoPodstawy frameworka Spring
Podstawy frameworka Spring Adresaci szkolenia: Szkolenie przeznaczone jest dla programistów znających język Java, chcących poszerzyć swoje kompetencje w zakresie tworzenia aplikacji.koncepcja szkolenia
Bardziej szczegółowoBaza danych Oracle 11g Express Edition
Baza danych Oracle 11g Express Edition Agenda Kim jesteśmy Właściwości Oracle XE Możliwości Ograniczenia licencyjne Dostępna funkcjonalność Oracle XE fast start Podstawowa obsługa bazy danych Wprowadzenie
Bardziej szczegółowoEnterprise JavaBean 3.0
Enterprise JavaBean 3.0 Michał Szymczak, Grzegorz Dziemidowicz Politechnika Wrocławska Inżynieria Oprogramowania 26 maja 2009 Ogólne spojrzenie na EJB EJB jako komponent EJB jako framework Typy beanów
Bardziej szczegółowoAdministratorzy kontrolują systemy IT, a kto kontroluje administratorów?
Administratorzy kontrolują systemy IT, a kto kontroluje administratorów? Bartosz Kryński bartosz.krynski@clico.pl O czym w trakcie tej sesji Strefa DMZ LAN Bazy danych Czy: 1. naprawdę wiesz gdzie są istotne
Bardziej szczegółowoZarządzanie farmami serwerów Linux
Zarządzanie farmami serwerów Linux PLNOG Conference 2010 Piotr Siwczak Administrator Systemów Allegro.pl Grupa Allegro ---Farmy serwerów Strategia zarządzania farmami Farmy serwerów w Allegro ---Pytania
Bardziej szczegółowoModel funkcjonowania MPTI
Model funkcjonowania MPTI Your place to be małopolskie centrum nowej gospodarki platforma MPTI zróbmy to razem otwarte innowacje wg MPTI smart city - przyszłość naszych miast zaczyna się tutaj ty wiesz
Bardziej szczegółowoAutomatyzacja procesu tworzenia i zarządzania Wirtualnymi Organizacjami w oparciu o wiedzę w zastosowaniu do architektur zorientowanych na usługi
IT-SOA Automatyzacja procesu tworzenia i zarządzania Wirtualnymi Organizacjami w oparciu o wiedzę w zastosowaniu do architektur zorientowanych na usługi Dariusz Król, W. Funika, B. Kryza, R. Słota, J.
Bardziej szczegółowo