Informatyzacja przedsiębiorstw WYKŁAD

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

Download "Informatyzacja przedsiębiorstw WYKŁAD"

Transkrypt

1 Informatyzacja przedsiębiorstw WYKŁAD dr inż. Piotr Zabawa IBM/Rational Certified Consultant wersja

2 Wykład 2 Modelowanie procesów biznesowych z wykorzystaniem BPMN w środowisku Jboss Drools

3 Literatura Wykład ten (Wykład 2) powstał na podstawie dwóch książek: Bali M., Drools JBoss Rules 5.0. Developers Guide, Packt Publishing Browne P., JBoss Drools Business Rules, Packt Publishing oraz na podstawie dokumentacji do JBoss Drools.

4 Elementy diagramu BPMN2 Na wykładzie tym zostaną zaprezentowane tylko te elementy standardu BPMN2, które są dostępne w obecnej wersji z poziomu JBossDrools 5.1. W drugiej części wykładu zostanie zaprezentowany sposób skonfigurowania środowiska developerskiego do modelowania procesów i reguł biznesowych w Eclipse. Zostanie też zaprezentowany sposób tworzenia prostych projektów. Bardziej zaawansowany przykład (od modelu biznesowego po aplikację Java EE) zostanie omówiony na jednym z kolejnych wykładów.

5 Start/End Start jedyny na diagramie workflow początek procesu. Nie ma wejścia i ma jedno wyjście. End jeden z wielu możliwych końców procesu. Ma jedno wejście i nie ma wyjścia.

6 Gateways Diverge (Split) miejsce rozgałęzienia procesu w wiele ścieżek. AND przepływ we wszystkich wyjściach naraz OR przepływ do wszystkich warunków true XOR zostanie wybrane dokładnie jedno wyjście Converge (Join) miejsce połączenia wielu ścieżek procesu w jedną. AND kontynuacja po zakończeniu wszystkich wejść XOR kontynuacja po zakończeniu pierwszego wejścia

7 Tasks Rule obejmuje grupę reguł biznesowych do uruchomienia w ramach tego tasku. Script blok kodu do wykonania w ramach tego tasku. User Task task wymagający podjęcia działań przez business workera. Subprocess podproces służący dekompozycji złożonego procesu lub ponownemu użyciu.

8 Service Tasks Log - wbudowana usługa logowania do pliku. wbudowana usługa powiadamiania e- mail.

9 Events Timer zdarzenie wyzwalane timerem. Error zdarzenie wyzwalane błędem. Message zdarzenie wyzwalane komunikatem.

10 Sub-Process Sub-Process służy modelowaniu podprocesów osadzanych w ramach procesu. Podproces ma dostęp do wszystkich danych procesu, którego jest elementem. Podobnie jak proces musi mieć jeden stan początkowy i może mieć wiele stanów końcowych.

11 Multiple Instances Multiple Instances wielokrotne uruchomienie podprocesu zawartego w tym kontenerze.

12 Zaawansowany przykład modelu

13 Zaawansowany przykład modelu

14 Zaawansowany przykład modelu

15 Wady tradycyjnego podejścia Wady tradycyjnego podejścia: if (customer.getlevel() == Level.Gold){ // coś dla Gold } else if (customer.getlevel==level.silver){ if (customer.getaccounts()==null){ // coś dla Silver, który nnie ma rachunku??? } else{ for(account account : customer.getaccounts()) if (account.getbalance<0){ // coś dla Silver mającego konto z debetem } else if (account.getbalance>=0 and account.getbalance()<=1000){} else if (account.getbalance>1000 and account.getbalance()<=100000){} else if (account.getbalance> and account.getbalance()<=500000){} // } } Jak obsługiwać zmiany logiki w takim kodzie?

16 Rozwiązanie problemu Lepiej rozbić to na niezależne warunki: if Customer(level==Level.Silver) and no Account if Customer(level==Level.Silver) and has Account debit if Customer(level==Level.Silver) and has Account less then 1000 //

17 Uzasadnienie dla reguł biznesowych Zalety Wady Kiedy nie stosować

18 Reguły biznesowe - zalety Łatwiej zrozumieć analitykowi i nowemu programiście Łatwiej skupić się na istocie problemu, czyli co a nie jak Łatwość dodawania, usuwania reguł Łatwość wprowadzania zmian zarówno do reguł jak i do modelu dziedzinowego Duża efektywność algorytmu Łatwość odwzorowania w reguły wymagań formułowanych przez analityków

19 Reguły biznesowe - zalety Łatwość korzystania z jednolitego mechanizmu przy dodawaniu zobowiązań biznesowych, np. audyt, raportowanie, logowanie zdarzeń Łatwość ponownego użycia Uwolnienie reguł od sekwencyjności przetwarzania (w odróżnieniu od języków deklaratywnych) Łatwość wykonywania reguł z procesu lub uruchamiania procesów w regułach (Drools)

20 Reguły biznesowe - zalety Niezależne cykle życia. Wydzielenie reguł i procesu z cyklu życia oprogramowania w osobną grupę często zmieniających się artefaktów; niezależność zmian reguł/procesów i kodu oprogramowania Łatwość osadzania Drools w aplikacjach

21 Reguły biznesowe - wady Konieczność przestawienia się programistów na inny sposób myślenia Trudności w wykrywaniu i usuwaniu błędów w regułach/procesie Trudność śledzenia reguł bez dogłębnej znajomości tego jak działa silnik

22 Reguły biznesowe - wady Wysokie wymagania dla zasobów pamięciowych Teoretyczne niebezpieczeństwo wpadnięcia w rekursję jeśli reguły zmieniają sobie nawzajem dane, na których działają (teoretyczne jeśli modelujemy działający już proces)

23 Reguły biznesowe kiedy nie? Jeśli mniej niż 20 reguł Jeśli logika biznesowa zmienia się rzadko Jeśli reguły są proste, działają tylko na jednym obiekcie Jeśli w pseudo-kodzie poziom zagnieżdżenia instrukcji warunkowych jest mniejszy niż 3 Jeśli software ma charakter doraźny i nie będzie ewoluował Jeśli brakuje zasobów do obsługi reguł biznesowych

24 Drools Jest to tzw. BLiP (Business Logic integration Platform). Na zajęciach skorzystamy z: Drools Expert silnik reguł biznesowych Drools Flow silnik procesów biznesowych Drools Fusion zdarzenia biznesowe

25 Instalacja środowisk Na kolejnych slajdach przedstawiono sposób instalacji całego uniwersalnego środowiska deweloperskiego i wykonawczego. Jednak do samego działania w Drools wystarczy wykonać jedynie następujące kroki: Instalacja uniwersalnego środowiska developerskiego Konfiguracja środowiska developerskiego Drools

26 Instalacja uniwersalnego środowiska deweloperskiego Środowisko to służy jednocześnie do: Modelowania w UML Modelowania w BPMN z wykorzystaniem Drools i uruchamiania modeli Pisania aplikacji Java EE w przyjętym szkielecie Pisania aplikacji Java SE/EE wykorzystujących silniki Drools Instalacja opisana w pliku: UniversalIDE_01_Installation.pdf

27 Instalacja uniwersalnego środowiska wykonawczego Środowisko to służy do uruchamiania: Aplikacji Java EE Modeli BPMN w JBoss Drools Instalacja opisana w pliku: UniversalRuntime_01_InstallAndConfig.pdf

28 Konfiguracja uniwersalnego środowiska deweloperskiego Środowisko to wykorzystuje następujące środowisko wykonawcze: JBoss AS i/lub Tomcat jako serwery aplikacyjne MySQL i/lub Derby jako serwery baz danych JBoss Drools Konfiguracja opisana w pliku: UniversalIDE_02_Configuration.pdf

29 Opisana w pliku: Konfiguracja środowiska developerskiego Drools JBossDrools_01_RuntimeSetting.pdf

30 Przykłady Drools_HelloWorld Są to maksymalnie uproszczone przykłady na dobry początek pokazujące różne przydatne mechanizmy dostępne w silnikach oferowanych przez Drools. Wszystkie przykłady odwołują się do różnych zagadnień związanych z powitaniami (HelloWorld). Mogą stanowić dobrą podstawę do rozpoczęcia własnych eksperymentów zarówno ze środowiskiem developerskim jak i z samym zagadnieniem modelowania procesów biznesowych. Były pisane przeze mnie w bardzo szybkim tempie, więc tym bardziej wszelkie uwagi i sugestie są mile widziane. W dalszej części wykładu mechanizmy poznane na tych prostych przykładach zostaną wykorzystane w przykładach bardziej zaawansowanych odnoszących się do systemów bankowych warto zatem je od razu tutaj poznać.

31 Przykłady Drools_HelloWorld szybki przegląd i szybki start HelloWorld01_ProcessOnly zrobiony za pomocą kreatora zawierający proces z akcją i klasę runnera HelloWorld02_RuleOnly zrobiony za pomocą kreatora zawierający reguły i klasę runnera HelloWorld03_ProcessAndRule zrobiony na podstawie dwóch poprzednich łączący proces z regułami i zawierający zmienioną klasę runnera HelloWorld04_ProcessAndDSLRule przykład poprzedni dostosowany do oczekiwań analityków biznesowych dzięki wykorzystaniu DSL (Domain-Specific Language)

32 Przykłady Drools_HelloWorld zdarzenia i analiza statystyczna HelloWorld05_RulesAndEvents prosty program pokazujący jak korzystając z silnika reguł biznesowych doprowadzić do wypisania powitania sterowanego zdarzeniem HelloWorld06_StatefullSession nieco bardziej złożony program ilustrujący sposób przeprowadzenia analizy statystycznej faktów znajdujących się w bazie wiedzy silnika reguł biznesowych HelloWorld07_DroolsTypeDeclaration dość skomplikowany przykład, w którym przeprowadzana jest analiza statystyczna dotycząca zdarzeń biznesowych

33 Przykłady Drools_HelloWorld zdarzenia na osi czasu HelloWorld08_? uzupełnić! HelloWorld09_? uzupełnić!

34 Przykłady Drools_HelloWorld architektura HelloWorld10_BusinessRulesEngine przykład pokazujący jak w sposób nie naiwny korzystać w aplikacji z silnika reguł biznesowych ukrytego za interfejsem uzupełnić! HelloWorld11_BusinessProcessEngine przykład ilustrujący możliwość ukrycia przed aplikacją procesu biznesowego za interfejsem uzupełnić!

35 Sposób utworzenia nowego projektu Sposób utworzenia nowego przykładu z procesem opisany w pliku: JBossDrools_02_ProjectCreationWizard.pdf

36 Przykłady Drools_HelloWorld Sposób uruchomienia przykładu z procesem opisany w pliku: JBossDrools_03_ProjectWorkflowExecution.pdf

37 Koncepcja silnika reguł biznesowych Przykład reguła biznesowa: package droolsbook; rule basic rule end when // condition(s) albo LHS Account ( balanace < 100 ) then // consequence albo RHS System.out.println( Account balance is less then 100 );

38 Koncepcja silnika reguł biznesowych Przykład c.d. bean jako zwykła klasa Java (POJO): package droolsbook; public class Account{ } private long balance; public long getbalance(){ return balance; } public void setbalance(long balance){ } this.balance = public boolean equals(final Object other){// public int hashcode(){// public String tostring(){// }

39 Koncepcja silnika reguł biznesowych Opis koncepcji działania na powyższym przykładzie. Klasa klienta realizuje następujące kroki: Tworzy obiekt bazy wiedzy Umieszcza w tym obiekcie zasoby (tu: reguły biznesowe) Tworzy obiekt sesji (stanowej lub bezstanowej) Tworzy obiekt klasy Account Umieszcza obiekt klasy Account w obiekcie sesji Uruchamia reguły Do tworzenia obiektów Drools wykorzystywany jest Builder. Bardziej szczegółowe informacje widać w Drools_HelloWorld.

40 Koncepcja silnika reguł biznesowych Opis reakcji silnika Drools: Drools próbuje dopasować każdy fakt (tu: Account) umieszczony w sesji z bazą wiedzy do każdego warunku reguł biznesowych umieszczonych w bazie wiedzy aby sprawdzić które fakty spełniają te reguły. Etap ten to tzw. pattern matching. Jeśli dany fakt spełnia wszystkie warunki w danej regule biznesowej, to jest wykonywana dla tego faktu konsekwencja określona wtej regule biznesowej. Czyli mamy funkcjonalność wyprowadzoną na zewnątrz z faktów i przeniesioną do reguł. Innymi słowy funkcjonalnością obiektów sterujemy spoza nich.

41 Koncepcja silnika reguł biznesowych Opis reakcji silnika Drools c.d.: Jeśli faktów jest więcej i warunki danej reguły dotyczą więcej niż jednego faktu, to silnik reguł biznesowych dopasowuje zestawy faktów w taki sposób, aby znaleźć wszystkie zestawy faktów spełniające daną regułę (wszystkie jej warunki jednocześnie). Następnie konsekwencja takiej reguły jest realizowana dla każdego zestawu dopasowanego wcześniej z sukcesem.

42 Koncepcja silnika reguł biznesowych Kolejność wykonania: Kolejność wykonania konsekwencji dla poszczególnych obiektów nie jest określona decyduje o tym silnik reguł biznesowych (por. uwagi o wadach silników). Jednak są w Drools mechanizmy pozwalające zapanować do pewnego stopnia nad kolejnością wykonania: Agenda Priorytety reguł (salience) Grupowanie reguł (activation-group) albo (agenda-group) Ruleflow czyli Workflow (ruleflow-group)

43 Język reguł biznesowych Reguła może zawierać wiele warunków Account ( balance == 200) Customer (name == John ) Reguła może deklarować zmienne (to tylko deklaracja podstawianiem zajmuje się silnik) $account : Account ( $type : type ) Reguła może używać zadeklarowanej zmiennej (dla każdego znalezionego obiektu klasy Account znajdujemy wszystkie obiekty klasy Customer o polu account będącym znalezionym wcześniej obiektem klasy Account) $account : Account() Customer ( account == $account )

44 Język reguł biznesowych Typy natywne java i inne String Wyrażenie regularne Date Boolean Enum Komentarze pojedyncza linia # lub // /* blok */ Pakiety i importowanie

45 Język reguł biznesowych Zmienne globalne (deklaracja, przekazanie do sesji, skorzystanie w regule) Dialekty Java domyślny mvel przydatny ze względu na skróconą formę zapisu reguł

46 Język reguł biznesowych Operatory w warunkach reguł And Or Not Exists Eval return value restriction (wywołanie metody faktu ujęte w nawiasy) Inline eval Nested accessors

47 Język reguł biznesowych Operatory w warunkach reguł c.d. This Działania na kolekcjach Contains Not contains Member of Not member of from

48 Język reguł biznesowych Metody w konsekwencjach reguł Modify (modyfikuje fakt w ramach sesji) Insert (umieszcza nowy fakt w sesji) Retract (usuwa fakt z sesji)

49 Język reguł biznesowych Atrybuty reguł salience no-loop dialect

Informatyzacja przedsiębiorstw WYKŁAD

Informatyzacja przedsiębiorstw WYKŁAD Informatyzacja przedsiębiorstw WYKŁAD dr inż. Piotr Zabawa IBM/Rational Certified Consultant pzabawa@pk.edu.pl wersja 0.1.0 07.10.2010 Wykład 3 Modelowanie procesów biznesowych z wykorzystaniem BPMN w

Bardziej szczegółowo

Java Developers Day. Silniki reguł biznesowych

Java Developers Day. Silniki reguł biznesowych Java Developers Day Silniki reguł biznesowych Mariusz Kaczor mariusz.kaczor@altkom.pl Łukasz Szandecki lukasz.szandecki@altkom.pl slide 1 Agenda Mamy problem.. Programowanie deklaratywne Drools przykład

Bardziej szczegółowo

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Informatyzacja przedsiębiorstw

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Informatyzacja przedsiębiorstw Politechnika Krakowska im. Tadeusza Kościuszki Karta przedmiotu Wydział Fizyki, Matematyki i Informatyki obowiązuje w roku akademickim 2012/2013 Kierunek studiów: Informatyka Forma studiów: Stacjonarne

Bardziej szczegółowo

Modelowanie procesów biznesowych, przepływu pracy i wdrażanie aplikacji w oparciu o Jboss jbpm lub Activiti

Modelowanie procesów biznesowych, przepływu pracy i wdrażanie aplikacji w oparciu o Jboss jbpm lub Activiti Kod szkolenia: Tytuł szkolenia: JBPM Modelowanie procesów biznesowych, przepływu pracy i wdrażanie aplikacji w oparciu o Jboss jbpm lub Activiti Dni: 2 Szkolenie jest zgodne z wersją 6.x, możliwe są również

Bardziej szczegółowo

Modelowanie procesów biznesowych, przepływu pracy oraz reguł biznesowych na przykładzie Drools i jbpm lub Activiti

Modelowanie procesów biznesowych, przepływu pracy oraz reguł biznesowych na przykładzie Drools i jbpm lub Activiti Kod szkolenia: Tytuł szkolenia: BPMR Modelowanie procesów biznesowych, przepływu pracy oraz reguł biznesowych na przykładzie Drools i jbpm lub Activiti Dni: 5 Opis: Adresaci Szkolenia: Szkolenie adresowane

Bardziej szczegółowo

Informatyzacja przedsiębiorstw WYKŁAD

Informatyzacja przedsiębiorstw WYKŁAD Informatyzacja przedsiębiorstw WYKŁAD dr inż. Piotr Zabawa IBM/Rational Certified Consultant pzabawa@pk.edu.pl wersja 0.1.0 07.10.2010 Wykład 5 Techniki pracy w środowisku Jboss Drools Wstęp Podobnie jak

Bardziej szczegółowo

KOTLIN. Język programowania dla Androida

KOTLIN. Język programowania dla Androida KOTLIN Język programowania dla Androida Historia Kotlin został opracowany przez firmę JetBrains Prace rozpoczęto w 2011 r., od 2012 r. dostępny na licencji Apache 2. Nazwa pochodzi od wyspy koło Petersburga

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 Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA W SUPER EXPRESOWEJ PIGUŁCE JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie

Bardziej szczegółowo

Diagramy czynności Na podstawie UML 2.0 Tutorial

Diagramy czynności Na podstawie UML 2.0 Tutorial Diagramy czynności Na podstawie UML 2.0 Tutorial http://sparxsystems.com.au/resources/uml2_tutorial/ Zofia Kruczkiewicz 1 Diagramy czynności 1. Diagramy czyności UML http://sparxsystems.com.au/resources/uml2_tutorial/

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

Bardziej szczegółowo

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko Typy rozproszonych baz Systemy typu klient-serwer (jeden serwer) Jednorodna rozproszona baza (kilka serwerow, jeden system zarzadzania baza ) Niejednorodna

Bardziej szczegółowo

Analiza i projektowanie aplikacji Java

Analiza i projektowanie aplikacji Java Analiza i projektowanie aplikacji Java Modele analityczne a projektowe Modele analityczne (konceptualne) pokazują dziedzinę problemu. Modele projektowe (fizyczne) pokazują system informatyczny. Utrzymanie

Bardziej szczegółowo

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Opis biznesowy świata rzeczywistego Wymagania funkcjonalne i niefunkcjonalne aplikacji Diagram przypadków życia Diagramy klas i sekwencji:

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................

Bardziej szczegółowo

Procesy biznesowe w praktyce. Przykłady użycia z wykorzystaniem jbpm 4.4

Procesy biznesowe w praktyce. Przykłady użycia z wykorzystaniem jbpm 4.4 Procesy biznesowe w praktyce Przykłady użycia z wykorzystaniem jbpm 4.4 1 Agenda Definicja i zastosowanie procesu biznesowego Języki dziedzinowe (DSL) a rozwiązania BPM JBPM: jbpm 4.4 krótka charakterystyka

Bardziej szczegółowo

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa

Bardziej szczegółowo

Zaawansowane aplikacje internetowe

Zaawansowane aplikacje internetowe Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne

Bardziej szczegółowo

BEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

BEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska BEAN VALIDATION Waldemar Korłub Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska Bean Validation Uniwersalny mechanizm walidacji danych we wszystkich warstwach aplikacji Warstwa interfejsu,

Bardziej szczegółowo

Wzorce logiki dziedziny

Wzorce logiki dziedziny Wzorce logiki dziedziny 1. Wzorce logiki dziedziny skrypt transakcji (Transaction Script), brama tabeli (Table Data Gateway), model dziedziny (Domain model), strategia (Strategy), moduł tabeli (Table Module),

Bardziej szczegółowo

Testowanie II. Celem zajęć jest zapoznanie studentów z oceną jakości testów przy wykorzystaniu metryk pokrycia kodu testami (ang. code coverage).

Testowanie II. Celem zajęć jest zapoznanie studentów z oceną jakości testów przy wykorzystaniu metryk pokrycia kodu testami (ang. code coverage). Testowanie II Cel zajęć Celem zajęć jest zapoznanie studentów z oceną jakości testów przy wykorzystaniu metryk pokrycia kodu testami (ang. code coverage). Pokrycie kodu testami Jak już była mowa na poprzednich

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać MatLab część III 1 Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać komentarze poprzedzone znakiem % Skrypty

Bardziej szczegółowo

Informatyzacja przedsiębiorstw WYKŁAD

Informatyzacja przedsiębiorstw WYKŁAD Informatyzacja przedsiębiorstw WYKŁAD dr inż. Piotr Zabawa IBM/Rational Certified Consultant pzabawa@pk.edu.pl wersja 0.1.0 07.10.2010 Wykład 1 Modelowanie procesów biznesowych Przypomnienie rodzajów narzędzi

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static), Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których

Bardziej szczegółowo

Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1

Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1 Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1 Zofia Kruczkiewicz Zofia Kruczkiewicz Inżynieria oprogramowania INEK011 1 Składnia elementów na diagramach UML 1. W prezentacji składni diagramów

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

Bardziej szczegółowo

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wyjątki Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wydaje się, że żaden użytkownik oprogramowania nie lubi, kiedy stosowany program nagle zawiesza się,

Bardziej szczegółowo

Zaawansowane programowanie obiektowe - wykład 5

Zaawansowane programowanie obiektowe - wykład 5 Zaawansowane programowanie obiektowe - wykład 5 dr Piotr Jastrzębski (czynnościowe) opisują zachowanie obiektów, komunikację pomiędzy nimi i ich odpowiedzialność. Interpreter Iterator (kursor) Łańcuch

Bardziej szczegółowo

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016 Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal

Bardziej szczegółowo

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język

Bardziej szczegółowo

PL/SQL. Zaawansowane tematy PL/SQL

PL/SQL. Zaawansowane tematy PL/SQL PL/SQL Zaawansowane tematy PL/SQL Cele Poznanie złożonych i referencyjnych typów danych Poznanie konstrukcji kursora Poznanie kodu składowanego Poznanie procedur i funkcji 2 Złożone typy danych RECORD

Bardziej szczegółowo

Platformy Programistyczne Podstawy języka Java

Platformy Programistyczne Podstawy języka Java Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo

Bardziej szczegółowo

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Java - tablice, konstruktory, dziedziczenie i hermetyzacja Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe III. Refleksja Małgorzata Prolejko OBI JA16Z03 Plan Klasa Class. Analiza funkcjonalności klasy. Podstawy obsługi wyjątków. Zastosowanie refleksji do analizy obiektów. Wywoływanie

Bardziej szczegółowo

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga! Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)

Bardziej szczegółowo

Enterprise JavaBeans

Enterprise JavaBeans Enterprise JavaBeans 1. Wprowadzenie. 2. Przegląd komponentów EJB. komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 3. Kontener komponentów EJB: JBoss. 1 Enterprise JavaBeans

Bardziej szczegółowo

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44 Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne

Bardziej szczegółowo

Terminologia BPMN 2.0 Wersja 2.0 opracowana w AION

Terminologia BPMN 2.0 Wersja 2.0 opracowana w AION Terminologia BPMN 2.0 Wersja 2.0 opracowana w AION Terminy standardu OMG BPMN 2.0 są wytłuszczone i uporządkowane alfabetycznie. Podane ich tłumaczenia, pisane zwykłą czcionką, zostały opracowane przez

Bardziej szczegółowo

Strumieniowe bazy danych. Piotr i Paweł

Strumieniowe bazy danych. Piotr i Paweł Strumieniowe bazy danych Piotr i Paweł Źródła zapotrzebowania na DSMS Finanse (giełda, przewidywanie trendów, wykrywanie defraudacji, szacowanie ryzyka) Zarządzanie ruchem i wydajnością sieci telekomunikacyjnych

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

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

Wykład 2: Podstawy Języka

Wykład 2: Podstawy Języka Wykład 2: Podstawy Języka 1.wprowadzenie 2.podstawy języka 3.sterowanie 4.inicjacja i sprzątanie 5.kontrola dostępu 6.dziedziczenie 7.polimorfizm 8.obsługa błędów 9.kolekcje obiektów 10.wejście i wyjście

Bardziej szczegółowo

Ćwiczenie 1. Modelowanie prostego procesu

Ćwiczenie 1. Modelowanie prostego procesu Ćwiczenie 1. Modelowanie prostego procesu Część 1. Definiowanie nowego projektu 1. Uruchom narzędzie TIBCO Business Studio. 2. Z menu wybierz File -> New -> Project... 3. W oknie dialogowym New Project

Bardziej szczegółowo

Ćwiczenie 1. Przygotowanie środowiska JAVA

Ćwiczenie 1. Przygotowanie środowiska JAVA Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.

Bardziej szczegółowo

Algorytmika i Programowanie VBA 1 - podstawy

Algorytmika i Programowanie VBA 1 - podstawy Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe IV. Interfejsy i klasy wewnętrzne Małgorzata Prolejko OBI JA16Z03 Plan Właściwości interfejsów. Interfejsy a klasy abstrakcyjne. Klonowanie obiektów. Klasy wewnętrzne. Dostęp do

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

Wykład 7: Pakiety i Interfejsy

Wykład 7: Pakiety i Interfejsy Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,

Bardziej szczegółowo

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 4 Diagramy aktywności I Diagram aktywności (czynności) (ang. activity

Bardziej szczegółowo

Właściwości i metody obiektu Comment Właściwości

Właściwości i metody obiektu Comment Właściwości Właściwości i metody obiektu Comment Właściwości Właściwość Czy można zmieniać Opis Application nie Zwraca nazwę aplikacji, która utworzyła komentarz Author nie Zwraca nazwę osoby, która utworzyła komentarz

Bardziej szczegółowo

Programowanie komponentowe 5

Programowanie komponentowe 5 Budowa warstwy klienta w architekturze typu klient-serwer zbudowanych z komponentów typu EE - klient desktopowy i internetowy. Zastosowanie komponentów opartych na technologii EJB 3.2. na podstawie https://docs.oracle.com/javaee/7/jeett.pdf

Bardziej szczegółowo

Programowanie Obiektowe Ćwiczenie 4

Programowanie Obiektowe Ćwiczenie 4 Programowanie Obiektowe Ćwiczenie 4 1. Zakres ćwiczenia wyjątki kompozycja 2. Zagadnienia Założeniem, od którego nie należy odbiegać, jest by każdy napotkany problem (np. zatrzymanie wykonywanej metody)

Bardziej szczegółowo

Systemy Rozproszone. Spis treści. Temat projektu: Regułowy system analizujacy logi. autorzy: Rafał Sadłowski, Sebastian Falkus, Michał Różycki

Systemy Rozproszone. Spis treści. Temat projektu: Regułowy system analizujacy logi. autorzy: Rafał Sadłowski, Sebastian Falkus, Michał Różycki Systemy Rozproszone Temat projektu: Regułowy system analizujacy logi Spis treści autorzy: Rafał Sadłowski, Sebastian Falkus, Michał Różycki Cel Projektu...2 Dane aplikacji...2 Technologia...2 Zarządzanie

Bardziej szczegółowo

Tworzenie raportów XML Publisher przy użyciu Data Templates

Tworzenie raportów XML Publisher przy użyciu Data Templates Tworzenie raportów XML Publisher przy użyciu Data Templates Wykorzystanie Szablonów Danych (ang. Data templates) jest to jedna z metod tworzenia raportów w technologii XML Publisher bez użycia narzędzia

Bardziej szczegółowo

Graficzna notacja procesów biznesowych BPMN. Porównanie z notacja UML. Jakub Morkis, Piotr Chmielewski

Graficzna notacja procesów biznesowych BPMN. Porównanie z notacja UML. Jakub Morkis, Piotr Chmielewski Graficzna notacja procesów biznesowych BPMN. Porównanie z notacja UML Jakub Morkis, Piotr Chmielewski BPMN - Historia Formowanie grumy tworzącej notację Sierpień 2001, 58 członków reprezentujących 35 firm,

Bardziej szczegółowo

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object Java: kilka brakujących szczegółów i uniwersalna nadklasa Object Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU Konstrukcja obiektów Niszczenie obiektów i zwalnianie zasobów

Bardziej szczegółowo

Aplikacje RMI Lab4

Aplikacje RMI   Lab4 Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykład 8: klasy cz. 4 Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD

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

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

Bardziej szczegółowo

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019 Wykład 3 22 marca 2019 Klasy wewnętrzne Klasa wewnętrzna class A {... class B {... }... } Klasa B jest klasa wewnętrzna w klasie A. Klasa A jest klasa otaczajac a klasy B. Klasy wewnętrzne Właściwości

Bardziej szczegółowo

Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592. Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami

Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592. Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592 Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami Spis treści Założenia Projektowe...1 Schemat Bazy Danych...1

Bardziej szczegółowo

dr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1

dr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1 Ćwiczenie 1 Uruchamianie programu w Netbeans Uruchom środowisko Netbeans. Stwórz nowy projekt typu Java Application. Nadaj projektowi nazwę HelloWorld (Project Name), zwróć uwagę na folder, w którym zostanie

Bardziej szczegółowo

Robert Barański, AGH, KMIW State Machine v1.0. Maszyna stanów (State Machine)

Robert Barański, AGH, KMIW State Machine v1.0. Maszyna stanów (State Machine) Maszyna stanów (State Machine) Automaty stanów są jednymi z podstawowych konstrukcji, jakie programiści NI LabVIEW używają do szybkiego pisania aplikacji. Programiści używają NI LabVIEW w aplikacjach,

Bardziej szczegółowo

Podstawy programowania III WYKŁAD 4

Podstawy programowania III WYKŁAD 4 Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.

Bardziej szczegółowo

Programowanie w CLIPS

Programowanie w CLIPS Programowanie w CLIPS CLIPS - środowisko open source do tworzenia systemów ekspertowych. Stworzone w NASA - Johnson Space Center. System ekspertowy - jest to program lub zestaw programów komputerowych

Bardziej szczegółowo

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++ Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu

Bardziej szczegółowo

HP Service Anywhere Uproszczenie zarządzania usługami IT

HP 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ółowo

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP Laboratoria 5-7- część 1 Identyfikacja klas reprezentujących logikę biznesową projektowanego oprogramowania, definicja atrybutów i operacji klas oraz związków między klasami - na podstawie analizy scenariuszy

Bardziej szczegółowo

PHP 5 język obiektowy

PHP 5 język obiektowy PHP 5 język obiektowy Wprowadzenie Klasa w PHP jest traktowana jak zbiór, rodzaj różnych typów danych. Stanowi przepis jak stworzyć konkretne obiekty (instancje klasy), jest definicją obiektów. Klasa reprezentuje

Bardziej szczegółowo

Jak powstaje model biznesowy? Co to jest? Modelowanie biznesowe. Model biznesowy. Jak powstaje model biznesowy? Jak firma generuje przychody?

Jak powstaje model biznesowy? Co to jest? Modelowanie biznesowe. Model biznesowy. Jak powstaje model biznesowy? Jak firma generuje przychody? Modelowanie biznesowe Wprowadzenie (część 1) Co to jest? Każdy model jest błędny. Niektóre modele są użyteczne. George E. P. Box Jak firma generuje przychody? Model biznesowy Sposób generowania przychodów

Bardziej szczegółowo

Dokumentacja do API Javy.

Dokumentacja do API Javy. Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu

Bardziej szczegółowo

Plan prezentacji. Budowa aplikacji w technologii Enterprise JavaBeans. Przegląd architektur: CORBA. Cele budowy aplikacji rozproszonych

Plan prezentacji. Budowa aplikacji w technologii Enterprise JavaBeans. Przegląd architektur: CORBA. Cele budowy aplikacji rozproszonych Plan prezentacji Budowa aplikacji w technologii Enterprise JavaBeans Przegląd architektur aplikacji rozproszonych: CORBA,, Wprowadzenie do Enterprise JavaBeans () Budowa komponentów sesyjnych Budowa komponentów

Bardziej szczegółowo

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,

Bardziej szczegółowo

Laboratorium 8 Diagramy aktywności

Laboratorium 8 Diagramy aktywności Laboratorium 8 Diagramy aktywności Zofia Kruczkiewicz Zofia Kruczkiewicz Lab_INP002017_8 1 Modelowanie zachowania obiektów za pomocą diagramów aktywności. Modelowanie zachowania obiektów za pomocą diagramów

Bardziej szczegółowo

Technologie obiektowe

Technologie obiektowe WYKŁAD dr inż. Paweł Jarosz Instytut Informatyki Politechnika Krakowska mail: pjarosz@pk.edu.pl LABORATORIUM dr inż. Paweł Jarosz (3 grupy) mgr inż. Piotr Szuster (3 grupy) warunki zaliczenia Obecność

Bardziej szczegółowo

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1 Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie

Bardziej szczegółowo

Diagram stanów Laboratorium 9

Diagram stanów Laboratorium 9 Diagram stanów Laboratorium 9 Zofia Kruczkiewicz Zofia Kruczkiewicz lab_inp002017_9 1 Modelowanie zachowania obiektu za pomocą diagramu stanów. Opracowanie diagramu stanów dla obiektu wybranej klasy, reprezentującego

Bardziej szczegółowo

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;

Bardziej szczegółowo

15. Funkcje i procedury składowane PL/SQL

15. Funkcje i procedury składowane PL/SQL 15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp

Bardziej szczegółowo

Rysunkowy tutorial Możesz swobodnie dystrybuować ten plik jeśli pozostawisz go w nietkniętym stanie. Możesz także cytować jego fragmenty umieszczając w tekście odnośnik http://mbartyzel.blogspot.com Jak

Bardziej szczegółowo

Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki.

Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki. Pakiety Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki. Pakiet składa się ze: specyfikacji (interfejsu) i ciała (implementacji). W specyfikacji mieszczą

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

Współbieżność w środowisku Java

Współbieżność w środowisku Java Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych

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

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu

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

Modelowanie i Programowanie Obiektowe

Modelowanie i Programowanie Obiektowe Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do

Bardziej szczegółowo

Aplikacje w środowisku Java

Aplikacje w środowisku Java Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - dziedziczenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 W ramach poprzedniego laboratorium

Bardziej szczegółowo

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

Serwery aplikacji. dr Radosław Matusik. radmat

Serwery aplikacji. dr Radosław Matusik.   radmat www.math.uni.lodz.pl/ radmat EL - Expression Language Załóżmy, że mamy klasę Pracownik, której atrybutem jest PESEL. Załóżmy dalej, że w atrybucie sesji zalogowany przechowujemy obiekt aktualnie zalogowanego

Bardziej szczegółowo

C++ Przeładowanie operatorów i wzorce w klasach

C++ Przeładowanie operatorów i wzorce w klasach C++ i wzorce w klasach Andrzej Przybyszewski numer albumu: 89810 14 listopada 2009 Ogólnie Przeładowanie (przeciążanie) operatorów polega na nadaniu im nowych funkcji. Przeładowanie operatora dokonuje

Bardziej szczegółowo