ATHOS Benutzertreffen 2007

Preview:

DESCRIPTION

ATHOS Benutzertreffen 2007. ASAM ODS mit Mircosoft C# download: http://www.highqsoft.serveftp.net Glashütten, 27.September 2007 HighQSoft GmbH, Andreas Hofmann andreas.hofmann@HighQSoft.de www.highqsoft.de / www.highqsoft.com. 27.September 2007 - 1. ASAM ODS - CORBA. - PowerPoint PPT Presentation

Citation preview

ATHOS Benutzertreffen 2007

27.September 2007 - 1

ASAM ODS mit Mircosoft C# download: http://www.highqsoft.serveftp.net

Glashütten, 27.September 2007

HighQSoft GmbH, Andreas Hofmannandreas.hofmann@HighQSoft.de

www.highqsoft.de / www.highqsoft.com

ASAM ODS - CORBA

27. September 2007 - 2

• ASAM schlug CORBA als plattformunabhängige Infrastruktur vor.

• Schnittstellen wurde in CORBA IDL (Interface Definition Language) definiert.

• Den Implementierungen steht es frei andereProtokolle zu verwenden.

• AVALON ist ein CORBA Server

CORBA – C#

27. September 2007 - 3

• 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.

C#

27. September 2007 - 4

• 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.

Lösungsansätze

27. September 2007 - 5

• Derzeit sind uns 2 Programme bekannt, mit denen eine Anbindung zu einem ASAM ODS Server realisiert wurde.

1. CORBA/COM Wrapper von Reinhard Kessler• Nur unvollständig, aber dennoch in Benutzung• www.ibkessler.de

2. IIOP.NET ist eine Dimplomarbeit an der ETH Zürich• Wird in einer Testphase bei Bosch und BASF

eingesetzt.• www.iiop-net.sourceforge.net

IIOP-NET

27. September 2007 - 6

• 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.

Unterschiede zur ODS IDL

27. September 2007 - 7

• 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.

Initialisierung

27. September 2007 - 8

// 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:2809NamingContext nameService = init.GetNameService("TESTSERVER", 2809);

// Get the name service component TestModel/DB.ASAM-ODSNameComponent[] 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");

MS-EXCEL Steuern

27. September 2007 - 9

//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(); }

WARNUNG !

27. September 2007 - 10

• 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.

Vielen Dank für Ihre Aufmerksamkeit

Recommended