CORBA. Systemprogrammierung WS 2006-2007



Ähnliche Dokumente
CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

CORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg

CORBA. Beispiel einer Middleware-Plattform. Christian Fass WS 2013/14 Software Engineering: Basistechnologien

CORBA (Überblick, IDL)

Projektgruppe 453: Entwurf eines Managementwerkzeugs zur Verwaltung von Sicherheitsdiensten für komplexe eingebettete Dienstesysteme

Client/Server-Systeme

3.2 Der CORBA-Standard Common Object Request Broker Architecture

4D Server v12 64-bit Version BETA VERSION

ArcObjects-Programmierung mit Delphi. Marko Apfel, Team Entwicklung

Multiuser Client/Server Systeme

Java Kurs für Anfänger Einheit 5 Methoden

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Computeranwendung und Programmierung (CuP)

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Kurzanleitung So geht s

Objektbasierte Entwicklung

Modul Software Komponenten 10 Komponentenarchitektur

Testen mit JUnit. Motivation

Objektorientierte Programmierung

Java Enterprise Architekturen Willkommen in der Realität

Workflow, Business Process Management, 4.Teil

Übungen zu Softwaretechnik

How-to: Webserver NAT. Securepoint Security System Version 2007nx

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Client-Server-Beziehungen

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Installationsanleitung

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Lizenzierung von System Center 2012

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

3. Stored Procedures und PL/SQL

Was ist neu in Sage CRM 6.1

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Java: Vererbung. Teil 3: super()

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

SDD System Design Document

Softwaretechnische Anforderungen zu Opale bluepearl Version 1.0 vom

Übungen zur Softwaretechnik

Ein mobiler Electronic Program Guide für Android

Datentypen: Enum, Array, Struct, Union

Komponentenbasierter Taschenrechner mit CORBA

Formular»Fragenkatalog BIM-Server«

Übung: Netzwerkmanagement mit SNMP

C# im Vergleich zu Java

AS/point, Ihr Partner die nächsten 10 und mehr Jahre -

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Virtual Private Network. David Greber und Michael Wäger

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Programmieren in Java

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

Jürgen Schwab, debis Systemhaus

1 Kurzanleitung IMAP-Verfahren

Themen. Web Service - Clients. Kommunikation zw. Web Services

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

HANDBUCH LSM GRUNDLAGEN LSM

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

Java lernen mit BlueJ

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Spotlight 5 Gründe für die Sicherung auf NAS-Geräten

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

Internet online Update (Internet Explorer)

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Einführung in die Programmierung

Man liest sich: POP3/IMAP

Netzwerkversion PVG.view

Zeichen bei Zahlen entschlüsseln

jet IDS HIGH-LEIT OPC-GATEWAY zur Anbindung von Automatisierungssystemen Ein offenes, skalierbares SCADA System für alle Infrastrukturanwendungen

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Übungen zur Softwaretechnik

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

TeamSpeak3 Einrichten

Anleitung zur Nutzung des SharePort Utility

Lizenzen auschecken. Was ist zu tun?

Vortrag von: Ilias Agorakis & Robert Roginer

Was ist LDAP. Aufbau einer LDAP-Injection. Sicherheitsmaßnahmen. Agenda. LDAP-Injection. ITSB2006 WS 09/10 Netzwerkkonfiguration und Security

Java RMI, CORBA und Firewalls

Einführung in die Programmierung für NF

Persona-SVS e-sync GUI/Client Installation

Ein mobiler Electronic Program Guide

Erfassung von Umgebungskontext und Kontextmanagement

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung

Firmware-Update, CAPI Update

Databear Software Installer

Internetanbindung von Datenbanken

7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77

Transkript:

CORBA Systemprogrammierung WS 2006-2007

Teilnehmer: Bahareh Akherattalab Babak Akherattalab

Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA Worum geht es bei CORBA? CORBA Architecture

ORB (Object Request Broker) IIOP (Internet Inter ORB Protocol) IDL (Interface Definition Language) Interface-Spezifikation CORBA - Services

Softwareentwicklung mit CORBA Unterschied zwischen CORBA und RMI Vorteile & Nachteile von CORBA- Anwendungen Entwicklung einer CORBA-Anwendung Fazit

Verteilte Systeme Definition: Es ist ein Rechensystem von einer Anzahl von Prozessoren. Sie verfügen über keinen gemeinsamen Speicher. Daher kommunizieren über Nachrichten miteinander.

Vergleich zwischen lokale und verteilte Systeme Lokal Verteilt Kommunikation Fehler Gleich z. Objektzugriff Sicherheit

Verteilte Anwendungen Programm ist verteilt auf mehrere Rechner und/oder Prozesse. Kommunikation auf Quellcode-Ebene anstatt auf Datei-Ebene.

Verteilte Anwendungen Verteilte Anwendungen bedeutet: Daten verteilt Berechnungen verteilt Vorteil: Programmierung der Kommunikation entfällt!

CORBA CORBA (Common Object Request Broker Architecture) Eine objektorientiete Middleware CORBA ist Industriestandard für verteilte objektorientierte Anwendungen in heterogenen Umgebungen.

CORBA Die Spezifikation CORBA wird durch das Object Management Group (OMG) festgelegt. Das entstand im Jahr 1989. Erste Version 1991: CORBA 1.1 1996: CORBA 2.0 2002: CORBA 3.0 Unabhängigkeit von Betriebssystem und Programmiersprache.

Worum geht es bei CORBA Verteilte Anwendungen: Eine Anwendung, deren Bestandteile sich über mehrere Prozesse verteilen. Objektorientierte Anwendung: Bei der Anwendung- Entwicklung werden Objekte eingesetzt.

Heterogene Anwendung: Eine Anwendung,deren Bestandteile sich auf Computern befinden, deren Hardware oder Betriebsystem oder Programmier- Sprachen sich unterscheiden kann.

CORBA - Architektur ORB (Object Request Broker) IIOP (Internet Inter ORB Protocol) IDL (Interface Definition Language)

CORBA - Architektur

ORB (Object Request Broker) ORB managt die Kommuniktion zwischen Objekten. Aufgaben sind: Objektreferenzen auflösen. Mit einem entfernten ORB in Kontakt treten.

Formatübertragung (Marshaling) Methodenaufrufe verschicken (vom Client zum Server). Rückgabewerte verschicken (vom Server zum Client). Der OA (Object Adapter) bildet die Schicht zwischen Anwendung und ORB.

Die Inter ORB Kommunikation

IIOP (Internet Inter ORB Protocol) Standardprotokoll zur ORB-Kommunikation Speziell auf TCP/IP ausgerichtete Implementierung des GIOP(General Inter ORB Protocol). ORB-Kommunikation ist für Programmierer transparent

IDL (Interface Definition Language) Nur zur Definition von Schnittstellen Der IDL - Compiler erstellt aus einer Schnittstellendefinition immer ein Server - Skeleton und einen Client - Stub. Keine Konstrukte für Funktionalität

IDL wird auf funktionale Sprachen gemappt. z.b. C/C++,Java,Cobol,Ada,Smalltalk,Lisp...) IDL definiert Basistypen wie Integer, Long, Boolean, String,...

Case Sensitive Kommentare wie in Java und C++ C-präpozessor für Makro-Definition und bedingte Kompilierung Der Modifizierer const Der Aufzählungstyp enum Der Strukturtyp struct und union typedef für benutzerdefinierten Typnamen Container-Typen array, sequence

Interface-Spezifikation Interface Name { //Schnittstelle-Definition } ;

Interface-Spezifikation Interface mit Vererbung interface Name_abgeleitet : Name_VererbtesInterface Name_VererbtesInterface { // Schnittstellen Definition };

Der IDL - Typ Interface Vergleichbar mit einem Java-Interface Enthält Attribute und Methoden (ohne -Implementation). Unterstützt Exceptions.

Allgemeine Attributdeklaration: attribute Type membername; // Read/Write readonly attribute string member2;//read

Operations-Deklaration short methode1 (in float var1); void methode2 (out short var2, inout double var3); void methode3 (in var1);

Jedes Modul sollte mit möglichst wenigen andern Modulen kommunizieren(loose coupling). Beschränkte Gesamtzahl der Kommunikations-Kanäle bzw. Modulen: Anzahl der Operationen (in interfaces) in Grenzen halten.

Die Schnittstelle wird einmal definiert und ändert während des ganzen Lebenszyklus des Systems nie mehr. Client und Server müssen beide mit den neuen IDL-Definitionen neu erstellt werden.

CORBA-Services Standarddienste zur Vereinfachung der Standarddienste zur Vereinfachung der Entwicklung komplexer Anwendungen

Softwareentwicklung mit CORBA OOAD (wie auch bei nicht-verteilten Anw.) Def. der Client- und Server-Schnittst. in IDL Wahl eines Impl.ansatzes (Vererbung oder Delegation)

Generieren von Client - Stubs und Server- Skeletons mit IDL- Compiler Implementieren dieser Schnittstellen Kompilieren und Ausführen

Unterschied zwischen CORBA und RMI Im Gegensatz zu CORBA, ist RMI nur für JAVA gedacht =>bessere Integration in die Programmierspr. Ziel: : möglichst geringer Unterschied zwischen lokalen und verteilten Anwendungen

Annäherung zwischen RMI & CORBA z.b. CORBA: Integration von JAVA Enterprise Beans in CORBA z.b. RMI: Verwendung des IIOP-Protokolls aus CORBA

Vorteile von CORBA-Anwendungen Eine CORBA-Spezifikation: ist sprach- und plattformunabhängig. Sie bietet bereits Standardfunktionen zur Kommunikation an. Es ist sehr flexibel und erweiterbar. Einmal erstellte Schnittstellen lassen sich auch in anderen Anwendungen modular wieder verwenden.

CORBA hat sich seit der ersten Spezifikation zu einer weit verwendeten Verteilungsplattform entwickelt. zahlreiche Unternehmen, setzen diese Technologie für ihre Anwendungen ein.

Nachteile von CORBA-Anwendungen CORBA Konzept ist sehr komplex =>,wodurch die Implementierungen aufwendig und damit teuer werden können. Inkompatibilität bei ORB-Kern unterschiedlicher Hersteller

Es gibt keine feste Implementierung von CORBA in das Betriebssystem. =>Überhaupt ist festzustellen, dass CORBA Implementierungen vorrangig von kleineren Softwareunternehmen entwickelt werden.

Fazit: CORBA wird seit dem Jahr 2004 wieder vermehrt eingesetzt. was vor allem daran liegt, dass mittlerweile für die netzwerk- und prozessorintensive CORBA-Struktur genug Rechenleistung zur Verfügung steht.

ENDE!