Athos benutzertreffen 2007
Download
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.hofmann@HighQSoft.de 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

andreas.hofmann@HighQSoft.de

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


Athos benutzertreffen 2007
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