athos benutzertreffen 2007
Download
Skip this Video
Download Presentation
ATHOS Benutzertreffen 2007

Loading in 2 Seconds...

play fullscreen
1 / 11

ATHOS Benutzertreffen 2007 - PowerPoint PPT Presentation


  • 75 Views
  • Uploaded on

ATHOS Benutzertreffen 2007. ASAM ODS mit Mircosoft C# download: http://www.highqsoft.serveftp.net Glashütten, 27.September 2007 HighQSoft GmbH, Andreas Hofmann andreas.[email protected] www.highqsoft.de / www.highqsoft.com. 27.September 2007 - 1. ASAM ODS - CORBA.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' ATHOS Benutzertreffen 2007' - najila


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
athos benutzertreffen 2007
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
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 2007 - 2

corba c
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 2007 - 3

slide4
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 2007 - 4

l sungsans tze
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
    • www.ibkessler.de
  • IIOP.NET ist eine Dimplomarbeit an der ETH Zürich
    • Wird in einer Testphase bei Bosch und BASF eingesetzt.
    • www.iiop-net.sourceforge.net

27. September 2007 - 5

iiop net
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 2007 - 6

unterschiede zur ods idl
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 2007 - 7

initialisierung
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 2007 - 8

ms excel steuern
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 2007 - 9

warnung
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 2007 - 10

ad