Michael Veigel. Produktentwicklung unter Linux - von der Entscheidungsfindung bis zur Marktreife

Ähnliche Dokumente
MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

> Soft.ZIV. Maple Mathematisches Software System

AbaWeb Treuhand. Hüsser Gmür + Partner AG 30. Oktober 2008

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

PlaceCam 3. Die Videokonferenzsoftware für Windows und Mac OS X. Jürgen Völkel Vertrieb daviko GmbH

eridea AG Installation Eclipse V 1.4

Informationen zur Verwendung von Visual Studio und cmake

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation.

Anleitung zum GUI Version 2.x

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Netzwerk Management Potentielle Systemausfälle bereiten Ihnen Sorgen?

Objektorientiertes Programmieren mit Suse Linux

Worum geht es in diesem Projekt?

Linux Embedded. Heimo Schön/August Hörandl 11/2004 Seite 1/17

Der Einsatz von Open-Source-Produkten im Unternehmen, dargestellt am Beispiel von OpenOffice

tubit Live eine komplette Studierendenumgebung to Go T. Hildmann, C. Ritter und N. Suhl tubit Technische Universität Berlin Hochschule 2025

Installations Guide für YAJSW und DTLDAP

Virtuelle Entwicklungsarbeitsplätze und Linux

DAS SIND WIR. Kronthalerstraße Königstein phone +49 (0) fax +49 (0) mail web nolinkup.

Erläuterung des technischen Hintergrundes des neues RIWA GIS-Zentrums

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Herbstsemester cs106 Informatiklabor Teil 4: Partitionierung & Linux Installation. P.Huber@stud.unibas.ch

Sie können diesen Service verwenden, um fast beliebig große Dateien auch über 2 GB zu versenden.

ObjectBridge Java Edition

ERGOcom 3. Möglichkeiten zur Anbindung an den PC

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden.

Übungen zu Grundlagen der Informatik I WS 2004/05

Christian Kühnel, BMW Group AGILE ENTWICKLUNG VON FAHRERASSISTENZSOFTWARE. AGILE CARS 2014.

Präsentation Von Laura Baake und Janina Schwemer

Info-Veranstaltung zur Erstellung von Zertifikaten

Installation der SAS Foundation Software auf Windows

Software Release Notes

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

Erste Schritte mit

PayPal PLUS für Shopware

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Bewegliche Ziele Entwicklungsumgebungen für Pocket PCs und Smartphones

Referenz-Konfiguration für IP Office Server. IP Office 8.1

Installation von NetBeans inkl. Glassfish Anwendungs-Server

1 Planung Migration UNIMOD collect (=neues Release

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Funktionsdaten Editor Kurzanleitung

CADEMIA: Einrichtung Ihres Computers unter Mac OS X

Anleitung für Zugriff auf SHV-Systeme mit RDS auf Terminal-Server

Automatisierte Erstellung von Software-Builds und -dokumentationen. Teil 1

Reporting Services und SharePoint 2010 Teil 1

Anleitung Migration Dr. Tax 2.0 -> Dr. Tax Office 3.0. Office 3.0

So geht s Schritt-für-Schritt-Anleitung

Tritt beim Aufruf ein Fehler aus, so wird eine MessageBox mit dem Fehlercode und der Kommandozeile angezeigt.

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)

Dieses Dokument soll dem Administrator helfen, die ENiQ-Software als Client auf dem Zielrechner zu installieren und zu konfigurieren.

Kapitel 6,»Objektorientierte Programmierung«, widmet sich der objektorientierten Programmierung mit Python.

Datenschutzerklärung:

Dokumentenverwaltung im Internet

Faxserver und Anrufbeantworter unter Linux mit Java Clientsoftware. Ingo Göppert

1. Produktstruktur Lizenzmodell... 4

P-touch Transfer Manager verwenden

Microsoft SharePoint 2013 Designer

USB-ZU-SERIELL-KONVERTER

FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER

teamsync Kurzanleitung

NetMan Desktop Manager Vorbereitung und Konfiguration des Terminalservers

Open Source Einsatz in der Stadt Wien

Sie haben diese Daten auch mobil dabei und synchron auf anderen Geräten! Sie haben eine Sicherheitskopie dieser Belege in einem Cloud-Speicher.

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace.

I N S T A L L A T I O N S A N L E I T U N G

Muthesius Kunsthochschule EDV-Zentrum. WLAN- Gebrauchsanweisung PC. von Bernd Papenfuß

NODELOCKED LIZENZ generieren (ab ST4)

APPLIKATIONEN ERSTELLEN UND VERWALTEN MIT DEM BLACKBERRY ENTERPRISE SERVER FOR LOTUS DOMINO (DBES 4.1)

Benutzerhandbuch DesignMaster II

MC-Hx 006. Einbindung des MC-Hx Modul als MODBus TCP Slave. MB DataTec GmbH. Stand:

Gebrauchsanleitung. für Excel-TWSv1,3.xls Martin (feb2006)

Fachapplikationen in heterogenen IT Landschaften

Inhaltsverzeichnis. 2.2 Grundlagen der UML Zusammenfassung... 53

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT

ICS-Addin. Benutzerhandbuch. Version: 1.0

TECHNISCHE DOKUMENTATION ZUM TURBO-FREEZER XL 3 & XE 1

Die in diesem Handbuch wiedergegebenen Angaben gelten uneingeschränkt nu r für die jeweils aktuelle Version des smart9/cosys9-betriebssystems.

ATHOS Benutzertreffen

Herstellererklärung Sign Live! CC 4.2 IS-SIGNLIVECC-4.2 N1. Nachtrag 1. zur Herstellererklärung des Produktes Sign Live! CC 4.2 vom

MOC 50466A: Windows Azure-Lösungen mit Microsoft Visual Studio 2010

JPC Visualisierung in Java

Anleitung. Lesezugriff auf die App CHARLY Termine unter Android Stand:

Einführung zum Arbeiten mit Microsoft Visual C Express Edition

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen

WinVetpro im Betriebsmodus Laptop

JetSym. Programmierung in Hochsprache ST nach IEC We automate your success.

Bildquelle:

Thermoguard. Thermoguard CIM Custom Integration Module Version 2.70

QTrade GmbH Landshuter Allee München Seite 1

Perforce-User-Group 11/2003. Perforce bei TUI InfoTec. 28. November 2003 Ralf Oyen

1) Farbsteuergerät in der Nikobus-Software unter Modul zufügen hinzufügen.

Electronic Systems GmbH & Co. KG

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

Günstiger Einstieg in die Beleglose Kommissionierung

Transkript:

Michael Veigel Produktentwicklung unter Linux - von der Entscheidungsfindung bis zur Marktreife Seite 1 / 21

Gliederung NetCam Solutions Das Produkt Ausgangssituation Entscheidung für Linux Werkzeuge Zwei Jahre danach Ausblick Quellen Noch Fragen? Seite 2 / 21

- ein kurzer Überlick O Videolösungen O Eventübertragung O Überwachung O Beratung O Möglichkeiten O Technische Umsetzung O Technische Detaillösungen O Spezial Applikationen Seite 3 / 21

Das Produkt - Anforderungen O Direkte Steuerung der Kamera O LIVE! O Bezahlbare Lösungen für kleine und mittlere Unternehmen O Schlank und schnell installierbar O Optimale Lösungen auch bei schmalbandiger Anbindung O Fernwartungs- und Analysemöglichkeiten O Unkomplizierte Updatemöglichkeit O Skalierbarkeit vom PC zum Embedded-System Seite 4 / 21

Das Produkt - Technische Vorraussetzungen O Geringe Latenzzeiten O Effektives Multitasking O Überwachung des Datentransfers O Abfrage der Verbindungspuffer O Gute Hardwareausnutzung O GUI nicht zwingend nötig O Portierbarkeit auf unterschiedliche Hardware O System muß auf allen Platformen gleich sein O (Logging zur Fehleranalyse) Seite 5 / 21

Ausgangssituation - Die Produktidee O Kamerasteuerung O Übermitteln der Steuerdaten O Universell anwendbar O Einfache Handhabung O Konfiguration über den Client O Schnelle und einfache Installation O Batch Installation O Pakete O Remote Installation Seite 6 / 21

Ausgangssituation - Prototyp unter VB O Single Threaded O Sequentielle Abarbeitung : Empfangen / Decodieren / Anzeigen O 1 Client / 1 Server O Lead Tools als Transportschicht O Über ActiveX - Wrapper O Geringe Kontrollmöglichkeiten über den Datenversand O Keine Objektorientierte Programmierung O Server & Client in Visual Basic(TM) Seite 7 / 21

Ausgangssituation - Grenzen der Windows / VB-Entwicklung O Zuviel Overhead bei den Lead Tools O Timing nicht zeitnah genug O Keine weiteren Kontrollmöglichkeiten über die Verbindung O Zu geringe Ausführungsgeschwindigkeit O Hohe Grundlast des Systems O Starke Abhängigkeit der System-Gesamtlast O Preview des Servers muß sichtbar sein O Feature des ActiveX Capture Controls O Probleme mit einfachen Datentypen O Übergabe von komprimierten Bildern nur über das Dateisystem O VB / Windows muß vorhanden sein Seite 8 / 21

Ausgangssituation - Anforderungen an die Entwicklungsumgebung O Programmiersprache auf allen Plattformen vorhanden O Multithreading O Minimieren der Latenzzeiten O Schnellere Reaktion auf verschiedene Events O Objektorientierung O Einfachere Programmwartung O Bessere Strukturierungsmöglichkeiten O Geringe Anlaufkosten O IDE O Tools O Grafischer Editor / Debugger O Betriebssystemtools zur Anzeige von Verbindungen, Speicher etc. Seite 9 / 21

Entscheidung für Linux - Programmierung O Offene Quellen O Nachvollziehen der Vorgänge auf Sourcecodeebene O Entwicklerkommentare O Systemnahe Programmierung möglich O Einfache Abfrage von Systemzuständen ( ioctl ) O Posix - Unterstützung O Kostengünstige Tools O Einfacher Test möglich, geringe Anlaufzeit O Plattformübergreifendes GUI mit QT O Unterstützung verschiedener Plattformen O 1 Source - Prinzip Seite 10 / 21

Entscheidung für Linux - Dokumentation O Alle Aufrufe dokumentiert O Man - pages zu Systemaufrufen O Dokumentation im Kerneltree O Wenn keine Man - Page vorhanden -> siehe unten O Quellcode vorhanden ( zusätzliche Hinweise ) O Übergabeparameter O Rückgabewerte nachvollziehbar O Entwicklerkommentare O Einfache Beispiele im Web O Bequeme suche z.b. über Google etc. O Homepages der einzelnen Programme O Dokumentation auf das wesentliche beschränkt O (Manchmal zu) Kurz und prägnant zum Ziel Seite 11 / 21

Entscheidung für Linux - Technik O Modularer Kernel O Eigene Module, wo direkter Hardwarezugriff nötig O Skalierbar auf verschiedene Systeme O Vom Embedded System bis zum PC O Stabilität O Wenn Probleme, dann bei Hardware oder dem Programm suchen O Ausreichende Treiberunterstützung O Hardwareauswahl einfacher O Rechteverwaltung O Schutz und Sicherheit des Systems O Alle nötigen Tools vorhanden O Fernwartungsmöglichkeit Seite 12 / 21

Entscheidung für Linux - Kosten O Geringe Startkosten O Schneller Start, da alle Programme und Dokumentationen verfügbar O Keine Lizenzkosten O Beliebig viele Entwicklerrechner O Keine zusätzlichen Kosten bei Testsystemen O Keine zusätzlichen Kosten bei Produktionssystemen O Einfache Replizierbarkeit O Schnellerer Produktionsprozess O Geringere Produktionskosten Seite 13 / 21

Werkzeuge - Zur Entwicklung O Kdevelop und gcc O Grafische IDE O CVS -/ Makefile Unterstützung O Integrierter Grafischer Debugger O Integration von QT O STL O Allgemein verfügbar O Gute Dokumentation O QT O Lizenzkosten bedenken O Permanente Weiterentwicklung, neue OS-Unterstützung O Visual C++ O Lizenzkosten bedenken O Gute Windowsintegration Seite 14 / 21

Werkzeuge - Kosten O QT - Lizenz für Linux / Windows / Mac O Separate Lizenz für jedes System O Pro Entwicklerarbeitsplatz O Visual C++ Lizenz O Minimalversion genügt normalerweise O Bücher zum Thema O Die C++ Standardbibliothek O KDE- und QT-Programmierung O Linux Kernelprogrammierung O MFC Programmierung O Unix Device Drivers O... O Sonstiges ( Hardware, OS... ) Seite 15 / 21

Zwei Jahre danach - Vorgehensweise O Neue Features für alle Systeme planen O Grundschema erstellen O Literatur wälzen O Gründlich planen O Nur plattformübergreifende Bibliotheken verwenden O Verzicht auf ATL, MFC und sonstige exklusive Bibliotheken O Basisentwicklung unter Linux(TM) O Entwicklung vom offenen System zum geschlossenen O Java - Entwicklung unter Windows(TM) O Schnellere Virtual Machine / Mehr Browser O Die meisten Clients laufen unter Windows O Anschließende Portierung auf Windows(TM) O Performance Tuning Seite 16 / 21

Zwei Jahre danach - Bekannte Probleme O Namespaces O Immer angeben O Systemspezifische Headerdateien O Präprozessor O Stdafx O Präprozessor O Threads O QT - Thread und/oder Wrapper Class Seite 17 / 21

Parallele Entwicklung unter Linux und Windows O Wrapper für Systemspezifische Funktionen O Kleinste Basis, viel Erweiterungsmöglichkeiten O Schlank halten O Wenig Hirarchiestufen ( Performance ) O QT für das GUI O Nicht GUI Funktionen wenn möglich / sinnvoll extra implementieren O Nur auf allen Systemen verfügbare Bibliotheken verwenden O Man kann es nicht oft genug sagen! Seite 18 / 21

Quellen - Internet - Linux : www.linux.org - Windows : www.microsoft.com - KDevelop : www.kdevelop.org - Kde : www.kde.org - Linux-Kernel : ftp.kernel.org - QT : www.trolltech.com - Embedded Systeme : www.embedded-linux.de Seite 19 / 21

Quellen - Bücher C++ Einführung und Leitfaden : ISBN 3-89319-375-8 Effektiv C++ programmieren : ISBN 3-89319-816-4 Die C++ - Standardbibliothek : ISBN 3-8273-1023-7 KDE- und Qt-Programmierung : ISBN 3-8273-1477-1 Linux Kernelprogrammierung : ISBN 3-8273-1476-3 Linux Multimedia Guide : ISBN 1-56592-219-0 Netzwerkprogrammierung unter Unix/Linux : ISBN 3-446-21093-8 Unix Device Driver : ISBN 3-89319-229-8 DirectX-Programmierung mit Visual C++ : ISBN 3-8273-1389-9 DirectX, RDX, RSX and MMX Technology : ISBN 0-201-30944-0 (Erweiterungen im Web lesen! ) Seite 20 / 21

Fragen? Ansonsten und Jederzeit: michael.veigel@netcam-solutions.de http://www.netcam-solutions.de Seite 21 / 21