Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

ATHOS Benutzertreffen 2007

Ähnliche Präsentationen


Präsentation zum Thema: "ATHOS Benutzertreffen 2007"—  Präsentation transkript:

1 ATHOS Benutzertreffen 2007
ASAM ODS mit Mircosoft C# download: Glashütten, 27.September 2007 HighQSoft GmbH, Andreas Hofmann / 27.September

2 ASAM ODS - CORBA ASAM schlug CORBA als plattformunabhängige
Infrastruktur vor. Schnittstellen wurde in CORBA IDL (Interface Definition Language) definiert. Den Implementierungen steht es frei andere Protokolle zu verwenden. AVALON ist ein CORBA Server 27. September

3 CORBA – C# CORBA definiert eine Infrastruktur.
Teil dieser Infrastruktur ist die Definition, wie Daten über Netzwerk übertragen werden. C# ist eine Programmiersprache für die von Microsoft definierte Infrastruktur COM. Die verwendeten Netzwerkprotokolle unterscheiden sich zu sehr, so dass ein einfaches Mapping nicht möglich ist. 27. September

4 C# Kommt im MS-Office Umfeld zum Einsatz.
Derzeit werden eher aufwändige Transportverfahren verwendet, um die Verarbeitung von ASAM ODS Daten zu ermöglichen. Eine Brücke würde diese Verfahren überflüssig machen. 27. September

5 Lösungsansätze Derzeit sind uns 2 Programme bekannt, mit denen eine Anbindung zu einem ASAM ODS Server realisiert wurde. CORBA/COM Wrapper von Reinhard Kessler Nur unvollständig, aber dennoch in Benutzung IIOP.NET ist eine Dimplomarbeit an der ETH Zürich Wird in einer Testphase bei Bosch und BASF eingesetzt. 27. September

6 IIOP-NET Derzeit liegt die Version 1.9.0 vor.
Ist gegen die bekannten ORB Implementierungen (SUN JDK, MICO, TAO, OmniORB, JacORB) getestet. Ist kompatibel zu bekannten Application-Server (IBM WEBSphere, JBoss, BEA WEBLogic). Erzeugt aus der CORBA IDL (ods511.idl) eine Bibliothek Hauptproblem, wie bei allen CORBA Clients, ist die Initialisierung. 27. September

7 Unterschiede zur ODS IDL
TS_Union.stringVal() – TS_Union.GetstringVal() TS_Union.stringVal(val) – TS_Union.SetstringVal(val) AoFactory.getType – AoFactory._getType() AoSession.getType – AoSession._getType() AoBaseElement.getType – AoBaseElement._getType() Nicht jede Klasse wurde von uns explizit durchgesehen. 27. September

8 Initialisierung // Initialize a CORBA client channel.
IiopClientChannel channel1 = new IiopClientChannel(); ChannelServices.RegisterChannel(channel1, false); // Initialize the CORBA environment. CorbaInit init = CorbaInit.GetInit(); // Get the name service from host TESTSERVER:2809 NamingContext nameService = init.GetNameService("TESTSERVER", 2809); // Get the name service component TestModel/DB.ASAM-ODS NameComponent[] name = new NameComponent[] { new NameComponent("TestModel/DB", "ASAM-ODS") }; Object obj = nameService.resolve(name); AoFactory aoFactory = (AoFactory)obj; AoSession session = aoFactory.newSession("USER=andy, PASSWORD=secret"); 27. September

9 MS-EXCEL Steuern //Start Excel and get Application object.
oXL = new Excel.Application(); oXL.Visible = true; //Get a new workbook. oWB = (Excel._Workbook)(oXL.Workbooks.Add("ASAM ODS Context")); oSheet = (Excel._Worksheet)oWB.ActiveSheet; // Add the context variables to the sheet. NameIterator nameIterator = aoSession.listContext("*"); int count = nameIterator.getCount(); String key; for (int i=0; i<count; i++) { key = nameIterator.nextOne(); oSheet.Cells[1, i] = key; oSheet.Cells[2, i] = aoSession.getContextByName(key). value.u.GetstringVal(); } 27. September

10 WARNUNG ! Bibliothek wurde von uns nur in Grenzen getestet. Dabei wurden allerdings keine Probleme aufgedeckt. Wie das Mapping vollzogen wird ist uns gänzlich unbekannt. Es könnte beim Zugriff auf die Massendaten zu Speicher- oder Performance-Problemen kommen. Es gibt kleine Unterschiede zur IDL, die man aber verkraften kann. 27. September

11 Vielen Dank für Ihre Aufmerksamkeit


Herunterladen ppt "ATHOS Benutzertreffen 2007"

Ähnliche Präsentationen


Google-Anzeigen