pyaxl2 Sebastian Kratzert Was ist AXL? Datenstrukturen Aufbau von pyaxl Die CCM-Objekte pyaxl2 Beispiele Ende Sebastian Kratzert 5.



Ähnliche Dokumente
Scala kann auch faul sein

Melde- und Veröffentlichungsplattform Portal (MVP Portal) Hochladen einer XML-Datei

Zählen von Objekten einer bestimmten Klasse

Anwendertreffen 20./21. Juni

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Diana Lange. GENERATIVE GESTALTUNG Arten des Zufalls

Wie ist das Wissen von Jugendlichen über Verhütungsmethoden?

Laborübung - Task Manager (Verwalten von Prozessen) in Windows XP

Ihre Lizenz ändern. Stand 01/2015

Auswertung Fünfjahresüberprüfung

Laborübung - Task Manager (Verwalten von Prozessen) in Windows Vista

P CALC Die Präferenzkalkulation

Anleitung über den Umgang mit Schildern

MARCANT - File Delivery System

Teaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel für Mac. amac-buch Verlag

Wir machen neue Politik für Baden-Württemberg

SCS School Community System

Laborübung - Task-Manager (Verwalten von Prozessen) in Windows 7

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

SUB-ID- VERWALTUNG MIT GPP SETUP-GUIDE FÜR PUBLISHER

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Nutzung von Log4J und Commons Logging

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Step by Step Softwareverteilung unter Novell. von Christian Bartl

SWOT Analyse zur Unterstützung des Projektmonitorings

7DVWH.HOOQHU. Kassensystem SANYO (X&D6RIWKapitel 42

Um das Versenden von Anhängen an s zu ermöglichen, wurde der Assistent für die Kommunikation leicht überarbeitet und wo nötig verbessert.

Frankfurt am Main. Dortmund. Stuttgart. Düsseldorf

Einstellung!der!österreichischen!Bevölkerung! zum!rechtssystem:!imas"umfrage!2013!

Informationen zum neuen Studmail häufige Fragen

CAQ Software für Ihr Qualitätsmanagement. Ablauf für die Erfassung der Fehler in der Fertigung

Arbeitshilfe "Tipps für Gespräche mit Vorgesetzten und KollegInnen" Was gilt für mich?

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Dokumentenverwaltung

Bundesarbeitsgemeinschaft der Kreishandwerkerschaften VERSTEHEN BÜNDELN HANDELN.

Produktinformation eevolution Wordintegration

Das Werk einschließlich aller seiner Texte ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechts

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

WinVetpro im Betriebsmodus Laptop

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Programmieren für Ingenieure Sommer Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.

Auswertung JAM! Fragebogen: Deine Meinung ist uns wichtig!

Konzentration auf das. Wesentliche.

affilinet_ Flash-Spezifikationen

KeyGateway incadea.engine DMS KeyReport Schlüsselmanagement auf höchstem Niveau

Übung - Konfigurieren einer Windows 7-Firewall

Zugriff auf die Modul-EEPROMs

MuPAD in Vorlesung und Übungen (12. Woche)

Fragebogen: Rätoromanisch

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

egovernment für das Open Source CMS Contao

Übersicht Programmablaufsteuerung

Ergebniszusammenfassung TU Clausthal

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

PICALIKE API DOKUMENTATION

ID VisitControl. Dokumentation Administration Equitania Software GmbH cmc Gruppe Seite 1

Profi cash (Version 10.3 oder höher) Erfassen und Verwalten von SEPA- Lastschriften

Lehrer: Einschreibemethoden

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

Kurzanleitung: Verbinden mehrerer PDF-Dokumente zu einem einzigen PDF-Dokument mit FreePDF XP Join

U08 Entwurfsmuster (II)

Festigkeit von FDM-3D-Druckteilen

DuE-Tutorien 17 und 18

Einrichtung von Mozilla Thunderbird

ASDI Benchmarking Projekt. Anleitung zum Datenexport

Neubewerbung Wiederbewerbung Preisträger Tiroler Integrationspreis

ACDSee 10. ACDSee 10: Fotos gruppieren und schneller durchsuchen. Was ist Gruppieren? Fotos gruppieren. Das Inhaltsverzeichnis zum Gruppieren nutzen

Outlook und Outlook Express

Vorarlberger Standardschulinstallation Anbindung von Android Mobile Devices

Windows 7 Ordner und Dateien in die Taskleiste einfügen

Planung für Organisation und Technik

Website freiburg-bahai.de

Betriebswirtschaftliches Beratungstool für Steuerberater Ziele, Inhalte und Struktur


Das Roaming Cockpit. Inhalt. 1 Das Roaming Cockpit Aufrufen des Roaming Cockpit über den Browser... 3

40x wissensch. Lehrerin / wissensch. Lehrer. 2. Mit dem Thema digitales Whiteboard als Unterrichtsmittel habe ich mich bereits beschäftigt.

zur Sage New Classic 2015

Arbeiten mit UMLed und Delphi

Studentische Lösung zum Übungsblatt Nr. 7

Word 2010 Schnellbausteine

Serienbrief mit Works 7.0

Installation DataExpert Paynet-Adapter (SIX)

Anleitung zur Updateinstallation von ElsaWin 5.20

1 topologisches Sortieren

Workflows verwalten. Tipps & Tricks

Screening for Illustrator. Benutzerhandbuch

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Einführung in die Programmierung

PC-Kaufmann 2014 ZIP-Komprimierte Datensicherung einspielen

Meinungen zur Altersvorsorge

Die Installation eines MS SQL Server 2000 mit SP3a wird in diesem Artikel nicht beschrieben und vorausgesetzt.

GS-Buchhalter/GS-Office 2015 Saldovorträge in folgenden Wirtschaftsjahren erfassen

Umsetzung und Akzeptanz des Persönlichen Budgets; Modul 1: Quantitative Datenanalyse

FAMILIENSTAND ALLEINERZIEHENDE MÜTTER

WPF Steuerelemente Listbox, ComboBox, ListView,

Anspruchsvolle Dreierausdrücke zum selbstständigen Lernen

Handbuch für Nutzer von Zertifikaten der Zertifizierungsstellen (CAs) des Bayerischen Behördennetzes (BYBN) zur Sicherung von s Teil C6:

Binärbäume als weiteres Beispiel für abstrakte Datentypen in PVS mit in Knoten gespeicherten Werten vom Typ T:

Transkript:

5. Juli 2006

AXL ist eine SOAP-Schnittstelle von Cisco zur Verwaltung des Cisco Callmanager. Eine grosse Sammlung von Funktionen (etwa 200) Zum Aufruf einer Funktion wird eine XML-struktur an den Server übertragen Server antwortet mit XML <SOAP ENV:Envelope xmlns:soap ENV=... > <SOAP ENV:Body> <a x l : a d d L i n e x m l n s : a x l=... > INHALT </ a x l : a d d L i n e > </SOAP ENV:Body> </SOAP ENV: Envelope>

Für python gibt es fertige frameworks zum Ansprechen von SOAP-Servern. SOAPpy: Kann Reihenfolge der Argumente nicht beibehalten, weil intern dictionary verwendet wird Zolera: Braucht python-2.4 und ist sehr kompliziert zu bedienen. Beides hätte nur von der Verwaltung der SOAP-Schnittstelle befreit. Der meiste Aufwand von pyaxl steckt in der Verwaltung der Daten Wie funkioniert die pyaxl-variante?

Beispiel für dictionary-struktur: a r g = { x : { a : c, b : e, a @ a t t r i b a : ab, a @ a t t r i b b : bb, y : { L : [ [ x, z, zz ], #data [{ s : p }, { a : b, c : d }, { b : c } ] #a t t r i b u t e s ] }} } ===> <x> <a a t t r i b b= bb a t t r i b a= ab >c</a> <y> <L s= p >x</l> <L a= b c= d >z</l> <L b= c >zz</l> </y> <b>e</b> </x>

axl node axl node ist eine DOM-ähnliche Datenstruktur. Hat ähnliche Funktionen wie DOM: set name(name), set data(text), set attr(name, val), child nodes(), append child(node) Kann mit dictionary initialisiert werden node = a x l n o d e ( a ) node. a p p e n d c h i l d ( a x l n o d e ( x, y ) ) node. a p p e n d c h i l d ( a x l n o d e ( y, z ) ) p r i n t node. t o s t r i n g ( ) ==> <a> <x>y</x> <y>z</y> </a>

Wie funktionieren die SOAP-Aufrufe? Im Modul CCMAXL werden die SOAP-Aufrufe ausgelöst Ein Aufruf braucht als Parameter ein AXLArg: d i c t = { p a t t e r n : 44441, r o u t e P a r t i t i o n N a m e : p i n t e r n, r o u t e F i l t e r I d : } arg = AXLArgs. g e t L i n e A r g ( d i c t ) r e t = CCMAXL. ccm. c a l l ( arg )

Die AXLArgs wissen, wie die zu rufende Funktion heisst. Sie haben eine Liste aller erlaubten XML-Unterelemente, mit der erlaubten Reihenfolge. c l a s s addcssarg ( AXLArg ) : keys = ( name, d e s c r i p t i o n, c l a u s e, d i a l P l a n W i z a r d G e n I d, members ) r o o t = newcss

CCMProfile, CCMLine,... CCMAxl, AXLArgs, axl_node Callmanager (AXL API)

Die meisten CCM-Objekte haben drei mögliche Zustände: Construktor() Nicht existent update() Angelegt remove() update() Verändert update()

Die getter-/setter-funktionen der CCM-Objekte werden mit Hilfe der AXLArgs erzeugt. def g e t a t t r ( s e l f, name ) : i f name. s t a r t s w i t h ( s e t ) : name = name [ l e n ( s e t ) : ] i f name i n s e l f. keys : return lambda x : s e l f. set param ( name, x ) e l i f name i n s e l f. keys : e l t = s e l f. d a t a [ name ] i f e l t : data = e l t [ 0 ]. data or return lambda : data

#Neues Device a n l e g e n d e v i c e = CCMDevice ( SEP0016C8FD68FE ) d e v i c e. s e t d e s c r i p t i o n (.... ) d e v i c e. s e t...... d e v i c e. update ( ) #d e s c r i p t i o n aendern d e v i c e = CCMDevice ( SEP0016C8FD68FE ) p r i n t d e v i c e. d e s c r i p t i o n ( ) d e v i c e. s e t d e s c r i p t i o n ( Neue B e s c h r e i b u n g ) d e v i c e. update ( )

#L i n e d e v i c e = CCMDevice ( SEP0016C8FD68FE ) l i n e = d e v i c e. l i n e ( 1 ) p r i n t l i n e. l a b e l ( ) d e v i c e. s e t l i n e ( 1, None ) d e v i c e. s e t l i n e ( 3, l i n e ) d e v i c e. update ( )

Fragen?