Aplikacja 3 warstwowa

Podobne dokumenty
Ustawienia Zabezpieczeń

Programowanie współbieżne i rozproszone

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych

Application Layer Functionality and Protocols

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

Protokoly w technologii obiektow rozproszonych - CORBA, RMI/IIOP, COM, SOAP. Paweł Kozioł p.koziol@students.mimuw.edu.pl

Common Object Request Broker Architecture (CORBA)

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

Podejście obiektowe do budowy systemów rozproszonych

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

Wprowadzenie. Dariusz Wawrzyniak 1

POLITYKA PRYWATNOŚCI / PRIVACY POLICY

Zarządzanie sieciami telekomunikacyjnymi

Remote Method Invocation 17 listopada 2010

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1

Podejście obiektowe do budowy systemów rozproszonych

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Remote Method Invocation 17 listopada rozproszonych. Dariusz Wawrzyniak (IIPP) 1

SNP SNP Business Partner Data Checker. Prezentacja produktu

Middleware wprowadzenie października 2010

Pojęcie wzorca projektowego Sposób opisu wzorców projektowych Notacja UML podstawowe diagramy zapisu wzorców projektowych

Systemy Rozproszone Technologia ICE

Middleware wprowadzenie października Dariusz Wawrzyniak (IIPP) 1


Aplikacje RMI

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX

Zmiany techniczne wprowadzone w wersji Comarch ERP Altum

Technologie Obiektowe PK WFMI 2010/2011

Programowanie Komponentowe WebAPI

Programowanie obiektowe

Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip)

Systemy wbudowane. Poziomy abstrakcji projektowania systemów HW/SW. Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji

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

Warstwa ozonowa bezpieczeństwo ponad chmurami

Zakopane, plan miasta: Skala ok. 1: = City map (Polish Edition)

Network Services for Spatial Data in European Geo-Portals and their Compliance with ISO and OGC Standards

OpenPoland.net API Documentation

Interfejsy w Javie. Przykład zastosowania interfejsów:

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

SNP Business Partner Data Checker. Prezentacja produktu

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

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

Architektura komunikacji

Paweł Rajba

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

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

Karpacz, plan miasta 1:10 000: Panorama Karkonoszy, mapa szlakow turystycznych (Polish Edition)

Instrukcja obsługi User s manual


Aplikacje RMI Lab4

On-Board Unit (OBU) Rejestracja. Spis treści Logowanie... 1

Systemy rozproszone. Dr inż. L. Miękina. Department of Robotics and Mechatronics AGH University of Science and Technology 1/1

SubVersion. Piotr Mikulski. SubVersion. P. Mikulski. Co to jest subversion? Zalety SubVersion. Wady SubVersion. Inne różnice SubVersion i CVS

Technologie COM i ActiveX COM - Component Object Model

ARNOLD. EDUKACJA KULTURYSTY (POLSKA WERSJA JEZYKOWA) BY DOUGLAS KENT HALL

Klaps za karę. Wyniki badania dotyczącego postaw i stosowania kar fizycznych. Joanna Włodarczyk

Dynamiczny DNS dla usług typu Neostrada przykład konfiguracji

Zarządzanie sieciami komputerowymi - wprowadzenie

I.Wojnicki, Tech.Inter.

INSTRUKCJE JAK AKTYWOWAĆ SWOJE KONTO PAYLUTION

76.Struktura oprogramowania rozproszonego.

SSW1.1, HFW Fry #20, Zeno #25 Benchmark: Qtr.1. Fry #65, Zeno #67. like

Komunikacja i wymiana danych

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

1. CZYM JEST SERIALIZACJA

dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska Opole zlipinski@math.uni.opole.pl

Stargard Szczecinski i okolice (Polish Edition)

Zasady rejestracji i instrukcja zarządzania kontem użytkownika portalu

Enterprise JavaBeans

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

Budowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG

Hakin9 Spam Kings FREEDOMTECHNOLOGYSERVICES.CO.UK

Middleware wprowadzenie października Dariusz Wawrzyniak. Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5)


Jak skonfigurować bezpieczną sieć bezprzewodową w oparciu o serwer RADIUS i urządzenia ZyXEL wspierające standard 802.1x?

Zaawansowane narzędzia programowania rozproszonego

Rev Źródło:

Marzena Kanclerz. Microsoft Channel Executive. Zachowanie ciągłości procesów biznesowych. z Windows Server 2012R2

TYLKO DO UŻYTKU WŁASNEGO! PERSONAL USE ONLY!

OSI Physical Layer. Network Fundamentals Chapter 8. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Rozproszone systemy internetowe

IBM Corporation IBM SOA Center of Excellence

Mirosław Kupczyk Pozna, PCSS, Szkolenie: "Architektura i uytkowanie klastra Linux IA-64"

Ankiety Nowe funkcje! Pomoc Twoje konto Wyloguj. BIODIVERSITY OF RIVERS: Survey to students

ERASMUS + : Trail of extinct and active volcanoes, earthquakes through Europe. SURVEY TO STUDENTS.

X11R5. .Xresources. Pliki konfiguracyjne X-Windows. Zasada działania X11. .xinitrc. X protocol X server. X client. X library

Wprowadzenie CORBA ORB

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Formularz dla osób planujących ubiegać się o przyjęcie na studia undergraduate (I stopnia) w USA na rok akademicki

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1

Installation of EuroCert software for qualified electronic signature

Systemy rozproszone. oparte na obiektach

Rev Źródło:

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Hard-Margin Support Vector Machines

Java JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

Maximum Ride Ostatnie Ostrzezenie Globalne Ocieplenie (Polska Wersja Jezykowa)

Transkrypt:

Podstawowe pojęcia Referencja do obiektu (object reference) uchwyt obiektu określonego typu identyfikujący jego położenie Klient wykonuje żądania na obiekcie poprzez jedną z jego referencji Serwer Kontekst obliczeniowy (np.. Proces) dla obiektów/serwantów. Klient i serwer są rolami Stopka (stub) pośrednik klienta tłumaczący wywołania metod na komunikaty Szkielet (skeleton) pośrednik serwera tłumaczący komunikaty na wywołania metod Obiekt Jednostka programowania w CORBA posiadająca tożsamość, interfejs i implementację. Z punktu widzenia klienta jest to jednostka identyfikowana przez referencję i udostępniająca zdefiniowane w interfejsie operacje nieprzerwanie od momentu kreacji (creation) do zniszczenia (destruction). Te operacje z punktu widzenia klienta należy rozumieć w kontekscie referencji a nie samego obiektu. Zniszczenie obiektu jest nieodwołalne. Aktywacja i deaktywacja są widoczne tylko dla serwera i oznaczają przydzielenie zasobów obliczeniowych dla obiektu. Jeżeli obiekt ma stan to przy deaktywacji musi on zostać utrwalony. Istnieje wiele wzorców aktywacji/deaktywacji. Serwant (servant) jednostka języka programowania implementująca żądania jednego lub więcej obiektów. Odwzorowanie obiekt-serwant jest ustalane w trakcie wykonania i może ulegać zmianie nawet co wywołanie POA (portable object adapter) pojemnik na obiekty/serwanty na serwerze zarządza aktywacjajmi i odwzorowaniami serwant/obiekt. Dawniej BOA. ORB (object request broker) Infrastruktura przekazywania komunikatów

CORBA - aplikacje Aplikacje CORBA są tworzone jako zbiory obiektów, które często modelują elementy świata rzeczywistego. Każdy obiekt może mieć jedną lub więcej instancji Dla każdego obiektu należy zdefiniować interfejs za pomocą OMG IDL określa on dostępne operacje i przepakowywanie argumentów OMG zapewnia specyfikacje mapowania IDL do C, C++, Java, COBOL, Smalltalk, Ada, Lisp, Python, and IDLscript

Aplikacja 3 warstwowa

Wzorce stanu sesji Sesja klienta dane o sesji na kliencie Sesja serwera dane sesji na serwerze Database session state dane sesji w bazie

CORBA - działanie

IIOP Zestaw sposobów formatowania danych CDR (Common Data Representation), pokrywających się z typami w CORBA IDL Zestaw formatów wiadomości pokrywających całą semantykę ORB a GIOP + TCP/IP = IIOP IOR (Interoperable Object Reference) zawiera przynajmniej 1 profil IIOP pozwalający na odnalezienie obiektu

CORBA pojęcia ORB Interface - ORB jest jednostką logiczną która może być implementowana na wiele sposobów (one or more processes or a set of libraries). Specyfikacja CORBY zapewnia abstrakcyjny interfejs dla funkcji dostarczanych przez ORB (wszystkich poza wywołaniami klienta (stopki lub DII) oraz aktywacją obiektów (adapter (POA)). Te usługi to: dostęp do usług początkowych naming, trader, root POA, dostęp do IFR i konstrukcja wywołań DII, operacja na referencjach do obiektów (np. konwersja pomiedzy session i stringified format) ORB jest zdefiniowany na poziomie interfejsu i dostarczanych usług. Specyfikacja nie mówi nic o realizacji tzn. może on się wykonywać jako proces na komputerach serwera i klienta ale może być także rozproszony na wiele procesów na jednej lubv wielu maszynach połączonych siecią Dynamic Invocation Interface (DII) Ten interfejs pozwala klientowi na bezposredni dostep do mechanizmu wywołań. Pozwala to na wywołania bez koniczności linkowania (znajomości) stopek IDL.Pozwala to także na wywołania jednostronne i asynchroniczne. Użycie polega na odkryciu nowego rodzaju obiektów (np.. Za pomocą trader service), pobraniu jego interfejsu z Interface Repository (IR lub IFR) i skonstruowaniu obiektu invocation, który także jest obiektem corby. Ponieważ przepakowywanie następuje za pomocą usług ORB a to istnieje tylko jeden DII obsługujący wszystkie obiekty. Dynamic Skeleton Interface (DSI) Analog DII po stronie serwera. Pozwala to ORBowi na dostarczanie żądań do implementacji obiektu, która nie wie co implementuje w trakcie kompilacji. Klient i serwer nie wiedzą czy druga strona używa IDL czy DII/DSI.. Object Adapter posredniczy pomiędzy ORB a obiektem w wywołaniach i aktywacji.

Tworzenie aplikacji

POA policies LifespanPolicy persistent (obiekty trwałe, mogą przeżyć serwer- > mogą migrować -> load balancing, reliability, są utrwalane) albo transient (krótko żyjące obiekty, giną wraz z serwerem nawet gdy istnieją referencje, nie migrują ) ServantRetentionPolicy retain (serwant pozostaje aktywny i jest zapisywany w mapie aktywnych obiektów), non-retain serwant jest dezaktywowany po obsłużeniu żądania IdAssignmentPolicy kto nadaje identyfikator będący elementem referencji obiektu. Id jest przekazywany do serwanta przy re-aktywacji i pozwala odtworzyć jego stan.

Wzorce trwałości obiektów Service pattern uses your server resources the most efficiently. A Service object or component - including its object reference - is used once, and then destroyed and its resources reclaimed. Service objects have Transient object references, saving server resources. Należy mozliwie dużo funkcjonalności przenieść do pojedyńczych wywołań usług. The Session pattern also uses a temporary object reference, but lasts for several calls by the same client. Because its reference is temporary, you would not register it in persistent storage such as a Naming or Trading service. Use Session objects for iterators or other objects that will be called some limited number of times in quick succession by the same client, and then discarded. Try to avoid using persistent storage for a Session object; if your server crashes and then comes up again, the object and its storage will no longer be accessible. (If you're using this pattern for an iterator holding multiple megabytes of data, this may be unavoidable.) The Process pattern is the first one we'll discuss with a persistent object reference, allowing you to store it in a Naming or Trading service and access persistent storage (but see the next category before you do this!) without violating good programming practice. Use this pattern to represent a medium-term process' functionality. Examples of good use include applying for a mortgage (but not the mortgage itself), or a shopping cart that may be used across web sessions. (If you only allow a cart to last for a single web session, use the Session pattern instead.) The Entity pattern also has a persistent object reference, and has a strong identity. Use this pattern to represent data in your database to your application. Your application will be most efficient if you code these objects to be a thin layer between your datastore and your application - they represent your data, and do nothing else. In the CORBA Component Model, Entity components have strong identity, with their references stored by the container in a flat Naming service.

Wytyczne Root POA The lifespan policy is transient The ID assignment policy uses system IDs The ID uniqueness policy uses unique IDs The implicit activation policy is enabled (not default) The request processing policy uses an active object map The servant retention policy retains servants The thread policy gives the ORB control

Podsumowanie CORBA dostarcza m. in. specyfikacji następujących elementów IDL Mapowanie IDL języki programowania Static Invocation Interface DII Repozytoria interfejsów i implementacji zawierające metadane dostępne podczas wykonania POA umożliwia łączenie usług z ORB I wiele innych... Tutaj pokazana była tylko najbardziej podstawowa część (dalej np. CCM)

COS CORBA Services Service Object life cycle Description Defines how CORBA objects are created, removed, moved, and copied Naming Defines how CORBA objects can have friendly symbolic names Events Decouples the communication between distributed objects Relationships Provides arbitrary typed n-ary relationships between CORBA objects Externalization Transactions Coordinates the transformation of CORBA objects to and from external media Coordinates atomic access to CORBA objects Concurrency Control Provides a locking service for CORBA objects in order to ensure serializable access Property Trader Supports the association of name-value pairs with CORBA objects Supports the finding of CORBA objects based on properties describing the service offered by the object Query Supports queries on objects

Naming Service

Implementation Repository