Upload
najila
View
41
Download
0
Embed Size (px)
DESCRIPTION
ATHOS Benutzertreffen 2007. ASAM ODS mit Mircosoft C# download: http://www.highqsoft.serveftp.net Glashütten, 27.September 2007 HighQSoft GmbH, Andreas Hofmann [email protected] 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 [email protected]
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