Modelowanie, projektowanie i implementacja usług Web Services. Maciej Zakrzewicz

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

Download "Modelowanie, projektowanie i implementacja usług Web Services. Maciej Zakrzewicz"

Transkrypt

1 Modelowanie, projektowanie i implementacja usług Web Services Maciej Zakrzewicz

2 Plan wykładów 2 Wprowadzenie do architektury SOA Przegląd technologii usług Web Services Przegląd technologii XML Schema Projektowanie i implementacja usług Web Services Strategie konstrukcji środowisk SOA Analiza systemowa zorientowana na usługi Przegląd pozostałych produktów Oracle wspomagających konstrukcję środowisk SOA Oracle Enterprise Service Bus Oracle Web Services Manager Oracle Service Registry

3 Literatura 3 Enterprise SOA: Service-Oriented Architecture Best Practices, Dirk Krafzig, Karl Banke, Dirk Slama, Prentice Hall PTR, 2004 Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services, Thomas Erl, Prentice Hall PTR, 2004 BPEL Cookbook: Best Practices for SOA-based Integration and Applications Development, editors: Harish Gaur, Markus Zirn, PACKT Publishing, 2006 Service-Oriented Architectures: Concepts, Technology, and Design, Thomas Erl, Prentice Hall PTR, 2005 SOA Technology Center, Elements of Service-Oriented Analysis and Design, Understanding the Service Lifecycle within a SOA: Design Time, Principles of Service Design: Service Patterns and Anti-Patterns,

4 Wprowadzenie do architektury SOA

5 Założenia architektury SOA 5 Service-Oriented Architecture - budowa systemów w oparciu o autonomiczne usługi Logika biznesowa nie stanowi części aplikacji użytkowej, nie ma postaci monolitycznej, lecz jest rozbita pomiędzy wiele rozproszonych komponentów nazywanych usługami Usługi są autonomiczne, bezstanowe, hermetyczne, współdzielone Aplikacje użytkowe są klientami wywołującymi rozproszone usługi w celu realizacji procesów biznesowych Powody, dla których stosuje się SOA: potrzeba szybkiej reakcji na zmiany w funkcjonowaniu przedsiębiorstwa potrzeba współdzielenia (reuse) zasobów w dużym przedsiębiorstwie

6 Założenia architektury SOA 6 konsument usług dostawca usług aplikacje usługi konsument usług internet dostawca usług

7 Założenia architektury SOA 7 Usługi mogą być: podstawowe - realizują pojedyncze zadania biznesowe procesowe - komponują usługi podstawowe w procesy biznesowe pośredniczące - pośredniczą w komunikacji z innymi usługami Usługi podstawowe implementowane w technologii Web Services Wykorzystywanie usług ma charakter wymiany komunikatów XML (SOAP) Składnia komunikatów XML opisana w języku XML Schema Interfejsy usług udokumentowane w języku WSDL Usługi procesowe implementowane w technologii BPEL

8 Własności usług 8 Usługi powinny być współdzielone (reusable) Usługi powinny opierać się na formalnym kontrakcie opisującym ich mechanizmy komunikacji Usługi powinny być słabo sprzężone z innymi usługami Usługi powinny ukrywać szczegóły wewnętrznej implementacji Usługi powinny być komponowalne do postaci usług bardziej złożonych Usługi powinny być autonomiczne Usługi powinny być bezstanowe Usługi powinny być skatalogowane

9 Rodzaje połączeń i style komunikacji 9 Połączenie RPC-style, komunikacja synchroniczna klient parametr1, parametr2,... wynik interfejs operacja1 oparacja2 operacja3 usługa Połączenie document-style, komunikacja synchroniczna klient usługa

10 Rodzaje połączeń i style komunikacji 10 Połączenie RPC-style, komunikacja asynchroniczna interfejs klient Message-Oriented Middleware operacja1 oparacja2 operacja3 usługa Połączenie document-style, komunikacja asynchroniczna klient usługa Message-Oriented Middleware

11 Semantyka wywołania 11 klient konwersjaplnnaeur(10) Semantyka ukryta w interfejsie public float konwersjaplnnausd(float kwota) public float konwersjaplnnaeur(float kwota) public float konwersjaplnnagbp(float kwota)... klient <konwersja> <kwota>10</kwota> <waluta>eur</waluta> </konwersja> public String service(string doc) Semantyka ukryta w komunikacie

12 Silne sprzężenie - słabe sprzężenie (tight coupling vs. loose coupling) 12 Połączenie silne sprzężenie = bezpośrednie połączenie sieciowe, np. RPC, obie strony komunikacji muszą być równocześnie aktywne i sprawne słabe sprzężenie = połączenie przez pośrednika, np. MOM, kolejki komunikatów pośredniczą w komunikacji, odbiorca może być nieaktywny lub niesprawny Styl komunikacji silne sprzężenie = komunikacja synchroniczna słabe sprzężenie = komunikacja asynchronicza Semantyka silne sprzężenie = semantyka ukryta w interfejsie słabe sprzężenie = semantyka ukryta w komunikacie

13 Silne sprzężenie - słabe sprzężenie (tight coupling vs. loose coupling) 13 Sterowanie silne sprzężenie = centralne zarządzanie logiką procesową słabe sprzężenie = rozproszone zarządzanie logiką procesową Wiązanie usług silne sprzężenie = usługi powiązane statycznie słabe sprzężenie = usługi powiązane dynamicznie, np. przez UDDI

14 Rodzaje wymian komunikatów 14 Request-response klient wysyła komunikat żądania do usługi, oczekuje komunikatu odpowiedzi od usługi One-way klient wysyła komunikat żądania do usługi, nie oczekuje odpowiedzi od usługi Solicit-response usługa wysyła komunikat odpowiedzi do klienta, oczekuje komunikatu żądania od klienta Notification usługa wysyła komunikat odpowiedzi do klienta, nie oczekuje komunikatu żądania od klienta Modele "solicit-response" i "notification" nie są zgodne z regułami WS-Interoperability

15 Składniki architektury SOA 15 interfejs użytkownika usługa usługa xml usługa xml usługa magistrala usług opcjonalne repozytorium usług wsdl

16 Składniki architektury SOA 16 Interfejs użytkownika (application frontend): moduł inicjujący i monitorujący procesy biznesowe implementowane przez usługi; może mieć zarówno charakter GUI, jak i aplikacji wsadowej (batch) Usługi: implementują operacje biznesowe na wysokim poziomie; usługa składa się z: kontraktu, który specyfikuje przeznaczenie, funkcjonalność, ograniczenia i sposób użycia usługi interfejsu, który udostępnia klientom funkcjonalność usługi implementacji, stanowiącej oprogramowanie funkcjonalności usługi logiki biznesowej, wchodzącej w skład implementacji danych, udostępnianych przez usługę

17 Składniki architektury SOA 17 Repozytorium usług - składnica opisów usług: nazwy i opisy usług, operacji, argumentów (WSDL, XML Schema) właściciele usług opisy uprawnień SLA właściwości transakcyjne Magistrala usług - łączy uczestników architektury SOA i interfejsy użytkownika zapewnia obsługę komunikacji ukrywa różnice technologiczne ukrywa różnice komunikacyjne dostarcza funkcji technicznych, np. bezpieczeństwo, transformacja komunikatów, transakcje, rejestracja

18 Klasyfikacja usług 18 Usługi podstawowe: zapewniają podstawową funkcjonalność usługi dano-centryczne - udostępniają dane usługi logiko-centryczne - implementują logikę biznesową lub reguły biznesowe Usługi pośredniczące: umożliwiają współpracę pomiędzy usługami heterogenicznymi technology gateways - umożliwiają komunikację pomiędzy niekompatybilnymi technologiami adaptery - konwertują wywołania usług pochodzące od klientów fasady - agregują interfejsy wielu usług Usługi procesowe: implementują logikę procesową Usługi publiczne: udostępniają interfejsy typu B2B

19 Klasyfikacja usług 19 usługi podstawowe usługi pośredniczące usługi procesowe usługi publiczne złożoność mała średnia średnia duża duża zależy od usługi zarządzanie stanem bezstanowe bezstanowe stanowe zależy od usługi współdzielenie częste rzadkie rzadkie częste zmienność mała średnia duża mała duża obowiązkowe w SOA tak nie nie nie

20 Alternatywna klasyfikacja usług 20 Usługi aplikacyjne: reprezentują implementację algorytmów przetwarzania danych, np. usługa dostępu do bazy danych, usługa uwierzytelniania użytkownika Usługi biznesowe: reprezentują logikę funkcjonowania biznesu, np. usługa obsługi zamówień publicznych, usługa obsługi kadrowej pracowników

21 Wielowarstwowy model usług 21 Biznesowa usługa procesowa Biznesowa usługa pośrednicząca... Biznesowa usługa podstawowa Biznesowa usługa podstawowa... Aplikacyjna usługa pośrednicząca Aplikacyjna usługa podstawowa Aplikacyjna usługa podstawowa

22 Wprowadzenie do usług Web Services

23 Technologia Web Services 23 Technologia konstrukcji rozproszonych komponentów usługowych, stanowiących podstawę dla realizacji aplikacji biznesowych w architekturze SOA Usługa Web Service: zwarty, samodokumentujący się komponent programowy, który może być przez swojego twórcę zarejestrowany w sieci komputerowej, a następnie przez twórcę aplikacji-konsumenta odkryty i wywołany w trybie zdalnego wykonania Dowolne języki programowania, dowolne platformy sprzętowo-systemowe

24 Technologia Web Services 24 klient Web Service call p1(2,5) serializacja wywołań deserializacja wyników komponent Web Service function p1(a,b) function p1(a,b) function p1(a,b)...<p1> <a>2</a> <b>5</b> </p>... komunikat SOAP wyślij żądanie sieciowe Internet deserializacja wywołań serializacja wyników serwer aplikacji HTTP...<p1> <a>2</a> <b>5</b> </p>...

25 Protokół SOAP 25 Simple Object Access Protocol Prosty protokół komunikacyjny oparty na języku XML, umożliwiający przekazywanie wywołań zdalnych komponentów Web Services Może współdziałać z dowolnym niskopoziomowym sieciowym mechanizmem transportowym, np. HTTP, HTTPS, SMTP, JMS, RMI Dwa tryby wywołań: RPC-style i dokumentowy (documentstyle)

26 Protokół SOAP 26 <?xml version="1.0"?> <soap:envelope xmlns:soap=" soap:encodingstyle=" <soap:body xmlns:m="demo"> <m:multiply> <m:val2>2</m:val2> <?xml version="1.0"?> </m:multiply> <soap:envelope xmlns:soap=" </soap:body> soap:encodingstyle=" </soap:envelope> <soap:body xmlns:m="demo"> Odpowiedź: 6 <m:val1>3</m:val1> <m:multiplyresponse> <m:result>6</m:result> </m:multiplyresponse> </soap:body> </soap:envelope> Żądanie: multiply(2,3)

27 Pojęcia formalne: usługa Web Service 27 Usługi Web Services służą udostępnianiu zasobów za pośrednictwem komunikatów XML

28 Pojęcia formalne: komunikaty i operacje 28 Komunikacja z usługami Web Services wymaga precyzyjnego ustalenia interfejsu Podstawowa struktura komunikatów (messages) może być opisana w XML Schema XML Schema nie wystarcza do opisu powiązań pomiędzy komunikatami Wymiana komunikatów nazywana jest "operacją" (operation)

29 Pojęcia formalne: interfejsy i wiązania 29 Operacje są grupowane w interfejsy (interfaces) Z interfejsami wiązane są protokoły dostępowe Każdy interfejs może posiadać wiele wiązań (bindings) Każde wiązanie jest dostępne pod unikalnym adresem URI nazywanym punktem końcowym usługi (endpoint)

30 Opis interfejsu usługi w języku WSDL 30 WSDL jest językiem dokumentowania interfejsu usługi Web Services Zwykle WSDL jest jedynym dokumentem współdzielonym przez twórcę usługi i jej konsumenta XML Schema opisuje strukturę komunikatów WSDL umożliwia grupowanie komunikatów w operacje, a operacji w interfejsy WSDL umożliwia wiązanie interfejsów do protokołów i przypisywanie im adresów punktów końcowych

31 Struktura dokumentu WSDL 31 <definitions name="..." targetnamespace="..." xmlns=" <!-- definicje abstrakcyjne --> <types>... <message>... <porttype>... <!-- definicje konkretne --> <binding>... <service>... </definitions>

32 Element <types> 32 Definicje typów w postaci schematów XML Do umieszczonych w tym miejscu definicji odwołują się definicje wyższego poziomu Mogą zawierać dowolną liczbę elementów <schema>

33 Element <message> 33 Definiuje abstrakcyjny komunikat, który ma służyć jako parametr wejściowy lub wyjściowy operacji Komunikat składa się z co najmniej jednego elementu <part> Z elementem <part> związany jest albo atrybut "element" (gdy treść komunikatu stanowi XML), albo atrybut "type" (gdy treść komunikatu to wywołanie RPC)

34 Element <porttype> 34 Definiuje interfejs (grupę operacji) Zawiera dowolną liczbę elementów <operation> Każdy element <porttype> musi posiadać unikalną nazwę Każdy element <operation> zawiera kombinację elementów <input> i <output> <input>, potem <output> oznacza operację "żądanie-odpowiedź" (request-response) <output>, potem <input> oznacza operację "zaproszenie-odpowiedź" (solicit-response) <input> oznacza operację jednokierunkową (one-way) <output> oznacza operację powiadomienia (notification)

35 Element <binding> Opisuje szczegóły stosowania konkretnego elementu <porttype> z wybranym protokołem (wiązanie) Dla każdej operacji w <porttype> element <binding> zawiera element <operation> oraz kilka elementów dodatkowych Wiązanie musi posiadać unikalną nazwę 35

36 Element <service> 36 Definiuje kolekcję elementów <port> i <endpoint>, które udostępniają poszczególne wiązania w sieci Każdy element <port> posiada nazwę i skojarzone wiązanie

37 Wprowadzenie do XML Schema

38 Zastosowania XML Schema 38 XML Schema to język znaczników XML służący do definiowania gramatyk dla dokumentów XML XML Schema pozwala określić nazwy dozwolonych znaczników XML, zasady ich zagnieżdżania, typy danych, wartości obowiązkowe, atrybuty Definicje XML Schema mogą być wykorzystywane do automatycznej kontroli poprawności składniowej dokumentów XML - tzw. walidacja XML XML Schema zastępuje starsze rozwiązanie: DTD XML Schema jest powszechnie wykorzystywany przez Web Services i BPEL do opisu struktury zmiennych przechowujących obiekty XML Do tworzenia definicji XML Schema można wykorzystać narzędzia graficzne, np. JDeveloper

39 XML Schema - przykład 39 <?xml version="1.0" encoding="windows-1250"?> <xsd:schema xmlns:xsd=" xmlns=" targetnamespace=" elementformdefault="qualified"> <xsd:element name="zamowienie"> <xsd:complextype> <xsd:sequence> <?xml version="1.0" encoding="utf-8"?> <xsd:element name="produkt" type="string"/> <zamowienie> <xsd:element name="ilosc" type="int"/> <produkt> </xsd:sequence> Nokia E60 </xsd:complextype> </produkt> </xsd:element> <ilosc> </xsd:schema> 120 plik XML Schema (*.xsd) </ilosc> </zamowienie> dokument XML

40 Konstrukcja definicji XML Schema za pomocą JDevelopera 40

41 Konstrukcja definicji XML Schema za pomocą JDevelopera 41 przestrzeń nazw dla gramatyki (zwykle w formacie URL, wskaźnik na dokumentację, może być fikcyjny) typ wartości wewnątrz elementu zagnieżdżona sekwencja elementów element=znacznik XML

42 Wbudowane typy danych XML Schema 42 string boolean float double decimal integer non-negative-integer negative-integer int short byte unsigned-long unsigned-int unsigned-short unsigned-byte date time timeinstant timeduration recurringinstant long binary

43 Element <simpletype> (restriction) 43 Definicja typu opartego na typie istniejącym Umożliwia zawężenie zbioru dozwolonych wartości <restriction> - zakres wartości <list> - lista wartości <union> - połączenie istniejących typów Element "empid" zawiera wartość typu "empid_type", która reprezentuje liczby całkowite nie większe niż 1000:

44 Element <simpletype> (list) 44 Element " ist" zawiera wartośc typu " ist_type", która reprezentuje listę wartości typu string, oddzielanych spacjami < ist> </ ist>

45 Element <simpletype> (union) 45 Element "all_element" zawiera wartości typu "all_type", który reprezentuje liczby całkowite nie większe niż 1000 lub listę wartości typu string, oddzielanych spacjami

46 Element <complextype> (sequence) 46 Definicja złożonego, strukturalnego typu danych Może opierać się na treści prostej <sequence> - sekwencji zagnieżdżonych elementów (kolejność określona) <choice> - wyborze jednego z możliwych zagnieżdżonych elementów <all> - zbiorze zagnieżdżonych elementów (kolejność dowolna) Typ "zamowienie_type" reprezentuje strukturę dwóch zagnieżdżonych elementów (znaczników): "produkt" i "ilosc"

47 Element <complextype> (choice) 47 Typ "faktura_type" reprezentuje jeden z dwóch zagnieżdżonych znaczników: "produkt" lub "usługa". Każdy z tych znaczników może zawierać wartość tekstową

48 Typy anonimowe 48 =

49 Definiowanie atrybutów 49 Element (znacznik) "zamowienie" może posiadać atrybut "kod" o wartości tekstowej

50 Projektowanie i implementacja usług w środowisku Oracle JDeveloper Rozpoczęcie od kontraktu WSDL

51 Przebieg projektowania i implementacji Opracuj formaty XML dla parametrów wejściowych, wyjściowych i wyjątków 2. Opisz formaty XML w języku XML Schema 3. Utwórz dokument WSDL opisujący usługę, jej wiązania, interfejsy, operacje, komunikaty i wyjątki 4. Wygeneruj szkieletowy kod Java w oparciu o dokument WSDL 5. Uzupełnij szkielet Java o kod własnej logiki biznesowej

52 Opracuj formaty XML dla parametrów wejściowych, wyjściowych i wyjątków 52 <zamowienie> <produkt>nokia E60</produkt> <ilosc>120</ilosc> </zamowienie> klient Web Service <potwierdzenie> <id>567120</id> </potwierdzenie> <wyjatek>! <kod>500</kod> <tekst>brak na magazynie</tekst> </wyjatek>

53 Opisz formaty XML w języku XML Schema 53 <?xml version="1.0" encoding="windows-1250"?> <xsd:schema xmlns:xsd=" xmlns=" targetnamespace=" elementformdefault="qualified"> <xsd:element name="zamowienie"> <xsd:complextype><xsd:sequence> <xsd:element name="produkt" type="xsd:string"/> <xsd:element name="ilosc" type="xsd:int"/> </xsd:sequence></xsd:complextype> </xsd:element> <xsd:element name="potwierdzenie"> <xsd:complextype><xsd:sequence> <xsd:element name="id" type="xsd:int"/> </xsd:sequence></xsd:complextype> </xsd:element> <xsd:element name="wyjatek"> <xsd:complextype><xsd:sequence> <xsd:element name="kod" type="xsd:int"/> <xsd:element name="tekst" type="xsd:string"/> </xsd:sequence></xsd:complextype> </xsd:element> </xsd:schema>

54 Opis interfejsu w języku WSDL 54

55 Dołączanie definicji XML Schema 55

56 Ręczne poprawki 56

57 Definiowanie typów komunikatów 57

58 Definiowanie interfejsu 58

59 Definiowanie wiązań 59 poprawić błąd:

60 Wybór formatu komunikatów SOAP 60 Document/Literal - argumenty wywołania przekazywane jako pojedynczy dokument XML, wykorzystywane przez BPEL, zalecany Document/Wrapped - argumenty zagnieżdżone w elemencie complextype RPC/Literal - argumenty przekazywane jako elementy XML RPC/Encoded - argumenty przekazywane jako elementy XML ze wskazaniem typu danych

61 Definiowanie usługi 61

62 Wygeneruj szkieletowy kod Java w oparciu o dokument WSDL 62 W oddzielnym projekcie!

63 Wygenerowane pliki 63 Interfejs Java deklarujący metody udostępnione jako operacje publiczne package wsproj01; public interface ObslugaZamowien extends java.rmi.remote { public pl.maciej.potwierdzenie przyjmijzamowienie(pl.maciej.zamowienie zamowienie) throws pl.maciej.wyjatek, java.rmi.remoteexception; } Klasa dla implementacji operacji package wsproj01; import pl.maciej.potwierdzenie; import pl.maciej.wyjatek; import pl.maciej.zamowienie; public class ObslugaZamowienImpl { public Potwierdzenie przyjmijzamowienie(zamowienie zamowienie) throws Wyjatek { return null; }}

64 Wygenerowane pliki 64 package pl.maciej; public class Zamowienie implements java.io.serializable { protected java.lang.string produkt; protected int ilosc; Klasy Java implementujące struktury danych reprezentujące typy zdefiniowane w XML Schema public Zamowienie() { } public java.lang.string getprodukt() { return produkt; } public void setprodukt(java.lang.string produkt) { this.produkt = produkt; } public int getilosc() { return ilosc; } public void setilosc(int ilosc) { this.ilosc = ilosc; }} <zamowienie> <produkt>nokia E60</produkt> <ilosc>120</ilosc> </zamowienie>

65 Wygenerowane pliki 65 package pl.maciej; public class Wyjatek extends Exception { private int kod; private java.lang.string tekst; Klasy Java implementujące wyjątki opisane w WSDL public Wyjatek() { } public Wyjatek(int kod, java.lang.string tekst) { super(tekst); this.kod = kod; this.tekst = tekst; } public void setkod(int kod) { this.kod = kod; } public void settekst(java.lang.string tekst) { this.tekst = tekst; } public int getkod() { return kod; } public java.lang.string gettekst() { return tekst; }}

66 Wygenerowane pliki <java-xml-type-mapping> <java-type>pl.maciej.zamowienie</java-type> <anonymous-type-qname>{ <qname-scope>complextype</qname-scope> <variable-mapping> <java-variable-name>produkt</java-variable-name> <xml-element-name>produkt</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>ilosc</java-variable-name> <xml-element-name>ilosc</xml-element-name> </variable-mapping> </java-xml-type-mapping>... Plik odwzorowań struktur XML Schema na klasy Java

67 Implementacja kodu Java dla usługi 67 Klasy wygenerowane automatycznie. Odwzorowują struktury komunikatów XML.

68 Testowanie usługi 68

69 Projektowanie i implementacja usług w środowisku Oracle JDeveloper Rozpoczęcie od projektu klasy usługi (JDeveloper )

70 Utworzenie diagramu klas 70

71 Generowanie usługi WebService 71

72 Projektowanie i implementacja usług w środowisku Oracle JDeveloper Rozpoczęcie od implementacji klasy usługi

73 Implementacja usługi Web Services Utwórz klasę Java zawierającą metody logiki biznesowej 2. Skorzystaj z kreatora J2EE Web Service

74 Wybór formatu komunikatów SOAP 74 Document/Literal - argumenty wywołania przekazywane jako pojedynczy dokument XML, wykorzystywane przez BPEL, zalecany Document/Wrapped - argumenty zagnieżdżone w elemencie complextype RPC/Literal - argumenty przekazywane jako elementy XML RPC/Encoded - argumenty przekazywane jako elementy XML ze wskazaniem typu danych

75 Strategie konstrukcji środowisk SOA

76 Poziomy wdrażania SOA 76 Fundamental SOA dwie warstwy: interfejs użytkownika i usługi podstawowe dobry punkt startowy dla ekspansji SOA skomplikowany interfejs użytkownika (zawiera logikę procesową) Networked SOA trzy warstwy: interfejs użytkownika, usługi pośredniczące (fasady), usługi podstawowe odciążony interfejs użytkownika, wciąż jednak zarządza procesami biznesowymi Process-enables SOA cztery warstwy: interfejs użytkownika, usługi procesowe, usługi pośredniczące, usługi podstawowe lekki interfejs użytkownika ukryta złożoność procesów i usług podstawowych

77 Strategie realizacji SOA 77 Top-Down rozpoczęcie od kontraktu WSDL Bottom-Up rozpoczęcie od implementacji klasy usługi Agile mieszana

78 Strategia Top-Down Definiowanie klasyfikacji (ontologii) operacji biznesowych w przedsiębiorstwie Klasyfikowanie modeli biznesowych zgodnie z opracowaną strukturą Analiza systemowa zorientowana na usługi Projektowanie zorientowane na usługi Definicja formalnych interfejsów Implementacja usług biznesowych Testowanie wszystkich usług i operacji biznesowych Instalacja usług biznesowych Zalety: wysoka jakość architektury systemu, łatwe współdzielenie usług, łatwa komponowalność nowych procesów Wady: długi czas i wysoki koszt analizy, pierwsze wyniki pojawiają się z opóźnieniem 78

79 Strategia Bottom-Up 79 Modelowanie wybranych usług aplikacyjnych Projektowanie wybranych usług aplikacyjnych Implementacja wybranych usług aplikacyjnych Definicja formalnych interfejsów Testowanie usług Instalowanie usług Zalety: powszechnie stosowane podejście nie zmienia się architektura systemowa przedsiębiorstwa Wady: "bottom-up strategy is really no strategy at all..." nie prowadzi do nowoczesnej architektury SOA

80 Strategia Agile (meet-in-the-middle) 80 Rozpoczynamy analizę Top-Down, konstruując klasyfikację (ontologię) dla przedsiębiorstwa Analiza systemowa zorientowana na usługi Projektowanie zorientowane na usługi Definicja formalnych interfejsów Implementacja, testowanie, instalacja usług Kontynuacja strategii Top-Down, redefinicja i modyfikacja istniejących usług Zalety: łączy zalety Top-Down i Bottom-Up ciągła, periodyczna analiza, a mimo to dostarczane są nowe usługi Wady: wielokrotne modyfikacje tych samych usług

81 Strategia Agile: Shared Service Lifecycle (BEA) 81

82 Analiza systemowa zorientowana na usługi

83 Cele analizy systemowej 83 Główne cele analizy systemowej: jakie usługi powinny zostać zaimplementowane? jakie funkcje powinna udostępniać każda z usług? Pozostałe cele analizy systemowej: zdefiniowanie zbioru operacji-kandydatów do implementacji grupowanie operacji-kandydatów w konteksty; konteksty te staną się usługami-kandydatami wstępne określenie wyraźnych granic implementacji usług, aby nie kolidować z innymi już istniejącymi lub planowanymi usługami rozpoznanie fragmentów logiki biznesowej o dużym potencjale do współdzielenia zdefiniowanie wstępnych modeli kompozycji usług

84 Zakres analizy systemowej 84 Przeprowadzenie analizy wymagań Identyfikacja istniejących implementacji funkcji i procesów biznesowych Modelowanie usług-kandydatów task-centric skupiają się na realizacji pojedynczych zadań lub procesów biznesowych, np. weryfikacja faktury, wykonanie przelewu entity-centric skupiają się na kompleksowej obsłudze podmiotów działalności przedsiębiorstwa, np. obsługa płatności, obsługa zamówień

85 Kroki modelowania usług (1/2) 85 Dekompozycja procesów biznesowych na drobnoziarniste kroki Identyfikacja operacji-kandydatów dla usług biznesowych odrzucenie kroków manualnych odrzucenie kroków, które nie powinny być implementowane ze względów organizacyjnych Identyfikacja logiki aranżacyjnej (orchestration logic, workflow logic) Grupowanie operacji-kandydatów w grupy tematyczne, które staną się usługami-kandydatami Uszczegółowienie modelu i zastosowanie wzorców projektowych do usług-kandydatów współdzielenie, autonomia, bezstanowość, "odkrywalność" (reusability, autonomy, statelessness, discoverability)

86 Kroki modelowania usług (2/2) 86 Identyfikacja metod kompozycji usług-kandydatów potwierdza słuszność grupowania operacji-kandydatów pozwala wykryć brakujące operacje/usługi pokazuje zależności pomiędzy usługami biznesowymi a procesowymi Analiza wymagań aplikacyjnych jaka logika aplikacyjna powinna kryć się za operacjami-kandydatami usług-kandydatów? czy ta logika już istnieje, czy musi zostać zaimplementowana? Identyfikacja operacji-kandydatów dla usług aplikacyjnych Grupowanie operacji-kandydatów dla usług aplikacyjnych w grupy tematyczne, które staną się aplikacyjnymi usługamikandydatami Powrót do "Uszczegółowienie modelu"

87 Własności usług (powtórzenie) 87 Usługi powinny być współdzielone (reusable) Usługi powinny opierać się na formalnym kontrakcie opisującym ich mechanizmy komunikacji Usługi powinny być słabo sprzężone z innymi usługami Usługi powinny ukrywać szczegóły wewnętrznej implementacji Usługi powinny być komponowalne do postaci usług bardziej złożonych Usługi powinny być autonomiczne Usługi powinny być bezstanowe Usługi powinny być skatalogowane

88 Pozostałe zalecenia projektowe 88 Interakcja z usługą odbywa się tylko za pośrednictwem publicznego interfejsu Użycie usługi powinno być łatwe Należy unikać interfejsów RPC na rzecz wymiany dokumentów Interfejs publiczny powinien być skromny Szczegóły implementacyjne nie powinny być widoczne poprzez publiczny interfejs Usługi powinny być niezależnie instalowalne, wersjonowane, administrowalne (autonomiczne) Interfejs publiczny nie powinien być zmieniany

89 UML interaction diagrams/sequence diagrams 89 Często wykorzystywane do ilustracji przebiegu procesów biznesowych w architekturze SOA Przedstawiają wymianę komunikatów pomiędzy klientami a usługami Dostępne w środowisku JDeveloper

90 UML 2.0 Profile for Software Services 90 Rozwinięcie notacji języka UML w celu umożliwienia reprezentacji składników architektury SOA Dostępne w środowisku IBM Rational Software Architect message message attachment service service channel service collaboration (BPEL) service consumer service gateway service partition service provider service specification

91 SOA Governance 91 Wg Gartnera, najważniejszym powodem klęski projektów SOA w roku 2006 był brak odpowiednich mechanizmów nadzoru nad przedsięwzięciem Konieczne jest opracowanie ogólnofirmowych zasad tworzenia, monitorowania, adaptacji, propagowania informacji, kontroli jakości, itp. dla składników architektury SOA - SOA Governance "SOA has too many moving parts" Najważniejsze zagadnienia: zgodność ze standardami i regulacjami prawnymi zarządzanie zmianami zapewnianie jakości

92 Web Services Interoperability (WS-I) 92 Zbiór zaleceń opracowanych przez Web Services Interoperability Organization Maksymalizacja kompatybilności pomiędzy różnymi platformami sprzętowymi, systemowymi i programowymi Do badania zgodności usług Web Services z zaleceniami WS-I służą zautomatyzowane narzędzia - WS-I Testing Tools, posługujące się dyrektywami zapisanymi w plikach Test Assertion Document Narzędzia badania zgodności są udostępniane przez Możliwa integracja z Oracle JDeveloper

93 Weryfikacja WS-I w Oracle JDeveloper 93

94 Przegląd produktów Oracle wspomagających konstrukcję środowisk SOA

95 Oracle Enterprise Service Bus

96 Własności Oracle Enterprise Service Bus (ESB) 96 Część instalacji produktu Oracle SOA Suite Gotowa, konfigurowalna magistrala komunikacyjna obsługująca komunikację z usługami Konfiguracja ESB odbywa się z poziomu JDevelopera lub narzędzia ESB Control Umożliwia wirtualizację adresów usług (klient nie posługuje się fizycznym adresem usługi) Umożliwia komunikację z usługami niestandardowymi za pomocą adapterów (Database Adapter, File Adapter, FTP Adapter, JMS Adapter, Oracle Applications Adapter, AQ Adapter, MQ Adapter) Umożliwia dynamiczny routing wywołań usług Umożliwia automatyczną transformację komunikatów (XSLT)

97 Architektura Oracle ESB 97 interfejs (WSDL) Usługa WebService Klient Usługa WebService Usługa WebService... Klient Usługa PL/SQL Usługa FTP ESB...

98 Tworzenie projektu i systemu ESB 98

99 Definiowanie usług ESB 99 Wywołanie tej usługi ESB powoduje wywołanie oryginalnej, zdalnej usługi Web Service

100 Instalacja nowej konfiguracji na ESB 100

101 Podgląd aktualnej konfiguracji ESB za pomocą ESB Control 101

102 Podgląd aktualnej konfiguracji ESB za pomocą ESB Control 102 Nowy punkt dostępowy dla usługi

103 103 Definiowanie routingu wywołań i transformacji komunikatów

104 Definiowanie reguł routingu 104

105 105 Definiowanie reguł transformacji komunikatów

106 Oracle Web Services Manager

107 107 Własności Oracle Web Services Manager (WSM) Platforma bezpiecznej komunikacji sieciowej pomiędzy klientami a usługami Web Services Pozwala na bezinwazyjne szyfrowanie/deszyfrowanie, uwierzytelnianie, kontrolę dostępu, monitorowanie/rejestrację ruchu Opiera się na koncepcji agentów i gateway'ów instalowanych na drodze komunikacyjnej Konfiguracja i administracja za pomocą narzędzia Web Services Manager Control

108 108 Własności Oracle Web Services Manager (WSM) deszyfrowanie uwierzytelnianie autoryzacja szyfrowanie dane do uwierzytelniania agent WSM usługa klient agent WSM sieć usługa gateway WSM deszyfrowanie uwierzytelnianie autoryzacja usługa

109 Rejestrowanie agentów i gateway'ów 109

110 Definiowanie operacji realizowanych przez agentów lub gateway 110 Każdy agent lub gateway wykonuje sekwencje operacji zdefiniowanych przez administratora: pre-request: przed wysłaniem/otrzymaniem żądania request: przed wysłaniem/otrzymaniem żądania, po pre-request response: przed odebraniem/wysłaniem odpowiedzi post-response: przed odebraniem/wysłaniem odpowiedzi, po response Sekwencje operacji nazywane są "pipelines" Dostępne operacje

111 Definiowanie operacji realizowanych przez agentów lub gateway 111

112 Oracle Service Registry

113 Zastosowania Oracle Service Registry 113 Centralny katalog gromadzący i udostępniający informacje o istniejących usługach i ich charakterystyce Zarządzany za pomocą narzędzia Business Service Control

114 Rejestrowanie usługi (1/3) 114 Definicja grupy usług (provider)

115 Rejestrowanie usługi (2/3) 115

116 Rejestrowanie usługi (3/3) 116

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Maciej Zakrzewicz PLOUG mzakrz@cs.put.poznan.pl Plan prezentacji Wprowadzenie do architektury zorientowanej na usługi Charakterystyka technologii

Bardziej szczegółowo

Zaawansowane aplikacje internetowe. Wykład 6. Wprowadzenie do Web Services. wykład prowadzi: Maciej Zakrzewicz. Web Services

Zaawansowane aplikacje internetowe. Wykład 6. Wprowadzenie do Web Services. wykład prowadzi: Maciej Zakrzewicz. Web Services Wykład 6 Wprowadzenie do Web Services wykład prowadzi: Maciej Zakrzewicz Web Services 1 Plan wykładu Wprowadzenie do technologii Web Services Architektura Web Services Protokół komunikacyjny SOAP Język

Bardziej szczegółowo

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus

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

Integracja Obieg Dokumentów - GiS Spis treści

Integracja Obieg Dokumentów - GiS Spis treści Integracja Obieg Dokumentów - GiS Spis treści 1.Opis integracji.... 2 2.Interfejs po stronie Obiegu Dokumentów... 4 3.Interfejs po stronie Gis-u.... 7 4.Schematy przesyłanych plików xml.... 8 1 1. Opis

Bardziej szczegółowo

1 Wprowadzenie do J2EE

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

Bardziej szczegółowo

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Maciej Zakrzewicz, PLOUG mzakrz@cs.put.poznan.pl Streszczenie Web Services to technologia implementacji rozproszonych komponentów programowych

Bardziej szczegółowo

Dostęp do komponentów EJB przez usługi Web Services

Dostęp do komponentów EJB przez usługi Web Services 243 Dostęp do komponentów EJB przez usługi Web Services Mikołaj Morzy Mikolaj.Morzy@cs.put.poznan.pl http://www.cs.put.poznan.pl/mmorzy/ Plan rozdziału 244 Wprowadzenie do usług sieciowych Architektura

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)

Bardziej szczegółowo

Korporacyjna Magistrala Usług na przykładzie Oracle Service Bus

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

Komunikacja i wymiana danych

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

Bardziej szczegółowo

Wybrane problemy modelu usługowego

Wybrane problemy modelu usługowego XV Forum Teleinformatyki, 24.IX 2009, Warszawa-Miedzeszyn Wybrane problemy modelu usługowego Jerzy Nawrocki Instytut Informatyki Wydział Informatyki i Zarządzania Politechnika Poznańska Dwie twarze modelu

Bardziej szczegółowo

SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji

SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji SIMON SAYS ARCHITECTURE! Usługi zdalne Technologie, techniki i praktyki implementacji O mnie Bloguję: SIMON-SAYS-ARCHITECTURE.COM Twittuję: www.twitter.com/szymonpobiega Koduję: DDDSample.Net, NetMX, WS-Man.Net

Bardziej szczegółowo

Rozproszone systemy internetowe. Wprowadzenie. Koncepcja zdalnego wywołania procedury

Rozproszone systemy internetowe. Wprowadzenie. Koncepcja zdalnego wywołania procedury Rozproszone systemy internetowe Wprowadzenie. Koncepcja zdalnego wywołania procedury Zakres tematyczny przedmiotu Aplikacje rozproszone Technologie /standardy internetowe Programowanie obiektowe 2 Co będzie

Bardziej szczegółowo

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2011/2012. Architektura zorientowana na usługi

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2011/2012. Architektura zorientowana na usługi Politechnika Krakowska im. Tadeusza Kościuszki Karta przedmiotu Wydział Fizyki, Matematyki i Informatyki obowiązuje w roku akademickim 2011/2012 Kierunek studiów: Informatyka Forma studiów: Stacjonarne

Bardziej szczegółowo

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów

Bardziej szczegółowo

Programowanie komponentowe

Programowanie komponentowe Piotr Błaszyński Wydział Informatyki Zachodniopomorskiego Uniwersytetu Technologicznego 25 października 2014 WebService, (usługi sieciowe) - komponenty aplikacji webowych, zawierające logike biznesową.

Bardziej szczegółowo

Rozproszone systemy internetowe

Rozproszone systemy internetowe Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Rozproszone systemy internetowe Wprowadzenie do usług WWW (Web Services) Podniesienie potencjału uczelni

Bardziej szczegółowo

Budowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG

Budowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG Budowa aplikacji w technologii Enterprise JavaBeans Maciej Zakrzewicz PLOUG Plan prezentacji Przegląd architektur aplikacji rozproszonych: CORBA, SOAP, EJB Wprowadzenie do Enterprise JavaBeans (EJB) Budowa

Bardziej szczegółowo

SOA Web Services in Java

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

Bardziej szczegółowo

Wielowarstwowe aplikacje internetowe. Web Services. Autorzy wykładu: Maciej Zakrzewicz Marek Wojciechowski. Web Services

Wielowarstwowe aplikacje internetowe. Web Services. Autorzy wykładu: Maciej Zakrzewicz Marek Wojciechowski. Web Services Web Services Autorzy wykładu: Maciej Zakrzewicz Marek Wojciechowski Web Services Plan wykładu Wprowadzenie do technologii Web Services Architektura Web Services Protokół komunikacyjny SOAP Język opisu

Bardziej szczegółowo

Część I -ebxml. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Część I -ebxml. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz Część I -ebxml Po zrealizowaniu materiału student będzie w stanie omówić potrzeby rynku B2B w zakresie przeprowadzania transakcji przez Internet zaprezentować architekturę ebxml wskazać na wady i zalety

Bardziej szczegółowo

Zaawansowane aplikacje internetowe. Wykład 7. Implementacja procesów biznesowych w języku BPEL. wykład prowadzi: Maciej Zakrzewicz BPEL.

Zaawansowane aplikacje internetowe. Wykład 7. Implementacja procesów biznesowych w języku BPEL. wykład prowadzi: Maciej Zakrzewicz BPEL. Wykład 7 Implementacja procesów biznesowych w języku BPEL wykład prowadzi: Maciej Zakrzewicz BPEL Wymagania: 1 Plan wykładu Wprowadzenie do języka BPEL Definicja procesów BPEL z użyciem narzędzia Oracle

Bardziej szczegółowo

Web Services. Technologie Biznesu Elektronicznego. Konrad Kunicki. Politechnika Wrocławska, Wydział Informatyki i Zarządzania

Web Services. Technologie Biznesu Elektronicznego. Konrad Kunicki. Politechnika Wrocławska, Wydział Informatyki i Zarządzania Standardy Technologie Biznesu Elektronicznego Politechnika Wrocławska, Wydział Informatyki i Zarządzania Wrocław, 26 kwiecień 2005 Standardy Plan prezentacji 1 Wprowadzenie 2 Standardy 3 4 5 Standardy

Bardziej szczegółowo

Web Services. Wojciech Mazur. 17 marca 2009. Politechnika Wrocławska Wydział Informatyki i Zarządzania

Web Services. Wojciech Mazur. 17 marca 2009. Politechnika Wrocławska Wydział Informatyki i Zarządzania Standardy w Rodzaje Przykłady Politechnika Wrocławska Wydział Informatyki i Zarządzania 17 marca 2009 Standardy w Rodzaje Przykłady Plan prezentacji 1 Wstęp 2 Standardy w 3 4 Rodzaje 5 Przykłady 6 Standardy

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

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

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

Programowanie Komponentowe WebAPI

Programowanie Komponentowe WebAPI Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

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

Bardziej szczegółowo

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

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

Bardziej szczegółowo

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

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

Usługi sieciowe (Web Services)

Usługi sieciowe (Web Services) Usługi sieciowe (Web Services) Karol Kański Seminarium Systemy Rozproszone 14 października 2010 Agenda 1. Idea i historia usług sieciowych 2. Różne podejścia do tworzenia usług sieciowych 3. Języki opisu

Bardziej szczegółowo

UML w Visual Studio. Michał Ciećwierz

UML w Visual Studio. Michał Ciećwierz UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować

Bardziej szczegółowo

Tworzenie i wykorzystanie usług sieciowych

Tworzenie i wykorzystanie usług sieciowych Ćwiczenie 14 Temat: Tworzenie i wykorzystanie usług sieciowych Cel ćwiczenia: W trakcie ćwiczenia student zapozna się z procedurą tworzenia usługi sieciowej w technologii ASP.NET oraz nauczy się tworzyć

Bardziej szczegółowo

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,

Bardziej szczegółowo

Szkolenie: Budowa aplikacji SOA/BPM na platformie Oracle SOA Suite 11g

Szkolenie: 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ółowo

Mechanizmy pracy równoległej. Jarosław Kuchta

Mechanizmy pracy równoległej. Jarosław Kuchta Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy

Bardziej szczegółowo

Implementacja aplikacji biznesowych w technologii WS-BPEL

Implementacja aplikacji biznesowych w technologii WS-BPEL Implementacja aplikacji biznesowych w technologii WS-BPEL Maciej Zakrzewicz mzakrz@cs.put.poznan.pl Plan wykładów Wprowadzenie do języka BPEL Definicja procesów BPEL z użyciem narzędzia Oracle JDeveloper

Bardziej szczegółowo

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone Plan wykładu CORBA Wprowadzenie Architektura CORBA IDL język definicji interfejsów ORB Object Request Broker Usługi i POA Aplikacje CORBA tworzenie serwera tworzenie klienta Aplikacje rozproszone Cechy

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

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

Bardziej szczegółowo

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

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

5.14 JSP - Przykład z obiektami sesji... 83 5.15 Podsumowanie... 84 5.16 Słownik... 85 5.17 Zadanie... 86

5.14 JSP - Przykład z obiektami sesji... 83 5.15 Podsumowanie... 84 5.16 Słownik... 85 5.17 Zadanie... 86 Spis treści 1 Wprowadzenie - architektura, protokoły, system WWW... 1 1.1 Wstęp.................................................. 1 1.2 Ważniejsze daty......................................... 2 1.3 Protokoły

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Korporacyjna Magistrala Usług na przykładzie Mule ESB

Korporacyjna Magistrala Usług na przykładzie Mule ESB Kod szkolenia: Tytuł szkolenia: ESB/M Korporacyjna Magistrala Usług na przykładzie Mule ESB Dni: 3 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów Java, analityków systemowych oraz architektów

Bardziej szczegółowo

Język XML Schema. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Język XML Schema. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz Język Schema Po zrealizowaniu materiału student będzie w stanie Stworzyć formalny opis dokumentu Deklarować elementy i atrybuty Określić strukturę elementów w dokumencie Operować dostępnymi typami danych

Bardziej szczegółowo

Architektury usług internetowych. Tomasz Boiński Mariusz Matuszek

Architektury usług internetowych. Tomasz Boiński Mariusz Matuszek Architektury usług internetowych 2016 Tomasz Boiński Mariusz Matuszek Organizacja przedmiotu 1. Wykład 2 kolokwia po 25 punktów (23 listopada i 27 stycznia) 2. 6 zadań laboratoryjnych, zadania 1-5 po 8

Bardziej szczegółowo

Java Developers Day. Implementacja ESB przy użyciu Mule. ESB Mule Obsługa zamówień DEMO

Java Developers Day. Implementacja ESB przy użyciu Mule. ESB Mule Obsługa zamówień DEMO Java Developers Day Implementacja ESB przy użyciu Mule Michał Majcher michal.majcher@altkom.pl Łukasz Krawczyk lukasz.krawczyk@altkom.pl slide 1 Tematy ESB Mule Obsługa zamówień DEMO Opis problemu Przepływ

Bardziej szczegółowo

Rozproszone systemy Internetowe

Rozproszone systemy Internetowe Rozproszone systemy Internetowe Transport komunikatów WS: protokół SOAP RSI Oskar Świda 1 Simple Object Access Protocol Bezstanowy protokół komunikacyjny, oparty na standardzie XML Prosty i elastyczny,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

76.Struktura oprogramowania rozproszonego.

76.Struktura oprogramowania rozproszonego. 76.Struktura oprogramowania rozproszonego. NajwaŜniejsze aspekty obiektowego programowania rozproszonego to: Współdziałanie (interoperability) modułów programowych na róŝnych maszynach. Wielokrotne wykorzystanie

Bardziej szczegółowo

Wdrożenie technologii procesowej IBM BPM w EFL

Wdrożenie technologii procesowej IBM BPM w EFL Wdrożenie technologii procesowej IBM BPM w EFL Marcin Naliwajko Z-ca dyrektora Departamentu Technologii Dominik Lisowski Starszy Architekt Systemów IT Grupy EFL WebSphere Message Broker 2008 r. Wdrożenie

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

Modele bezpieczeństwa logicznego i ich implementacje w systemach informatycznych / Aneta Poniszewska-Marańda. Warszawa, 2013.

Modele bezpieczeństwa logicznego i ich implementacje w systemach informatycznych / Aneta Poniszewska-Marańda. Warszawa, 2013. Modele bezpieczeństwa logicznego i ich implementacje w systemach informatycznych / Aneta Poniszewska-Marańda. Warszawa, 2013 Spis treści I. Bezpieczeństwo systemów informatycznych Rozdział 1. Wstęp 3 1.1.

Bardziej szczegółowo

Zagadnienia projektowania aplikacji J2EE

Zagadnienia projektowania aplikacji J2EE 211 Zagadnienia projektowania aplikacji J2EE Maciej Zakrzewicz Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/ Plan rozdziału 212 Wstęp Techniki projektowe: Wprowadzenie modułu

Bardziej szczegółowo

Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski

Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski Adapter: opis Wzorce Strukturalne Tomasz Borzyszkowski Alternatywna nazwa: Wrapper (opakowanie) Rola obiektu Adapter: pełni wobec Klienta rolę otoczki, która umożliwia przetłumaczenie jego żądań na protokół

Bardziej szczegółowo

Simple Object Access Protocol

Simple Object Access Protocol Simple Object Access Protocol Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 11 grudnia 2005 roku Czym jest SOAP? Akronim SOAP oznacza Simple Object Access Protocol. SOAP jest

Bardziej szczegółowo

Komponenty sterowane komunikatami

Komponenty sterowane komunikatami Komponenty sterowane komunikatami 1. Usługa JMS asynchroniczność, model przesyłania komunikatów, 2. Przykład wysyłanie wiadomości, odbieranie wiadomości, komponent sterowany komunikatami 3. Komponenty

Bardziej szczegółowo

ZAŁOŻENIA TECHNICZNO-TECHNOLOGICZNE SYSTEMU BUDOWANEGO W RAMACH PROJEKTU

ZAŁOŻENIA TECHNICZNO-TECHNOLOGICZNE SYSTEMU BUDOWANEGO W RAMACH PROJEKTU Projekt Rozwój elektronicznej administracji w samorządach województwa mazowieckiego wspomagającej niwelowanie dwudzielności potencjału województwa ZAŁOŻENIA TECHNICZNO-TECHNOLOGICZNE SYSTEMU BUDOWANEGO

Bardziej szczegółowo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

Bardziej szczegółowo

public interface TravelAgent { public void makereservation(int cruiseid, int cabinid, int customerid, double price); }

public interface TravelAgent { public void makereservation(int cruiseid, int cabinid, int customerid, double price); } Web Services 1. Podstawy usług sieciowych. SOAP, WSDL. 2. Usługi sieciowe w JAX-RPC. interfejs punktu końcowego, korzystanie z usługi z poziomu komponentu EJB, programy klienckie, narzędzia i deskryptory

Bardziej szczegółowo

Zdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu

Zdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu Zdalne wywołanie metod - koncepcja Oprogramowanie systemów równoległych i rozproszonych Wykład 7 RMI (Remote Method Invocation) - obiektowe RPC, dostarcza klientowi interfejs do obiektu, implementacja

Bardziej szczegółowo

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS (c) 2008 Grupa SPOT SJ Grupa SPOT Krzysztof Cieślak, Maciej Gdula Spółka Jawna Podstawowe dane: firma założona w roku 2004 w wyniku połączenia

Bardziej szczegółowo

EJB 3.0 (Enterprise JavaBeans 3.0)

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

Bardziej szczegółowo

Web Services. Bartłomiej Świercz. Łódź, 2 grudnia 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Web Services

Web Services. Bartłomiej Świercz. Łódź, 2 grudnia 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Web Services Web Services Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 2 grudnia 2005 roku Wstęp Oprogramowanie napisane w różnych językach i uruchomione na różnych platformach może wykorzystać

Bardziej szczegółowo

Stan zaawansowania prac dotyczących zamówienia na opracowanie i wdrożenie rdzenia systemu e Urząd.

Stan zaawansowania prac dotyczących zamówienia na opracowanie i wdrożenie rdzenia systemu e Urząd. Stan zaawansowania prac dotyczących zamówienia na opracowanie i wdrożenie rdzenia systemu e Urząd. Andrzej Natuniewicz, Andrzej Perkowski Departament Geodezji i Kartografii Urząd Marszałkowski Województwa

Bardziej szczegółowo

1. Uruchomić i skonfigurować środowisko tworzenia aplikacji i serwer aplikacji.

1. Uruchomić i skonfigurować środowisko tworzenia aplikacji i serwer aplikacji. Temat Stworzenie systemu składającego się z prostej usługi sieciowej (ang. web service) oraz komunikującej się z nią aplikacji klienckiej umożliwiającej dostęp do usługi przez przeglądarkę internetową.

Bardziej szczegółowo

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP WERSJA 1 z 15 Spis treści 1. Kanał email dla podmiotów zewnętrznych...

Bardziej szczegółowo

Przykład połączenie z bazą danych

Przykład połączenie z bazą danych Instalacja BPEL... 1 Przykład połączenie z bazą danych... 2 Development... 2 Utwórz Aplikację i projekt o typie SOA... 2 Utwórz adapter do bazy danych... 4 Utwórz proces BPEL... 7 Połącz BPEL z adapterem

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

Automatyzacja procesów biznesowych w środowisku Oracle BPM 11g: zagadnienia wdrożeniowe

Automatyzacja procesów biznesowych w środowisku Oracle BPM 11g: zagadnienia wdrożeniowe XVII Konferencja PLOUG Kościelisko Październik 2011 Automatyzacja procesów biznesowych w środowisku Oracle BPM 11g: zagadnienia wdrożeniowe Maciej Zakrzewicz Politechnika Poznańska Streszczenie: Oracle

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 11 - przegląd wybranych wzorców mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 24 maja 2017 1 / 38 mgr inż. Krzysztof Szwarc Programowanie obiektowe Wzorce

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

Serwery LDAP w środowisku produktów w Oracle

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

Bardziej szczegółowo

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1 Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,

Bardziej szczegółowo

Aplikacje internetowe i rozproszone - laboratorium

Aplikacje internetowe i rozproszone - laboratorium Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,

Bardziej szczegółowo

1. Wymagania dla lokalnej szyny ESB

1. Wymagania dla lokalnej szyny ESB CG.ZP.U.272.3.2018.AP Załącznik nr 5 do SOPZ WYMAGANIA DLA SZYNY ESB 1. Wymagania dla lokalnej szyny ESB Kod ESBL.1 ESBL.2 ESBL.3 ESBL.4 ESBL.5 ESBL.7 ESBL.8 ESBL.9 ESBL.10 Opis wymagania Szyna ESB musi

Bardziej szczegółowo

Oprogramowanie systemów równoległych i rozproszonych Wykład 7

Oprogramowanie systemów równoległych i rozproszonych Wykład 7 Wykład 7 p. 1/2 Oprogramowanie systemów równoległych i rozproszonych Wykład 7 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Zdalne wywołanie

Bardziej szczegółowo

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

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

OfficeObjects e-forms

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

Bardziej szczegółowo

JAX-RS czyli REST w Javie. Adam Kędziora

JAX-RS czyli REST w Javie. Adam Kędziora JAX-RS czyli REST w Javie Adam Kędziora Webservice Usługa sieciowa (ang. web service) komponent programowy niezależny od platformy i implementacji, dostarczający określonej funkcjonalności. SOAP,UDDI,XML,WSDL

Bardziej szczegółowo

MONITOROWANIE DOSTĘPNOŚCI USŁUG IT

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

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

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 I Wprowadzenie (wersja 0906) Kurs OPC S7 Spis treści Dzień 1 I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami automatyki I-6 Cechy podejścia dedykowanego

Bardziej szczegółowo

GML w praktyce geodezyjnej

GML w praktyce geodezyjnej GML w praktyce geodezyjnej Adam Iwaniak Kon-Dor s.c. Konferencja GML w praktyce, 12 kwietnia 2013, Warszawa SWING Rok 1995, standard de jure Wymiany danych pomiędzy bazami danych systemów informatycznych

Bardziej szczegółowo

Zaawansowane narzędzia programowania rozproszonego

Zaawansowane narzędzia programowania rozproszonego Zaawansowane narzędzia programowania rozproszonego Karol Gołąb karol.golab@tls-technologies.com 28 listopada 2001 1 Streszczenie Omówienie i porównanie popularnych standardów mechanizmów komunikacyjnych:

Bardziej szczegółowo

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

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

Bardziej szczegółowo

Wprowadzenie do programowania aplikacji mobilnych

Wprowadzenie do programowania aplikacji mobilnych Wprowadzenie do programowania aplikacji mobilnych dr Przemysław Juszczuk dr Przemysław Juszczuk Trochę historii Idea wzorców projektowych wywodzi się jeszcze z wczesnych lat osiemdziesiątych ubiegłego

Bardziej szczegółowo

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej dr inż. Paweł Czarnul pczarnul@eti.pg.gda.pl Architektury usług internetowych laboratorium

Bardziej szczegółowo

Ministerstwo Finansów

Ministerstwo Finansów Ministerstwo Finansów Departament Informatyzacji Specyfikacja Wejścia-Wyjścia Wersja 1.0 Warszawa, 16.02.2017 r. Copyright (c) 2017 Ministerstwo Finansów MINISTERSTWO FINANSÓW, DEPARTAMENT INFORMATYZACJI

Bardziej szczegółowo

JBoss: MetaMatrix, Mobicents, Seam, Rools, ESB

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

Bardziej szczegółowo

Automatyczne decyzje kredytowe, siła szybkiego reagowania i optymalizacji kosztów. Roman Tyszkowski ING Bank Śląski S.A. roman.tyszkowski@ingbank.

Automatyczne decyzje kredytowe, siła szybkiego reagowania i optymalizacji kosztów. Roman Tyszkowski ING Bank Śląski S.A. roman.tyszkowski@ingbank. Automatyczne decyzje kredytowe, siła szybkiego reagowania i optymalizacji kosztów. Roman Tyszkowski ING Bank Śląski S.A. roman.tyszkowski@ingbank.pl Obsługa wniosków kredytowych Potrzeba elastyczności

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

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

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

Bardziej szczegółowo

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

Systemy obiegu informacji i Protokół SWAP "CC"

Systemy obiegu informacji i Protokół SWAP CC Systemy obiegu informacji i Protokół SWAP Grzegorz Blinowski "CC" Grzegorz.Blinowski@cc.com.pl http://www.cc.com.pl/ tel (22) 646-68-73; faks (22) 606-37-80 Problemy Integracja procesów zachodzących w

Bardziej szczegółowo

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Budowa aplikacji sieciowych. Usługi WWW dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Usługi WWW W3C Working Group, Web Services Architecture,

Bardziej szczegółowo

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura

Bardziej szczegółowo