Tntnet auf FreeWRT – die Geburt einer Weboberfläche in C++ Tommi Mäkitalo.

Slides:



Advertisements
Ähnliche Präsentationen
GWT - google Web Toolkit
Advertisements

Semesterarbeit von Dieter Lorenz, Sebastian Galenski, Stephan Bury
Allegro im Web ab acwww25 (1996) Dierk Höppner Perl Konventionelle CGI-Anwendung mit mehreren Skripten HTML wird aus Perl heraus erzeugt Individuelles.
© 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice HP Web Jetadmin.
für das Schulnetz der BS Roth
VR Framework mit Gestenerkennung
Content Management Systeme
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Simon Georg Pinkel Alice Server Pages Funktionale Programmierung und das Web.
Web 3.0 – Programmierung – Semantic Web / CIDOC CRM
1A: POSIX POSIX (Portable Operating System) ist ein Standard für UNIX-Systeme. Er dient dazu, Programme portabel unter UNIX und Derivaten zu tauschen und.
Webserver, © Till Hänisch 2002 Apache The open way.
Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden
Tomcat (I) Ende 1999 Jakarta-Projekt von Apache, IBM und Sun gegründet
Introducing the .NET Framework
WhatsUp Gold
Einführung in Visual C++
NetUSE Web Application Framework Kai Voigt NetUSE AG 28. Februar 2003.
Ein mobiler OPAC auf Basis des Produktivsystems Andreas Neumann · D - IT March 10.
Web-Anwendungsentwicklung à la MVC. Übersicht Über Georg Heeg Ein industrielles Beispiel Web-Anwendungen aus Smalltalker-Sicht MVC für das Web Programmierdemo.
PHP Pakete und Beispiele Webengineering Robert Lemke.
Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein:
Einführung Servlets/JSPs
MS Excel, Open-/LibreOffice Calc Die Menüs I Office-Logo (Excel2007) bzw. Datei (andere): die Standard-Datei- und Druckoperationen; bei MS Excel hier auch.
Learning By Doing Thema 1: Dynamische Webseiten und Online Datenbanken (Jarka Arnold) Thema 2: Simulationen, Sound, Schnittstellen (Aegidius Plüss) Thema.
Einführung in die Programmiersprache Java
LearningApp Videoeinführung starten Digitale, interaktive und multimediale Lernbausteine selbst gestalten …
PPS-Design einer eigenen WWW-Homepage SS 2003 Applets.
Wie kommt Facebook in mein Wohnzimmer?. HTML Sprache zum formatieren von Text Nur TEXT!
Systemaufbau / Komponenten
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Bedeutung von Internet-Technologien
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
Jonas Rüttimann 2. Juni Motivation Was ist RAP? Schnellstart: Wir bringen RAP zum Laufen! Technologie: Wie funktioniert RAP? Konsequenzen für die.
Programmieren ... in C++ Prof. Dr.-Ing. Franz-Josef Behr, HfT Stuttgart Programmeiren I.
Dedizierte Systeme Typo3 Installation Dedizierte Systeme – Typo3 Installation – Christoph Stollwerk IT Zertifikat der Philosophischen Fakultät WS 2008/2009.
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
1 Wolfgang Wiese, Regionales RechenZentrum Erlangen WCMS 3. August 2000 Wolfgang Wiese RRZE / Lehrstuhl für Informatik VII
Webserver, Apache und XAMPP
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
J2EE-Motivation(I) Anforderungen an heutige Software u.a.:
Das Internet Ein Netzwerk, das viele Rechner miteinander verbindet
1 JavaServer Pages Stephan Baldes JavaServer Pages Einführung
© 2010 | magellan netzwerke GmbH Application Delivery und Virtualisierung Referent Dipl.-Ing. Sven Müller.
Programmierung unter VB.Net mit der IDE VisualStudio. Schritt für Schritt erklärt und beschrieben. Zielgruppe: Komplette Neueinsteiger mit fundiertem Computerwissen.
JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt.
Dynamische Webseiten CGI & co. © CGI - Lösung für alle ? Ja CGI kann alles tun, was man für Anwendungen braucht flexibel (beliebige.
Projektvorstellung im Kurs „Praktisches Linux“, WS 2007/2008.
LINUX II Unit 7 LAMP Server. LAMP ● Linux – Apache - MySQL – PHP ● Leistungsfähiges und kostenloses System zur Genrierung von dynamischen Webseiten und.
PHPUG Karlsruhe 1. Juli 2009 Zend_ProgressBar und Zend_Tag_Cloud Ben Scholzen Software Entwickler DASPRiD's.
Erstellung performanter Webapplikationen mit Tntnet Schneller und sicherer durch compilierten Code im Web Tommi Mäkitalo.
Einführung in AspectJ ● Inhalt: 1)Überblick 2)Elemente des crosscuttings in AspectJ 3)„Hello World“ in AspectJ 4)Wie Aspekte in Java verwoben werden 5)Join.
Deutscher Perl Workshop 2014 PORF Practice
ein kurze Geschichte über Linux
Google App Engine - Technische Stärken und Schwächen
Regionale Lehrerfortbildung
Schnelle PHP-Webapplikationen mit Booosta 3.0
Das IT - Informationssystem
UB - Wiki Nutzung von Wiki-Systemen in der Universitätsbibliothek Rostock März 2006 UB / Abt. IuK /
Jakarta Struts Quasi-Standard für JSP-basierte Entwicklung: Jakarta Struts Key Features von Struts: Implementierung des Action-Command-Pattern („Model.
Apache The open way.
Präsentation Team 3.
Ein kleiner (Ein|Über)blick
1.
GroupLink’s everything HelpDesk® im Einsatz bei der Inform GmbH
Von Oracle Reports zum BI Publisher
XINFO HORIZONT Überblick zu XINFO Software for Datacenters
Ein kurzer Überblick Thomas Karp
Objektorientierte Programmierung
 Präsentation transkript:

Tntnet auf FreeWRT – die Geburt einer Weboberfläche in C++ Tommi Mäkitalo

Inhalt ● Vorstellung Tntnet ● Vorstellung FreeWRT ● Portierung ● Lifedemo

Was ist Tntnet? ● Web-Applikations-Server ● Template-Sprache zum einbetten von C++ in HTML ● Seiten werden zur Compilezeit übersetzt ● keine Interpretation zur Laufzeit erforderlich ● eigenständiger Server

Warum C++ ● Ausgereifte Sprache mit großem Funktionsumfang (Klassen, Templates, Destruktoren...) ● Schnelle und kompakte Programme ● ANSI-Standard (Investitionsschutz) ● Bewährt ● Stabil (nicht jedes Jahr neue oder geänderte Features)

Webapplikationen: Tntnet ● Tntnet verbindet C++ mit dem Web ● Applikationen sind compiliert, daher schnell, sicher und kompakt ● Der Content wird grundsätzlich mit Templates erstellt (ecpp) ● C++-Klassen und -Bibliotheken uneingeschränkt nutzbar ● portabler Sourcecode verfügbar

Tntnet - Technik ● standalone Webengine ● multithreaded (skalierbar) ● persistente Applikationen ● optimierter C++-Code ● kompakt ● automatische Http-Komprimierung ● SSL-Unterstützung (gnutls, openssl)

Features ● automatisches Sessionmanagement ● Session-, Request-, Application- und Threadscope für beliebige C++-Objekte mit automatischen locking ● Komponentenorientierte Entwicklung ● Request-parameter werden geparst ● File-upload, Cookies, i18n,...

Features (2) ● Grafiken und andere Binärdaten können mit compiliert werden ● Compiler oder Interpreter auf dem Server nicht notwendig ● Fehlerbehandlung durch exceptions ● portabel durch die Verwendung von Standard- C++ (Linux, Unix) ● Logging

Features (3) ● Automatisches HTML-encoding ● savepoint: nehme Ausgabe im Fehlerfall bis zu einem sicheren Punkt zurück, um vollständige HTML-Seiten zu erhalten

FreeWRT ● Linux-Distribution für embedded Systeme ●

FreeWRT ● Paketmanagement über ipkg ● Konfiguration über Kommandozeile ● Crosscompile

FreeWRT - Anwendungsgebiete ● Router ● VPN-Endpoint ● Musikserver ● Telefonanlage ●... (alles, was Linux hergibt)

Portierung von Tntnet auf FreeWRT ● Start am Linux-Tag in Chemnitz 4. März 2007 ● uClibc++ – buggy – viele Patches auch an upstream ● Tntnet läuft, Portierung ist noch nicht endgültig abgeschlossen

Tntnet auf FreeWRT ● Tntnet schnell auch mit schwacher CPU (bis zu 300#/sec) ● Pläne für Konfigurationsoberfläche – modular – einfach erweiterbar durch Definition von Konfigurationsvariablen oder Plugins ● Ergebnisse in laufe der nächsten Monate

Funktionsweise Tntnet Browser Tntnet Komponente MapUrl ^/blah$

Entwicklung von Applikationen Ecpp-Komponenten *.cpp C++-Klassen *.o *.so Bibliotheken } Makefile

Beispiel ● vi mycomp.ecpp ● make ● scp mylib.so ● ssh ● tntnet

Demos ● Vorführung einiger Demo-Anwendungen – hello – calc – calcmvc – calcajax ● Kurzübersicht über die weiteren Demos

die wichtigsten Tags Ausgabe eines C++-Ausdrucks C++-Verarbeitungsblock... Formular-Parameter... für #include-Direktiven Komponentenaufruf Kommenta r

Kontakt ● ● ● ● IRC: freenode #tntnet, #freewrt