Praktikum bei

Knorr + Partner

Unternehmen

  • Informatiker & IT-Consultants

  • ca. 10 Mitarbeiter

  • in Zirndorf

Vorteile

  • Gute Bezahlung
  • Flexible Arbeitszeiten
  • Kaum Termindruck
  • Nebenjobs nach Praktikum

Nachteile

  • Fahrtzeiten
  • trockene Themen
  • Chefentwickler in der Schweiz
  • Überstunden für Festangestellte

Mitarbeiter

Auftraggeber

Autobahndirektion Südbayern

Netzwerk-Technik

  • Installation & Wartung von ...
    • Datenakquise-Servern

    • Verkehrs-Sensoren

    • Datenbanken

Software-Entwicklung

  • SAB21 = Software zur ...
    • Berechnung von LKW-Routen
    • Visualisierung von Brücken etc.

Mein Job

  • Neue Technologien evaluieren
    1. Odysseus
    2. High Availability Cluster
    3. Selenium
  • Brücken per Javascript + SVG für SAB21-GUI visualisieren

Odysseus

  • Big Data Management Engine
  • Sensor-Streams in Echtzeit  analysieren und verarbeiten
  • Server + Client

Odysseus Studio

  • GUI-Client basierend auf Eclipse
  • Echtzeit-Anzeige von Streams
  • Generierung von Diagrammen
  • alternativ: mein Console Client

Odysseus Server

  • Konfiguration per CQL 
    • Continuous Query Language
  • Sources, Sinks, Queries
CREATE STREAM sensor_input (time STARTTIMESTAMP, sensor STRING, val INTEGER)
    WRAPPER 'GenericPush'
    PROTOCOL 'SizeByteBuffer'
    TRANSPORT 'NonBlockingTcp'
    DATAHANDLER 'Tuple'
    OPTIONS ( 'port' '65440', 'host' 'stream.example.com', 'ByteOrder' 'Little_Endian')


CREATE SINK sensor_output (sensor STRING, val INTEGER)
    WRAPPER 'GenericPush'
    PROTOCOL 'XML'
    TRANSPORT 'File'
    DATAHANDLER 'Tuple'
    OPTIONS ( 'filename' 'D:\output')


SELECT sensor, val
FROM sensor_input
WHERE val > 50

OSGi

  • Open Services Gateway initiative
  • Spezifikation eines Frameworks, in dem Bundles nur laufen, wenn Dependencies erfüllt
  • Beispiel: Eclipse Equinox

Server is down

Better drink

my own piss

High availability Cluster

  • keine Ausfallzeiten
  • kein Datenverlust
  • 2 Mirror-Server

Realisierung

  • 2x Ubuntu Server
  • Virtual Box
  • Vagrant
  • DRBD, Pacemaker, Corosync, etc.

Selenium

  • Vollautomatische GUI-Tests
  • Webdriver kann Mausklicks und Tippen simulieren
  • Selektion per ID, Text oder CSS-Selektor
  • bei mir: Tests in C# mit nUnit

one does not simply

write unit tests

Qooxdoo

  • Crossbrowser-HTML-GUI mit Javascript generieren
  • ...

Praktikum

By Jan Kleiss

Praktikum

  • 575