Automatisierung und Integration von Request Tracker Systemen mittels REST-Schnittstelle Stefan Hornburg Perlworkshop 2008.

Slides:



Advertisements
Ähnliche Präsentationen
Agenda Ein Fallbeispiel Übersicht Architektur Subversion (SVN)
Advertisements

Sebastian Peters TIB-Workshop zur DOI-Registrierung 3. November 2011 DataCite Technik Vertiefung.
XForms Von Matthias Keck.
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Die Skriptsprache Perl (8) Wolfgang Friebel DESY Zeuthen.
Seminar Web-Engineering Nina Aschenbrenner / Ruben Jubeh 1 FG Software Engineering Software Engineering Seminar Web Engineering Seminar des Fachgebiet.
Seminar Internet Technologien
NetUSE Web Application Framework Kai Voigt NetUSE AG 28. Februar 2003.
Ribbon Benutzeroberfläche / UI SharePoint Workspace SharePoint Mobile Office Client und Office Web App Integration Unterstützung von Standards.
ArcGIS als WPS Server Aktueller Stand der Umsetzung
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
OpenStack Jörn Esdohr | Oktober 2012, Dortmund.
| DC-IAP/SVC3 | © Bosch Rexroth Pneumatics GmbH This document, as well as the data, specifications and other information set forth in.
You need to use your mouse to see this presentation © Heidi Behrens.
UNIVERSITÄT ZU KÖLN HISTORISCH-KULTURWISSENSCHAFTLICHE INFORMATIONSVERARBEITUNG REUSABLE - CONTENT SS 2013 MARIA WAGNER ReST.
Nicolas Frings Maximilian Bernd Stefan Piernikarcyk
RATEME 2.0 Pirmin Schürmann, Thomas Junghans, HSZ-T.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 2013 Kapitel 6 Folie 2 WCF Data Services (1) s.a.
As of 03-Jun and post address are mandatory for new "End Customer" accounts on Unifys Central License Server End Customer Accounts Mandatory.
Projekt Systemintegration Datler, Kroiß, Sachs Systemintegration ILV, FL / MIC- 2 (SS2014)
Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.
SharePoint 2013 Web Services
X-art Premium Account password free March 2015
Windows Interface Guidelines for Software Design1 The Windows Interface Guidelines for Software Design.
The prepositions in and an Two way prepositions. What are two-way prepositions? 0 A set of prepositions can take the dative or the accusative case: "an",
© Zühlke 2013 Romano Roth Workshop 6 (ws6C) native Entwicklung für mobile Geräte Lektion 2: Service 18. February 2013 Folie 1 von 19.
Literary Machines, zusammengestellt für ::COLLABOR:: von H. Mittendorfer Literary MACHINES 1980 bis 1987, by Theodor Holm NELSON ISBN
FTS usage at GridKa Forschungszentrum Karlsruhe GmbH
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Web Services als Remote Content Provider in Portalumgebungen Vorstellung und Diskussion des Themas Präsentation des Prototypen Konzeption und prototypische.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Enterprise-IT-Praktikum JAX-RS-Einführung Institut für Telematik Universität zu Lübeck Wintersmester 2012/13 Dennis Boldt David Gregorczyk.
Dennis Boldt David Gregorczyk
1 Servlets Stephan Baldes. 2 Was ist ein Servlet? S E R V L E T = Eine auf Java-Technologie basierte Web-Komponente, die von einem Container.
Cloud Entwicklung: Web Services
Gregor Graf Oracle Portal (Part of the Oracle Application Server 9i) Gregor Graf (2001,2002)
EUROPÄISCHE GEMEINSCHAFT Europäischer Sozialfonds EUROPÄISCHE GEMEINSCHAFT Europäischer Fonds für Regionale Entwicklung Workpackage 5 – guidelines Tasks.
Generic Enabler Felix Holzäpfel-Stein, Aachen Generische Komponenten im Cloudkontext.
IT-Dienstleistungen E-Learning Systeme Content Management 1 Fallbeispiel ILIAS: Das Repository-Objekt-Plugin „Centra“
Campus Bern Patrick Mäschli, Software Architect
Webbasierte Kommunikation am Beispiel REST Seminarvortrag von Heiko Overath.
Indico Meeting Dennis Klein 4. August Übersicht  Korrespondenz CERN  Trouble Ticket Queue  Integration GSI-Accounts  Subversion & Wiki  Todo.
Ralf Stockmann, Stefan Schmunk SUB Göttingen, Abteilung Forschung & Entwicklung Forschungsdaten in Raum und Zeit.
© WZL/Fraunhofer IPT Eine Gegenüberstellung von Websockets und RESTful Web Services Seminarvortrag von Lucie Mades.
Webservices SOAP und REST Nicole Fronhofs 1. Betreuer: Prof. Dr. Volker Sander 2. Betreuer: B. Sc. Sebastian Olscher.
LINUX II Unit 7 LAMP Server. LAMP ● Linux – Apache - MySQL – PHP ● Leistungsfähiges und kostenloses System zur Genrierung von dynamischen Webseiten und.
LLP DE-COMENIUS-CMP Dieses Projekt wurde mit Unterstützung der Europäischen Kommission finanziert. Die Verantwortung für den Inhalt dieser.
Magento in a Nutshell The Revolution of Open Source eCommerce? Ein Vortrag für die Berliner PHP Usergroup von Manuel Blechschmidt Apaxo GmbH.
Mailprotokolle Internet- Grundtechnologien Allgemeine Technologie II WS 08/09 2 Gliederung I.Aufbau einer II.Protokollarten III.Mailprotokolle.
Deutscher Perl Workshop 2014 PORF Practice
Konzeption und Aufbau einer interaktiven wissenschaftlichen Informationswebsite
FREE ICONS POWERPOINT TEMPLATE.
Einige Ideen für Module
The IT–Information System
OAuth 2.0 Ralf Hoffmann 03 / 2017
Camil Bartkowiak Serhat Cinar Leonardo Di Lella Jan Finsel
1.Event Queue.
amaroK Killerapplikation für Linux
XTM - CMS Content Management mit TopicMaps CMS No. 3 bei iVS
Prof. Dr.-Ing. Franz-Josef Behr Geodaten und Datenmodell
XTM - CMS Content Management mit TopicMaps CMS No. 3 bei iVS
IETF 80 Prague DISPATCH WG
1.
Julian Lebherz Betreuer: Thomas Büchner Christian Neubert
Unit 1 – Mein Leben zu Hause
OFFICE 365 FOCUS SESSION SHAREPOINT ONLINE 101:LERNE DIE BASICS 19. März 2018 Höhr-Grenzhausen.
- moodle – a internet based learning platform
Meeting on MSIS Geneva Ernst Schrey Head of Division IT-Userservice,
 Präsentation transkript:

Automatisierung und Integration von Request Tracker Systemen mittels REST-Schnittstelle Stefan Hornburg Perlworkshop 2008

split() ● Request Tracker ● REST-Schnittstelle ● Automatisierung ● Integration

Kunden ● Deutschland: ecoservice.de, Wegatrade ● Schweiz: cobolt.net ● Österreich: Embassy Vienna ● USA: WebHostNY, L&D Computer Consulting ●...

Organisation ● Projekte ● Aufgaben ● Arbeitszeit ● Übersicht ● Abrechnung ● History

Request Tracker ● Trouble Ticket System ● Erweiterbarkeit ● Schnittstellen ● Perl

Verteilte RT-Installation ● WebHostNY ● Embassy Vienna ● LinuXia: Hosting + Kunden ● L & D Computer ● ICDEVGROUP

Problemstellung ● fehlende Übersicht wegen verteilter Installation ● verschiedene Policys (Prioritäten)

Integration und Automatisierung ● Zusammenführung und Bewertung ● Automatisierung durch Schnittstellen

Request Tracker: Schnittstellen ● Web ● ● RT API ● REST

Representational State Transfer ● Ressourcen ● Adressierbarkeit ● Zustandslosigkeit ● Operationen – GET, POST, PUT, DELETE

Request Tracker: Ressourcen ● Tickets ● Queues ● Benutzer ● Benutzergruppen

Ressourcen und Aktionen ● list: Auflistung/Suche ● show: Anzeige von Eigenschaften ● create: Anlegen von Objekten ● edit: Bearbeitung von Objekten ● correspond ● comment

Realisierung ● Dokumentation Fehlanzeige => RTSL ● Kommandozeilentool /usr/bin/rt ● RTDEBUG=3 /usr/bin/rt ● LWP::UserAgent ● eigene Routinen zum Parsen

Kommandozeile I Neue Queue: $ rt create -t queue set name='Perl-Workshop' # Queue 4 created. Neues Ticket: $ rt create -t ticket set subject='Ausarbeitung des Vortrags' \ set queue='Perl-Workshop' # Ticket 11 created.

Kommandozeile II Ticket anzeigen: $ rt show ticket/11 -f id,subject,queue,requestors,owner id: ticket/11 Subject: Ausarbeitung des Vortrags Queue: Perl-Workshop Requestors: Owner: Nobody

Kommandozeile III Ticket bearbeiten: $ rt correspond -m 'Ausarbeitung ist fast fertig, siehe Anhang.' \ -a article_racke.tex ticket/11 # Message recorded

Aufbau der URI my ($uri, $user, $password); # URL der RT-Instanz $uri = ' $uri.= '/REST/1.0'; # Ressource $uri.= '/search/ticket'; # Authentifizierung $user = 'racke'; $password = 'nevairbe';

LWP::UserAgent use LWP::UserAgent; my ($ua, $req, $ua = new LWP::UserAgent(agent => 'Perlworkshop/10.0', env_proxy => 1); user => $username; pass => $password; $req = POST($uri, Content_Type => 'form- data'); $res = $ua->request($req)

Auswertung der Antwort ● HTTP-Header ● HTTP/ OK ● HTTP-Body ● RT-Header ● RT/ OK ● RT-Body

Beispiel RT-Antwort RT/ Ok id: user/22 Name: racke Address: RealName: Stefan Hornburg NickName: Racke

Verarbeitung RT-Antwort ● Kommentare ● Fortsetzungszeilen ● Listen von Objekten ● Attachments ● History

Integration mit Interchange ● Bugtracker für Interchange ● Businesstool

Interchange ● eCommerce- und Applikationsserver ● Perl ● Templatesprache ITL [total-cost] ● eingebettetes Perl [perl]..[/perl] ● Erweiterungen durch UserTags und Module

ITL: Usertags I UserTag rt Order function type id UserTag rt Routine <<EOR sub {.... return $content; } [rt show user racke] [perl] $Tag->rt('show', 'user', 'racke'); [/perl]

ITL: Usertags II UserTag rt AddAttr [rt function=list type=ticket queue=Perl- Workshop] UserTag rt HasEndTag [rt function=correspond id=12] Der Vortrag ist bald zu Ende. [/rt] [perl] $Tag->rt({function => 'correspond', id => 12, body => 'Der Vortrag ist bald zu Ende'}); [/perl]

Einbindung von Modulen require module Vend::RT UserTag rt MapRoutine Vend::RT::rt

Vend::RT package Vend::RT; use LWP; use use Vend::Config; use Vend::Tags; Vend::Config::parse_tag('UserTag', 'rt Order function type id'); Vend::Config::parse_tag('UserTag', 'rt AddAttr'); Vend::Config::parse_tag('UserTag', 'rt MapRoutine Vend::RT::rt'); Vend::Config::parse_tag('UserTag', 'rt HasEndTag'); sub rt { my ($function, $type, $id, $opts, $body)

REST-Konformität Zitat von Jesse Vincent: In my defense, when the REST interface got designed, everyone else on the planet was just starting to use SOAP and Roy Fielding barely published his definitions of what REST was. It wasn't well understood by anybody.

Ausblick ● Suche für alle Ressourcen ● strengere Einhaltung der REST-Kriterien ● Caching ● Einbindung anderer Ticketsysteme

Abspann Thanks !