Eine weitere leistungsfähige Technik um komplexe und heterogene Applikationsintegrationen
zu automatisieren möchte ich hier vorstellen:
Vor einiger Zeit habe ich ein leistungsfähiges Tool entwickelt, welches Daten von einer
im Haus entwickelten ASP-basierenden Web-Applikation, CA Clarity, Microsoft Sharepoint,
SAP Netweaver Portal und www.salesforce.com verarbeitet.
Mit den gesammelten Daten wird automatisiert ein Sharepoint-Formular befüllt.
Da alle anzubindenen Anwendungen Microsoft Internet Explorer als Web-Client unterstützen, kann diese
Aufgabenstellung sehr gut mit der Script-Sprache AutoIt umgesetzt werden.
Die Script-Sprache unterstützt die erweiterten Regulären Ausdrücke. Die Syntax ist Basic-ähnlich.
Es unterstützt hervorragend die Automatisierung des Windows GUI.
Für die Anforderungen dieses Projektes wurden nur ein paar Methoden im Bereich des Zugriffs
auf den Internet Explorer aus AutoIt genutzt:
Ebenso war es sehr einfach die entwickelte Anwendung fehlertolerant in Bezug auf die Verfügbarkeit
der abgefragten Web-Seiten durch Nutzung eines Timeout-Parameters zu machen.
Die Anbindung des SAP Netweaver Portals wurde durch den Zugriff auf die verschachtelten
Frames und iFrames umgesetzt.
Um die gewünschten Daten zu erhalten wurde ein 4-facher Zugriff auf _IEFrameGetCollection()
implementiert .
Mit den Methoden _IEFormElementGetObjByName() und _IETableGetCollection() können die
benötigten Daten verarbeitet werden.
Die Abfrage einer salesforce.com-Opportunity erfolgt über die Methoden _IEFormElementOptionSelect() um
den Opportunity-Filter auszuwählen. Das Form-Objekt wird über _IEFormGetObjByName() abgefragt und
_IEFormElementSetValue() um die Abzufragende Opportunity-Nummer einzufügen.
Ich fand einen guten Weg, um ein großes Sharepoint-Formular automatisiert zu befüllen.
Das Script kann direkt Name-Lookup-Fields, Datumsfelder inklusive der Wahl des korrekten
Datumgsformats DD/MM/YYYY oder MM/DD/YYYY, Checkbox-Felder und
Drop-Down-Auswahlfelder mit Daten beschicken.
Und schließlich kann das Script auch mit CA Clarity kommunizieren und über die Eingabe
einer Auftragsnummer die dazugehörige Projekt-ID abfragen. Dabei wurden die Funktionen
_IEGetObjById(), _IEFormElementOptionSelect(), _IEFormGetObjByName(),
_IEFormGetObjByName() und _IETableGetCollection() verwendet..
Bitte lassen Sie es mich wissen, wenn Sie ebenso Interesse an dieser Automatisierungstechnik haben.