ZESZYTY NAUKOWE UNIWERSYTETU SZCZECIŃSKIEGO NR 740 STUDIA INFORMATICA NR
|
|
- Kacper Bednarek
- 9 lat temu
- Przeglądów:
Transkrypt
1 ZESZYTY NAUKOWE UNIWERSYTETU SZCZECIŃSKIEGO NR 740 STUDIA INFORMATICA NR PIOTR CZAPIEWSKI Zachodniopomorski Uniwersytet Technologiczny STANDARDY USŁUG INTERNETOWYCH A INTEGRACJA ZE ŚRODOWISKAMI OBLICZEŃ NAUKOWYCH I INŻYNIERSKICH Streszczenie W pracy przedstawiono dyskusję możliwości integracji usług internetowych (Web Services) ze środowiskami obliczeń naukowych i inżynierskich, takimi jak MATLAB, GNU Octave czy SciLab. Ważniejsze standardy usług sieciowych (SOAP, REST, Hessian) poddano analizie pod kątem ich zastosowania w obliczeniach naukowych. Przedstawiono cele tego rodzaju integracji, przykładowe scenariusze wykorzystania oraz uwarunkowania techniczne. Wprowadzenie Najczęściej spotykany sposób wykorzystania środowisk obliczeń naukowych i inżynierskich, takich jak MATLAB, GNU Octave czy Scilab 1, zakłada działanie w trybie wsadowym. Do skryptów napisanych w jednym z języków czwartej generacji dostarcza się dane przygotowane uprzednio i zapisane 1 Zob org,
2 28 Piotr Czapiewski w postaci plików, ewentualnie składowane w relacyjnej bazie danych. Często tworzone są rozwiązania zamknięte, wykorzystujące wyłącznie funkcjonalność dostępną w ramach danego środowiska. Ta separacja od zewnętrznego świata i rozwiązań współczesnej inżynierii oprogramowania prowadzi do kilku patologii: jeśli określonej funkcjonalności brakuje w danym środowisku, często tworzona jest ona od podstaw, zamiast wykorzystania dostępnych gotowych rozwiązań; w przypadku konieczności aktualizacji danych, procedura ta wykonywana jest ręcznie (pobranie nowych danych, wstępne przetworzenie, uruchomienie od nowa analizy danych w sposób wsadowy); jakość tworzonych rozwiązań z punktu widzenia inżynierii oprogramowania jest niska: brak wykorzystania przyjętych wzorców projektowych, ścisłe wiązanie (tight coupling) i utrudnione ponowne użycie kodu; tworzone rozwiązania nie wykorzystują potencjału Internetu, ani w obszarze pozyskiwania i agregacji danych, ani przetwarzania chmurowego, ani interakcji w ramach serwisów społecznościowych. W rozwiązaniu części z powyższych problemów pomóc może integracja środowisk obliczeniowych z usługami internetowymi różnego rodzaju. Integracja z systemami internetowymi, czy to prostymi aplikacjami webowymi, czy agentami, czy też rozwiązaniami typu cloud computing, może przynieść wiele korzyści. W dalszej części pracy przedstawione zostaną przykładowe scenariusze, w których tego rodzaju integracja może być wskazana. Omówione zostaną także najważniejsze standardy tworzenia usług sieciowych (web services), a także uwarunkowania techniczne istotne z punktu widzenia wykorzystania web services w praktyce obliczeń naukowych. 1. Standardy web services Cechą wspólną wszystkich standardów web services jest ukierunkowanie na komunikację pomiędzy aplikacjami w środowiskach heterogenicznych i rozproszonych 2. Standardy te oferują, choć w różnym stopniu, ujednolicenie 2 G. Alonso, F. Casati, H. Kuno, V. Machiraju, Web Services: Concepts, Architectures, Applications, Springer 2004.
3 Standardy usług internetowych komunikacji bez względu na stosowane w aplikacjach technologie (języki programowania, mechanizmy składowania danych, itd.). Najważniejsze różnice pomiędzy nimi tkwią w takich aspektach, jak dopuszczalne formaty danych, zakres wsparcia ze strony technologii i języków programowania, wsparcie programisty przez narzędzia pomocnicze, wydajność czy narzuty związane z przesyłaniem metadanych. Poniżej przedstawiono analizę najważniejszych spośród dostępnych standardów SOAP SOAP jest protokołem komunikacyjnym, który wyewoluował ze standardu XML-RPC i pozostaje silnie związany z językiem XML 3. Zaprojektowany został w celu wymiany ustrukturalizowanej informacji w środowiskach rozproszonych. Bazując na XML i technologiach powiązanych, definiuje rozszerzalny szkielet komunikatów. Bazowa, zewnętrzna struktura komunikatu pozostaje stała (koperta, nagłówek, zawartość), zaś struktura zawartości definiowana jest każdorazowo dla konkretnej aplikacji. Chociaż pierwotna specyfikacja dopuszczała stosowanie różnych mechanizmów do określenia struktury komunikatu, to najczęściej stosowanym i obecnie jedynym zalecanym rozwiązaniem jest użycie języka XML Schema 4. W ten sposób uzyskuje się neutralność technologiczną i niezależność typów danych od platformy, a także możliwość pełnej walidacji przesyłanych komunikatów. Do bibliotek i warstw wiążących SOAP z konkretnym środowiskiem programowym należy translacja z typów precyzyjnie zdefiniowanych w XML Schema na typy danego języka programowania. Jedną z istotnych cech usług opartych na protokole SOAP jest wykorzystanie standardu WSDL (Web Service Description Language) do opisania 3 World Wide Web Consortium: SOAP Version 1.2 Part 0: Primer (Second Edition), W3C Recommendation, dostęp ; D. Winer, XML- -RPC Specification, dostęp ; D. Box, A Brief History of SOAP, 4 World Wide Web Consortium: W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures, W3C Recommendation, 1/, dostęp ; World Wide Web Consortium: W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes, W3C Recommendation, 2/,
4 30 Piotr Czapiewski interfejsu konkretnej usługi 5. Dokument WSDL zawiera wszelkie informacje niezbędne do wykorzystania danej usługi, w tym listę dostępnych operacji, ich parametry oraz stosowane typy danych. Rola WSDL zbliżona jest do IDL znanego ze standardu CORBA 6. Wykorzystanie WSDL znacząco ułatwia tworzenie aplikacji klienckich oraz współdzielenie usług. Między innymi językowi WSDL usługi SOAP zawdzięczają najlepsze spośród omawianych standardów wsparcie ze strony narzędzi programistycznych, takich jak biblioteki, środowiska GUI, generatory kodu, narzędzia do testowania ręcznego i automatycznego. Podstawowym paradygmatem towarzyszącym usługom SOAP jest RPC zdalne wywoływanie procedur (Remote Procedure Call). Co prawda możliwe jest tworzenie usług, których celem jest wymiana fragmentów dokumentów, jednak naturalną dla tego standardu perspektywą jest zdalne wywołanie funkcjonalności udostępnionej na serwerze. Listing 1 przedstawia przykładowy komunikat SOAP, zawierający polecenie wykonania obliczeń. Za wadę SOAP można uznać wymuszenie stosowania w komunikacji języka XML oraz związane z tym narzuty. Narzut związany z elementami XML oraz metadanymi jest szczególnie znaczący przy częstym przesyłaniu niewielkich ilości danych oraz przy przesyłaniu dużych, homogenicznych zbiorów danych. <soapenv:envelope xmlns:soapenv= xmlns:sciw= > <soapenv:header/> <soapenv:body> <sciw:calculatersi> <quote>eur/usd</quote> <period>14</period> <numpoints>32</numpoints> <delay>0</delay> </sciw:calculatersi> </soapenv:body> </soapenv:envelope> Listing 1. Przykładowy komunikat SOAP 5 World Wide Web Consortium: Web Services Description Language (WSDL) Version 2.0, W3C Recommendation, 6 Object Management Group: Common Object Request Broker Architecture (CORBA) Specification,
5 Standardy usług internetowych REST Termin REST (REpresentational State Transfer), wprowadzony przez Fieldinga 7, wbrew powszechnej opinii nie odnosi się wyłącznie do usług sieciowych. Jest to styl architektoniczny, którego sieć WWW z protokołem HTTP jest jedną z realizacji. W przypadku usług zgodnych z wytycznymi REST często mówi się o RESTful Web Services. Porównanie kluczowych cech usług typu REST oraz SOAP znaleźć można m.in. w pracy Pautasso i in. 8 Wśród najważniejszych kwestii odróżniających REST od SOAP wymienić można: paradygmat ROA zamiast SOA/ RPC, możliwość użycia różnych formatów danych, lepsze wykorzystanie cech protokołu HTTP, brak sformalizowanego opisu usługi. W usługach REST mamy do czynienia z odmiennym paradygmatem niż w przypadku SOAP, nazywanym ROA (Resource Oriented Architecture) 9. Punktem centralnym jest tutaj zasób i dostęp do niego za pomocą zdefiniowanych w protokole HTTP czterech metod: GET, POST, PUT i DELETE, przy czym semantyka metod jest tu ściśle określona. Metody te bezpośrednio mapowane są na typowe operacje, jakich dokonuje się na elementach zbiorów danych: pobranie, zapisanie nowego zasobu, zapisanie zmian w istniejącym zasobie, usunięcie. Co za tym idzie, od strony koncepcyjnej bardziej zasadne jest stosowanie REST w przypadku usług oferujących dostęp do określonych danych, niż usług skupionych na udostępnianiu funkcjonalności (np. złożonej logiki biznesowej lub metod obliczeniowych). Sama koncepcja RESTful Web Services nie wymusza formatu wymiany danych. W praktyce najczęściej spotyka się przesyłanie komunikatów w formacie XML lub JSON. Dodatkowo dzięki wykorzystaniu mechanizmu negocjacji 7 R.T. Fielding, Architectural Styles and the Design of Network-based Software Architectures, University of California, 2000, 8 C. Pautasso, O. Zimmermann, F. Leymann, Restful web services vs. big web services: making the right architectural decision, Proceedings of the 17th international conference on World Wide Web, s D. Duggan, Enterprise Software Architecture and Design: Entities, Services, and Resources, Wiley 2012; D. Guinard, V. Trifa, F. Mattern, E. Wilde, From the Internet of Things to the Web of Things: Resource-oriented Architecture and Best Practices, w: Architecting the Internet of Things, red. D. Uckelmann, M. Harrison, F. Michahelles, Springer 2011.
6 32 Piotr Czapiewski zawartości za pomocą nagłówków HTTP możliwe jest stosowanie w tej samej usłudze różnych formatów danych. Komunikaty przesyłane w usługach typu REST są zwykle lżejsze niż w SOAP. Wynika to po części z faktu braku narzutów na metadane oraz maksymalnego wykorzystania cech protokołu HTTP (np. mapowanie adresu URL oraz metod HTTP na określoną semantykę, zamiast zawarcia jej w treści komunikatu), a po części z możliwości użycia lżejszego formatu wymiany danych niż XML (np. JSON, a w skrajnym przypadku nawet formatu binarnego, np. zakodowanego z użyciem Base64). W przeciwieństwie do SOAP, brak tu jest sformalizowanego opisu usługi. Co prawda możliwe jest użycie standardu WADL 10, jednak w praktyce rzadko jest to spotykane, a możliwości są tu znacznie mniejsze niż w przypadku SOAP. Z tego powodu, a także z powodu braku ustalonego formatu komunikatu oraz specyficznego podejścia do mapowania adresów na zasoby, wsparcie ze strony narzędzi jest tu znacznie uboższe niż w przypadku SOAP. O ile zaimplementowanie obsługi komunikatów od podstaw byłoby w przypadku REST znacznie łatwiejsze, o tyle w przypadku użycia gotowych narzędzi SOAP pozwala na znacznie szybsze i bardziej niezawodne tworzenie kodu klienckiego (np. dzięki walidacji komunikatów, kontroli typów argumentów, automatycznemu generowaniu kodu). Usługi REST z założenia są bezstanowe, co oznacza, że serwer usługi nie przechowuje informacji o stanie sesji. W konsekwencji możliwe jest lepsze wykorzystanie cech protokołu HTTP oraz duża skalowalność. Oznacza to także, że stan aplikacji musi być przechowywany w obrębie zasobów lub po stronie klienta. Na rysunku 1 przedstawiono przykładowe API zgodnej z koncepcją REST usługi, pozwalającej na zdalny dostęp do urządzeń pomiarowych. Zdefiniowano w niej następujące zasoby: Urządzenie, Konfiguracja oraz Pomiar. Przy konstrukcji żądania do tego typu usługi istotne są trzy elementy, razem stanowiące o wykonywanej operacji: adres URL zasobu, użyta metoda HTTP oraz ciało żądania HTTP. Przykładowo, celem pobrania wyników wszystkich pomiarów wykonanych przez urządzenie o identyfikatorze 17, należy przesłać 10 World Wide Web Consortium: Web Application Description Language, W3C Member Submission,
7 Standardy usług internetowych żądanie GET pod adres: Z kolei zmiana konfiguracji urządzenia może nastąpić przez wysłanie żądania PUT pod adres: gdzie w ciele komunikatu HTTP umieszczono nowe dane konfiguracyjne w odpowiednim formacie. /urzadzenie/ GET pobierz listę urządzeń POST dodaj nowe urządzenie PUT nieużywane DELETE nieużywane /urzadzenie/ {id} GET POST PUT pobierz informację o urządzeniu o danym id nieużywane aktualizuj informacje o urządzeniu DELETE usuń urządzenie /urzadzenie/ {id}/pomiar GET POST PUT pobierz wszystkie wyniki pomiarów dla danego urządzenia zapisz nowy wynik pomiaru nieużywane DELETE nieużywane /urzadzenie/ {id}/pomiar/ {id-pomiaru} GET POST PUT pobierz wynik pojedynczego pomiaru nieużywane aktualizuj wynik pomiaru DELETE usuń wynik pomiaru /urzadzenie/ {id}/konfiguracja GET POST PUT pobierz dane konfiguracyjne urządzenia dodaj nowy parametr konfiguracyjny aktualizuj dane konfiguracyjne DELETE nieużywane /urzadzenie/ {id}/konfiguracja/parametr GET POST PUT pobierz wartość pojedynczego parametru konfiguracyjnego nieużywane aktualizuj wartość parametru DELETE usuń pojedynczy parametr Rys. 1. Przykład API dla usługi typu RESTful 1.3. Hessian Zarówno w przypadku usług SOAP, jak i REST, możliwe jest przesyłanie danych binarnych, jednak nie jest to ani szybkie, ani wygodne w użyciu. Jeżeli usługa wymaga transferu znacznej ilości danych binarnych, bądź też krytyczna jest wydajność transferu, bardziej odpowiedni do jej realizacji może się okazać protokół Hessian 11. Z założenia jest to protokół binarny, przeznaczony do tworzenia lekkich usług sieciowych, bez konieczności użycia ciężkich stosów 11 Caucho Technology, Inc., Hessian Binary Web Service Protocol, com,
8 34 Piotr Czapiewski programowych. Dane binarne mogą być w nim przesyłane bezpośrednio, nie zaś jak w przypadku SOAP jako załącznik 12. W standardzie określono sposób serializacji podstawowych typów danych oraz format polecenia zdalnego wywoływania metod w stylu RPC. Brak tu zewnętrznego opisu API usługi (odpowiednika WSDL z SOAP). Największą wadą protokołu Hessian jest jego niewielkie rozpowszechnienie, a co za tym idzie najsłabsze wsparcie ze strony narzędzi. Dostępne są stosowne biblioteki dla większości popularnych, współczesnych języków programowania (w tym dla języków Java, C++, C#, PHP, Ruby, Objective C), jednak wykorzystanie protokołu Hessian w innych językach czy środowiskach (np. Fortran) może być kłopotliwe i wymagać implementacji od podstaw. 2. Integracja usług sieciowych ze środowiskami obliczeń naukowych 2.1. Przykładowe scenariusze i cele integracji Większość scenariuszy integracji usług sieciowych ze środowiskami obliczeń naukowych można przypisać do jednej z dwóch kategorii: wykorzystanie zasobów internetowych jako źródła danych, zdalne wywołanie procedur przetwarzania danych. W pierwszym przypadku dane pobierane mogą być np. z istniejących, działających online systemów, w których zgromadzone są dane związane z normalnym, codziennym funkcjonowaniem aplikacji. Dotyczyć to może zarówno systemów biznesowych, jak i np. monitorujących czy zarządzających produkcją przemysłową. Pobierane okresowo dane mogą zostać poddane analizie w środowisku obliczeń naukowych, a bezpośrednia integracja z użyciem web services pozwoli na znaczne skrócenie czasu pomiędzy kolejnymi analizami lub też na ich automatyzację, a także pomoże w zachowaniu spójności i uniknięciu błędów podczas aktualizacji danych. Punktem centralnym jest w tym przypadku system informacyjny, na potrzeby którego prowadzone są analizy. Wykorzystanie środowiska typu MATLAB, zamiast implementacji logiki analitycznej bezpośrednio w oprogramowaniu użytkowym, może być wskazane ze względu na łatwiejsze i szybsze prototypowanie, aktualizację 12 World Wide Web Consortium, SOAP Messages with Attachments, W3C Note, w3.org/tr/soap-attachments/,
9 Standardy usług internetowych i modyfikację kodu, a także na chęć wykorzystania analityków ze znacznym doświadczeniem naukowym, a niewielkim programistycznym. Z inną sytuacją mamy do czynienia, gdy punktem ciężkości stają się badania naukowe, a oprogramowanie działające w chmurze przygotowane zostało specjalnie na potrzeby ciągłego zbierania, magazynowania i agregowania danych. Dzięki temu działające w trybie online oprogramowanie agenckie może nieprzerwanie gromadzić dane i poddawać je wstępnej obróbce. Tego rodzaju zadania nie można zrealizować bezpośrednio we wspomnianych środowiskach obliczeniowych, ze względu na ich interaktywny i niejako wsadowy charakter. Przykładem może być budowa rozproszonej sieci agentów monitorujących serwisy społecznościowe, doniesienia prasowe czy notowania finansowe, które następnie pobierane będą okresowo do analizy. Druga z kategorii zakłada wykorzystanie zdalnych zasobów obliczeniowych, co może być zasadne w dwóch ogólnych przypadkach. Po pierwsze, w celu przyspieszenia obliczeń usługa internetowa może być fasadą dużego systemu obliczeniowego, czy to klasycznego klastra, czy specjalizowanego akceleratora obliczeń (np. NVidia Tesla), czy wreszcie rozwiązania chmurowego (np. wykorzystującego jedną z dostępnych technologii realizujących model MapReduce). Po drugie, zasadne może być wykorzystanie zaimplementowanej już w istniejących systemach logiki analitycznej podstawową korzyścią jest wówczas nie czas przetwarzania, lecz przyspieszenie wytwarzania oprogramowania analitycznego Wybór standardu usług sieciowych Biorąc pod uwagę przedstawione wcześniej aspekty poszczególnych standardów usług sieciowych oraz typowe scenariusze integracji, można zaproponować następujące preferencje odnośnie do wyboru wdrażanego typu usług. W typowych przypadkach współdzielenia danych, zwłaszcza przy przewadze jednokierunkowego pobierania ich z usługi, korzystne będzie stosowanie usług typu REST. Dla danych o złożonej strukturze wskazane będzie użycie języka XML, wraz ze schematem XML Schema (opcjonalnym w przypadku REST). Pozwoli to na uzyskanie względnie wysokiej wydajności i prostej struktury kodu oraz na łatwą implementację serwera w dowolnej technologii
10 36 Piotr Czapiewski hostingowej czy chmurowej, przy zachowaniu możliwości walidacji przesyłanych komunikatów. W przypadku użycia usług sieciowych w celu współdzielenia logiki obliczeniowej, wskazane będzie użycie usług SOAP lub Hessian. Wybór zależeć będzie od wymagań dotyczących wydajności i ilości przesyłanych danych. Jeśli szacowany czas obliczeń znacznie przeważać będzie czas transferu, należy wybrać SOAP. W przypadku konieczności częstego transferu dużej ilości danych binarnych, lepszym wyborem będzie Hessian Możliwości integracji środowisk obliczeniowych Oprócz powyższych wskazań, zależnych wyłącznie od charakteru postawionego zadania, należy także wziąć pod uwagę możliwości integracyjne poszczególnych środowisk obliczeń naukowych. Środowisko MATLAB oferuje pod tym względem bardzo szerokie możliwości 13. Obsługa usług SOAP wbudowana jest w samo środowisko, co czyni je najłatwiej dostępnymi. Bezpośrednia obsługa usług REST czy Hessian nie jest co prawda możliwa, jednak dostępne są trzy mechanizmy pozwalające na stosunkowo łatwe skorzystanie z tych usług: możliwość wywoływania kodu Java; możliwość wywoływania kodu.net i obiektów COM; możliwość wywoływania kodu z odpowiednio przygotowanych, skompilowanych bibliotek C/C++. Ze względu na ścisłą integrację z maszyną wirtualną Java (JVM), ten wariant w praktyce daje najszersze możliwości i potencjalnie najlepszą wydajność. Dowolny kod napisany w języku Java może być bezpośrednio wywoływany z linii poleceń czy ze skryptów programu MATLAB. Biorąc pod uwagę szeroką dostępność bibliotek ułatwiających korzystanie z usług (np. RestEasy, Jersey, Apache CXF czy Restlet 14 dla REST), stworzenie stosownego adaptera dla skryptów MATLAB jest zadaniem stosunkowo prostym. 13 The MathWorks, Inc., MATLAB Documentation. External Interfaces, 14 Zobacz
11 Standardy usług internetowych Darmowe środowisko GNU Octave, rozwijane na licencji open source, oferuje uboższe możliwości integracji niż MATLAB. Tutaj także jest jednak możliwe wywoływanie kodu Java, co umożliwia wykorzystanie dowolnego typu usług sieciowych 15. Ponadto w prostszych przypadkach można pokusić się o bezpośrednią obsługę usług typu REST za pomocą funkcji do obsługi protokołu HTTP. Oprogramowanie Scilab, również na licencji open source, wypada pod względem możliwości integracji podobnie jak GNU Octave, również oferując możliwość wywołania kodu Java (za pomocą dodatkowego rozszerzenia 16 ). W obu rozwiązaniach open source brak bezpośredniej obsługi SOAP oraz możliwości wywołania kodu.net Architektura proponowanego rozwiązania Proponowane rozwiązanie zakłada obustronną komunikację z zasobami internetowymi za pośrednictwem dwóch modułów: interfejsu zewnętrznych usług sieciowych modułu mającego na celu umożliwienie wykorzystania zdalnych zasobów, źródeł danych i usług sieciowych; interfejsu udostępniania usług sieciowych modułu mającego na celu udostępnienie na zewnątrz zasobu środowiska obliczeniowego w postaci usług sieciowych. W przypadku obu modułów rodzaj wykorzystanych usług sieciowych zostanie ukryty przed środowiskiem obliczeniowym poprzez zastosowanie odpowiednich pośredników (proxy), których celem będzie komunikacja z użyciem bibliotek odpowiednich dla danego standardu usług (SOAP Proxy, REST Proxy, Hessian Proxy). Usługi udostępnione zostaną środowisku obliczeniowemu w postaci API w języku Java, do bezpośredniego wywołania. Moduł udostępniający usługi sieciowe zawiera wbudowany lekki kontener serwletów oraz stosy programowe dla poszczególnych standardów usług sieciowych. W tym module przychodzące z zewnątrz żądania wywołania usług zostają tłumaczone na wywołania stosownych procedur i funkcji środowiska obliczeniowego. 15 GNU Octave Wiki: Java Package, 16 C. Denizet, Java Interaction Mechanism in Scilab, JIMS,
12 38 Piotr Czapiewski Rys. 2. Ogólna architektura proponowanego rozwiązania integracyjnego Oba moduły komunikują się ze środowiskiem obliczeniowym, korzystając z modułu pośredniczącego. Adaptacja rozwiązania do różnych środowisk obliczeniowych wymagać powinna jedynie wymiany lub modyfikacji modułu pośredniczącego Ograniczenia proponowanego rozwiązania Pewne ograniczenia czy wady rozwiązania polegającego na bezpośredniej integracji aplikacji czy zasobów internetowych ze środowiskiem obliczeń naukowych po części wynikają z inherentnych cech aplikacji i usług internetowych, a po części z odmiennej natury produkcyjnych środowisk programowych i środowisk obliczeń naukowych. W przypadku wykorzystania zewnętrznych zasobów internetowych poważnym ograniczeniem jest fakt pracy synchronicznej wszystkich wymienionych standardów usług sieciowych. Wywoływana usługa, czy też w ogólności zasób, do którego próbujemy uzyskać dostęp z poziomu skryptu środowiska
13 Standardy usług internetowych obliczeniowego, musi być w danym momencie dostępny i odpowiadać na żądania. W sytuacjach gdy takie odwołania zewnętrzne są częste i powtarzalne, może to prowadzić do niepotrzebnego wstrzymania procesów obliczeniowych w oczekiwaniu na zdalne zasoby. Do pewnego stopnia można temu zaradzić, wprowadzając np. mechanizmy cache owania danych, nie rozwiązuje to jednak problemu dostępu do zdalnych zasobów obliczeniowych. W sytuacji odwrotnej, kiedy to zewnętrzna aplikacja ma uzyskać dostęp do stworzonych w ramach środowiska obliczeniowego procedur za pomocą interfejsu usług sieciowych, problemem może się okazać niższa niż wymagana w warunkach produkcyjnych stabilność. Środowiska obliczeniowe przystosowane są raczej do pracy interaktywnej z niewielkim obciążeniem, z nastawieniem na łatwość prototypowania i implementacji, niż na stabilność funkcjonowania. Bezpośrednie wywoływanie procedur obliczeniowych z poziomu serwera aplikacji, zwłaszcza przy dużym obciążeniu, może doprowadzić do niestabilności środowiska obliczeniowego. Pewnym rozwiązaniem może być użycie równolegle kilku środowisk pracujących w ramach odseparowanych maszyn wirtualnych oraz częsta kontrola stabilności tychże maszyn, z równoważeniem obciążenia i możliwością automatycznego restartu. Podsumowanie Integracja środowisk przeznaczonych do obliczeń naukowych i inżynierskich z usługami sieciowymi może być przeprowadzona w celu eksploracji rozproszonych, internetowych źródeł danych, zdalnego wykorzystania specjalizowanych zasobów obliczeniowych czy też ponownego użycia logiki analitycznej zaimplementowanej w istniejących systemach. W zależności od przypadku użycia, wskazany może być wybór jednego z kilku popularnych standardów web services. Dla typowego przypadku dzielenia funkcjonalności, zwłaszcza przy złożonych API analitycznych, zalecić można standard SOAP. W sytuacji gdy kluczowe staje się współdzielenie zasobów, nie zaś funkcji, bardziej zasadne będzie użycie prostszych usług typu REST. W zastosowaniach, gdzie konieczne jest częste przesyłanie dużej ilości danych, przy zachowaniu maksymalnej wydajności, wskazane będzie zastosowanie standardu Hessian.
14 40 Piotr Czapiewski Większość stosowanych obecnie środowisk obliczeniowych oferuje mechanizmy integracji z zewnętrznymi zasobami programowymi. Zarówno w przypadku środowiska MATLAB, jak i darmowych GNU Octave i Scilab, możliwe jest wywoływanie kodu napisanego w języku Java, co daje dostęp do wszelkich standardów usług sieciowych za pośrednictwem dodatkowych bibliotek bądź mechanizmów wbudowanych w JDK. Ponadto w środowisku MATLAB dostępny jest bezpośredni interfejs do usług typu SOAP oraz bibliotek stworzonych w językach.net/c#, C/C++, Fortran. Przedstawiona w artykule dyskusja oraz rozwiązanie architektoniczne stanowi wstęp do dalszych prac nad realizacją uniwersalnego modułu integrującego różne środowiska obliczeń naukowych i inżynierskich z serwerami aplikacji, usługami sieciowymi i internetowymi zasobami danych. Literatura 1. Alonso G., Casati F., Kuno H., Machiraju V., Web Services: Concepts, Architectures, Applications. Springer Box D., A Brief History of SOAP, soap.html, 3. Caucho Technology, Inc., Hessian Binary Web Service Protocol, caucho.com, 4. Denizet C., Java Interaction Mechanism in Scilab, toolboxes/jims, 5. Duggan D., Enterprise Software Architecture and Design: Entities, Services, and Resources, Wiley Fielding R.T., Architectural Styles and the Design of Network-based Software Architectures, University of California, 2000, pubs /dissertation/fielding_dissertation.pdf, 7. GNU Octave Wiki: Java Package, =Java_package, 8. Guinard D., Trifa V., Mattern F., Wilde E., From the Internet of Things to the Web of Things: Resource-oriented Architecture and Best Practices, w: Architecting the Internet of Things, red. D. Uckelmann, M. Harrison, F. Michahelles, Springer The MathWorks, Inc., MATLAB Documentation. External Interfaces, mathworks.com/help/techdoc/matlab_external/bp_kqh7.html, 10. Object Management Group, Common Object Request Broker Architecture (CORBA) Specification,
15 Standardy usług internetowych Pautasso C., Zimmermann O., Leymann F., Restful web services vs. big web services: making the right architectural decision, Proceedings of the 17th international conference on World Wide Web, s Winer D., XML-RPC Specification, dostęp World Wide Web Consortium, SOAP Messages with Attachments, W3C Note, World Wide Web Consortium, SOAP Version 1.2 Part 0: Primer (Second Edition), W3C Recommendation, dostęp World Wide Web Consortium, SOAP Version 1.2 Part 1: Messaging Framework (Second Edition), W3C Recommendation, World Wide Web Consortium, SOAP Version 1.2 Part 2: Adjuncts (Second Edition), W3C Recommendation, dostęp World Wide Web Consortium, W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures, W3C Recommendation, 1/, 18. World Wide Web Consortium, W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes, W3C Recommendation, 2/, 19. World Wide Web Consortium, Web Application Description Language, W3C Member Submission, World Wide Web Consortium, Web Services Description Language (WSDL) Version 2.0, W3C Recommendation,
16 42 Piotr Czapiewski STANDARDS OF WEB SERVICES AND THE INTEGRATION WITH ENVIRONMENTS FOR SCIENTIFIC AND ENGINEERING COMPUTATIONS Summary The paper presents the discussion of the possibility of integrating Web Services with environments for scientific and engineering computations, such as MATLAB, GNU Octave or SciLab. Major web services standards (SOAP, REST, Hessian) were analysed regarding the feasibility of their application in scientific computations. The goals of such an integration were explicated, as well as the exemplary usage scenarios and the technical requirements. Translated by Piotr Czapiewski
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,
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
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
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ć
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
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
Deduplikacja danych. Zarządzanie jakością danych podstawowych
Deduplikacja danych Zarządzanie jakością danych podstawowych normalizacja i standaryzacja adresów standaryzacja i walidacja identyfikatorów podstawowa standaryzacja nazw firm deduplikacja danych Deduplication
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
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
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
Usługi sieciowe REST. Instytut Informatyki Politechnika Poznańska
Usługi sieciowe REST Jerzy Brzeziński Cezary Sobaniec Instytut Informatyki Politechnika Poznańska Wprowadzenie Service Oriented Architecture nie zakłada stosowania technologii Web Services...... więc porozmawiajmy
OSGi Agata Hejmej 4.05.2009
OSGi Agata Hejmej 4.05.2009 Plan prezentacji Co to jest OSGi Jakie problemy rozwiązuje Opis standardu Przykładowa aplikacja Podsumowanie korzyści Co to jest OSGi? Standard, który pozwala na tworzenie wysoce
Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone
Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa
Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
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)
Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)
Programowanie w języku Java Wykład 13: Java Platform, Enterprise Edition (Java EE) Standard J2EE Programowanie w języku Java 2 J2EE - komunikacja Programowanie w języku Java 3 J2EE warstwa biznesowa Programowanie
Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak
Serwery Autorzy: Karol Czosnowski Mateusz Kaźmierczak Czym jest XMPP? XMPP (Extensible Messaging and Presence Protocol), zbiór otwartych technologii do komunikacji, czatu wieloosobowego, rozmów wideo i
Programowanie obiektowe
Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha
Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa
1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko
Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)
Spis treści Dzień 1 I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501) I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami
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
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
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
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
Webowy generator wykresów wykorzystujący program gnuplot
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin Nowak nr albumu: 254118 Praca inżynierska na kierunku informatyka stosowana Webowy generator wykresów wykorzystujący
Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio
Czym jest jpalio? jpalio to unikalna platforma technologiczna pozwalająca na stworzenie szeregu produktów dostosowanych do indywidualnych preferencji klienta. W naszej ofercie znajduje się m.in. system
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
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
Instalacja SQL Server Express. Logowanie na stronie Microsoftu
Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy
Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych
Projektowanie architektury systemu rozproszonego Jarosław Kuchta Zagadnienia Typy architektury systemu Rozproszone przetwarzanie obiektowe Problemy globalizacji Problemy ochrony Projektowanie architektury
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
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
Wprowadzenie do usług internetowych
Wprowadzenie do usług internetowych Tomasz Pawlak 2 Plan prezentacji Wprowadzenie do usług internetowych Technologie usług internetowych Architektura usług internetowych Statystyki 3 Usługa internetowa
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
Katedra Inżynierii Oprogramowania Tematy prac dyplomowych inżynierskich STUDIA NIESTACJONARNE (ZAOCZNE)
Katedra Inżynierii Oprogramowania Tematy prac dyplomowych inżynierskich STUDIA NIESTACJONARNE (ZAOCZNE) Temat projektu/pracy dr inż. Wojciech Waloszek Grupowy system wymiany wiadomości. Zaprojektowanie
Tworzenie i obsługa wirtualnego laboratorium komputerowego
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ochociński nr albumu: 236401 Praca magisterska na kierunku informatyka stosowana Tworzenie i obsługa wirtualnego
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
Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008
Adam 1 grudnia 2008 Wstęp Opis Historia Apache kontener serwletów rozwijany w ramach projektu Apache jeden z bardziej popularnych kontenerów Web open source, Apache Software License rozwijany przez ASF
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:
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ą.
Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC
Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:
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
A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów
A Zasady współpracy Ocena rozwiązań 3.0 25 40 punktów 3.5 41 65 punktów 4.0 66 80 punktów 4.5 81 100 punktów 5.0 101 130 punktów Warunki zaliczenia przedmiotu Student uzyska ocenę zaliczającą (3.0) o ile
Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.
Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Usługi internetowe usługa internetowa (ang.
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ć
Dodatkowo, w przypadku modułu dotyczącego integracji z systemami partnerów, Wykonawca będzie przeprowadzał testy integracyjne.
Załącznik nr 1a do Zapytania ofertowego nr POIG.08.02-01/2014 dotyczącego budowy oprogramowania B2B oraz dostawcy sprzętu informatycznego do projektu pn. Budowa systemu B2B integrującego zarządzanie procesami
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
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
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
Tester oprogramowania 2014/15 Tematy prac dyplomowych
Tester oprogramowania 2014/15 Tematy prac dyplomowych 1. Projekt i wykonanie automatycznych testów funkcjonalnych wg filozofii BDD za pomocą dowolnego narzędzia Jak w praktyce stosować Behaviour Driven
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
Usługa: Testowanie wydajności oprogramowania
Usługa: Testowanie wydajności oprogramowania testerzy.pl przeprowadzają kompleksowe testowanie wydajności różnych systemów informatycznych. Testowanie wydajności to próba obciążenia serwera, bazy danych
Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE
Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE Cena szkolenia Cena szkolenia wynosi 100 zł za 60 min. Ilość godzin szkolenia jest zależna od postępów w nauce uczestnika kursu oraz ilości czasu, którą będzie
Wybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2017 Globalna sieć Internet Koncepcja sieci globalnej Usługi w sieci Internet
Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV
Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium
Projekt Fstorage. www.fstorage.pl. Łukasz Podkalicki Bartosz Kropiewnicki
Projekt Fstorage www.fstorage.pl Łukasz Podkalicki Bartosz Kropiewnicki Konspekt 1. Problemy związane ze składowaniem plików 2. Dostępne darmowe technologie 3. Opis najczęściej stosowanej technologii 4.
Forum Client - Spring in Swing
Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy
Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz
Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................
Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Infomatyki Stosowanej Piotr Benetkiewicz Nr albumu: 168455 Praca magisterska na kierunku Informatyka
System DiLO. Opis interfejsu dostępowego v. 2.0
System DiLO Opis interfejsu dostępowego v. 2.0 Warszawa 2015 1 Wprowadzone zmiany Wersja Opis 1.0 Wersja bazowa 1.1 Dodanie możliwości przejścia z wydania karty w POZ (WK-POZ) do zabiegu operacyjnego (ZAB-OPER)
Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
XML-RPC: Zdalne wykonywanie procedur
XML-RPC: Zdalne wykonywanie procedur Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 28 października 2005 roku Wstęp Internet dostarcza wiele możliwości programistą piszącym
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
Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.
Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową..
Przetwarzanie danych w chmurze
Materiały dydaktyczne Katedra Inżynierii Komputerowej Przetwarzanie danych w chmurze Modele przetwarzania w chmurze dr inż. Robert Arsoba Robert.Arsoba@weii.tu.koszalin.pl Koszalin 2017 Wersja 1.0 Modele
Program szkolenia: REST i Microservices w PHP
Program szkolenia: REST i Microservices w PHP Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: REST i Microservices w PHP PHP-rest PHP developerzy 4 dni 50% wykłady / 50% warsztaty
Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Agnieszka Holka Nr albumu: 187396 Praca magisterska na kierunku Informatyka
Ministerstwo Finansów
Ministerstwo Finansów Departament Informatyzacji Rejestr Domen Służących do Oferowania Gier Hazardowych Niezgodnie z Ustawą Specyfikacja Wejścia-Wyjścia Wersja 1.1 Warszawa, 16.02.2017 r. Copyright (c)
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
Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa,
Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa, 2008-01-08 1 Agenda 1. Teza 2. Bezpieczeństwo aplikacji internetowych Usługi bezpieczeństwa
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
ActiveXperts SMS Messaging Server
ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server to oprogramowanie typu framework dedykowane wysyłaniu, odbieraniu oraz przetwarzaniu wiadomości SMS i e-mail, a także tworzeniu własnych
Virtual Grid Resource Management System with Virtualization Technology
Virtual Grid Resource Management System with Virtualization Technology System zarządzania zasobami wirtualnego Gridu z wykorzystaniem technik wirtualizacji Joanna Kosińska Jacek Kosiński Krzysztof Zieliński
World Wide Web? rkijanka
World Wide Web? rkijanka World Wide Web? globalny, interaktywny, dynamiczny, wieloplatformowy, rozproszony, graficzny, hipertekstowy - system informacyjny, działający na bazie Internetu. 1.Sieć WWW jest
Oracle Log Analytics Cloud Service
ORACLE DANE TECHNICZNE Zastrzeżenie: Niniejszy dokument służy wyłącznie celom informacyjnym. Nie stanowi on zobowiązania do dostarczenia żadnych materiałów, kodu ani funkcjonalności i nie należy go brać
Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.
GRZEGORZ FURDYNA Krótka Historia Co to jest NetBeans? Historia Wersje NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły NetBeans Profiler Narzędzie do projektowania GUI Edytor NetBeans
Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy
Dokumentacja techniczna Młodzieżowe Pośrednictwo Pracy Spis Treści 1. Widok ogólny architektury MPP... 3 2. Warstwy systemu... 5 3. Struktura systemu/komponentów... 7 3.1 Aplikacje... 7 3.2 Biblioteki...
Historia modeli programowania
Języki Programowania na Platformie.NET http://kaims.eti.pg.edu.pl/ goluch/ goluch@eti.pg.edu.pl Maszyny z wbudowanym oprogramowaniem Maszyny z wbudowanym oprogramowaniem automatyczne rozwiązywanie problemu
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
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
<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>
Wersja [Uwaga: Niniejszy wzór dostarczony jest w celu użytkowania z Unified Process for EDUcation. Tekst zawarty w nawiasach kwadratowych i napisany błękitną kursywą
Nadzorowanie stanu serwerów i ich wykorzystania przez użytkowników
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Tomasz Kapelak Nr albumu: 187404 Praca magisterska na kierunku Informatyka
Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne
Jarosław Kuchta Internetowe Usługi Informacyjne Komponenty IIS HTTP.SYS serwer HTTP zarządzanie połączeniami TCP/IP buforowanie odpowiedzi obsługa QoS (Quality of Service) obsługa plików dziennika IIS
dlibra 3.0 Marcin Heliński
dlibra 3.0 Marcin Heliński Plan prezentacji Wstęp Aplikacja Redaktora / Administratora Serwer Aplikacja Czytelnika Aktualizator Udostępnienie API NajwaŜniejsze w nowej wersji Ulepszenie interfejsu uŝytkownika
REFERAT PRACY DYPLOMOWEJ
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany
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.
Tworzenie aplikacji Web Alicja Zwiewka. Page 1
Tworzenie aplikacji Web Alicja Zwiewka Page 1 Co to są web-aplikacje? Aplikacja internetowa (ang. web application) program komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć komputerową
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki Tomasz Pawłowski Nr albumu: 146956 Praca magisterska na kierunku
Integracja komunikatora opartego o protokół XMPP z dużym portalem internetowym
Integracja komunikatora opartego o protokół XMPP z dużym portalem internetowym Janusz Dziemidowicz nasza-klasa.pl PLNOG 10-11 września 2009 Spis rzeczy XMPP i ejabberd XMPP Erlang ejabberd XMPP a HTTP
Referat pracy dyplomowej
Referat pracy dyplomowej Temat pracy: Wdrożenie intranetowej platformy zapewniającej organizację danych w dużej firmie na bazie oprogramowania Microsoft SharePoint Autor: Bartosz Lipiec Promotor: dr inż.
Architektura mikroserwisów na platformie Spring IO
Kod szkolenia: Tytuł szkolenia: SPRIO Architektura mikroserwisów na platformie Spring IO Dni: 3 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów Java pragnących dowiedzieć się jak tworzyć
Instrukcja integratora - obsługa dużych plików w epuap2
Instrukcja integratora - obsługa dużych plików w epuap2 Wersja: 1.1 Strona 1 z 18 Spis treści SPIS TREŚCI... 2 WPROWADZENIE ORAZ INFORMACJE OGÓLNE... 3 1.1 WSTĘP... 3 1.2 WARUNKI KONIECZNE DO SPEŁNIENIA
Wypożyczalnia VIDEO. Technologie obiektowe
Wypożyczalnia VIDEO Jest to program do obsługi wypożyczalni i wypożyczeń klientów. Głównym zadaniem programu jest zarządzanie wypożyczeniami i drukowanie potwierdzenia wypożyczenia oraz naliczenie punktów
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,
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
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
Prezentacja specjalności studiów II stopnia. Inteligentne Technologie Internetowe
Prezentacja specjalności studiów II stopnia Inteligentne Technologie Internetowe Koordynator specjalności Prof. dr hab. Jarosław Stepaniuk Tematyka studiów Internet jako zbiór informacji Przetwarzanie:
Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:
Egzaminy na plus Stres na minus! Zdawaj bezpłatne egzaminy Microsoft, Linux, C++ z nami i zadbaj o swoją karierę. Oferujemy Ci pierwsze certyfikaty zawodowe w Twojej przyszłej karierze, które idealnie
Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)
Program szkolenia: Przygotowanie do nowoczesnego programowania po stronie przeglądarki (HTML5, CSS3, JS, wzorce, architektura, narzędzia) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: