C++ im Web mit Tntnet



Ähnliche Dokumente
Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

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

Eine Open Source SSL VPN Lösung. Patrick Oettinger Deutsche Telekom AG 2. Ausbildungsjahr

Planung für Organisation und Technik

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

Entwurf und Realisierung von Online-Umfragen Entwurf und Realisierung von Online-Umfragen

Internet und WWW Übungen

Einführung in PHP. (mit Aufgaben)

> Mozilla Firefox 3. Browsereinstellungen optimieren. Übersicht. Stand Juli Seite. Inhalt. 1. Cache und Cookies löschen

Video-Tutorial: Einrichten einer Facebook Landing Page in der Facebook Chronik (Timeline)

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Präsentation Von Laura Baake und Janina Schwemer

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

Systemvoraussetzungen CustomX. Customer Relationship Management

Vorarlberger Standardschulinstallation Anbindung von Android Mobile Devices

Herzlich willkommen im Modul Web-Engineering

Korrekturen von Hand ausgeführt, per Post oder als Scan an Sie übermittelt.

Open Source GIS - das alternative geogovernment

Web-Programmierung (WPR)

Die Bürgermeister App. Mein Bürgermeister hört mich per App.

REGIONALES RECHENZENTRUM ERLANGEN [ RRZE] Datenbanken. RRZE-Campustreffen, Stefan Roas und Ali Güclü Ercin, RRZE

Daten in EPUB visualisieren und dynamisch aktualisieren

doubleslash Net-Business GmbH

Gliederung. 1. That s Radiant 2. User Interface 3. Rollen 4. Installation 5. Extensions 6. Fazit

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

VIP-Programm. Herzlich Willkommen!

Anforderungen an die HIS

Installation von horizont 4 bei Verwendung mehrerer Datenbanken

André Maurer Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

IAC-Programmierung HELP.BCFESITSIACPROG. Release 4.6C

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

Entwicklungen bei der Linux Clustersoftware

EIDAMO Webshop-Lösung - White Paper

RESTful Web. Representational State Transfer

Faclets. Eine alternative View Technologie um JSF Applikationen OHNE JSP zu entwickeln Wird unter java.net gehostet Open Source, CDDL Lizenz

1 Was ist das Mediencenter?

Installation Hardlockserver-Dongle

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Kap. 35 Swing: Grundlagen Kap Swing: Hauptfenster

2D22 Prinzipien der Softwareentwicklung. Prinzipien der Softwareentwicklung S. Strahringer 1

Hochverfügbare Virtualisierung mit Open Source

modern - sharp - elegant

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Kurzanweisung für Google Analytics

Datenbank-basierte Webserver

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

Inhaltsverzeichnis. Beschreibung. Hintergrund

Analyse zum Thema: Laufzeit von Support-Leistungen für ausgewählte Server OS

Webseiten sind keine Gemälde. Webstandards für ein besseres Web. Webstandards für ein besseres Web

Java Entwicklung für Embedded Devices Best & Worst Practices!

0. Einführung. C und C++ (CPP)

Installation des CMS-Systems Contao auf einem Windows-Rechner mit XAMPP

Python SVN-Revision 12

Kapitel 4. Einführung in den Scannergenerator Flex. Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9

Betriebshandbuch. MyInTouch Import Tool

Man liest sich: POP3/IMAP

Generatives Programmieren

IHREN BILDSCHIRM MIT STUDENTEN TEILEN, DIE SICH ÜBER EINEN BROWSER VERBINDEN

Lokale Installation von DotNetNuke 4 ohne IIS

Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem

Lehrveranstaltung Grundlagen von Datenbanken

Gesetzliche Aufbewahrungspflicht für s

Klausur Internetanwendungen, Seite 1 / 10 HS OWL, FB 7, Malte Wattenberg

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:

FL1 Hosting FAQ. FL1 Hosting FAQ. V1.0 (ersetzt alle früheren Versionen) Gültig ab: 18. Oktober Telecom Liechtenstein AG

:: Anleitung Hosting Server 1cloud.ch ::

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Algorithmen mit Python

Internetbasierte Mitfahrbörse als JOOMLA basierte Komponente

Applications Applets (eingeschränkte Rechte)

Xampp-Installation und Konfiguration. Stefan Maihack Dipl. Ing. (FH) Datum:

E-Learning-Content. E-Learning-Content wird von vielen Hochschullehrern in unterschiedlichstem Umfeld hergestellt

Was versteht man unter Softwaredokumentation?

KEIL software. Inhaltsverzeichnis UPDATE. 1. Wichtige Informationen 1.1. Welche Änderungen gibt es?

ERPaaS TM. In nur drei Minuten zur individuellen Lösung und maximaler Flexibilität.

Research Note zum Thema: Laufzeit von Support-Leistungen für Server OS

Inhaltsverzeichnis. Allgemein. Installationsvoraussetzungen

Kurze Zusammenfassung der verfügbaren Lizenzen

Erlernbarkeit. Einsatzbereich. Preis. Ausführungsort

Automatisches Beantworten von - Nachrichten mit einem Exchange Server-Konto

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Bluetooth Low Energy Demo mit dem Apple iphone 4s

kreativgeschoss.de Webhosting Accounts verwalten

U P T I M E products. SAP-Archivierung

Zugriff auf OWA Auf OWA kann über folgende URLs zugegriffen werden:

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand Copyright

WLGauge: : Web Link Gauge to Measure the Quality of External WWW Links. Andreas Lübcke

Transkript:

C++ im Web mit Tntnet Schneller und sicherer durch compilierten Code im Web Tommi Mäkitalo

Was ist Tntnet? Web-Applikations-Server Template-Sprache zum einbetten von C++ in HTML Seiten werden zur Compilezeit übersetzt keine Interpretation zur Laufzeit mehr 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)

Nachteile von C++ Entwicklung umständlich, da Compilerlauf notwendig Momentan weniger populär als z. B. Java Standardbibliothek nicht so umfangreich

Webapplikationen Deployment einfach skalierbar durch Client-Server-Architektur skalierbar durch nicht persistente Connections schlanke Clients

Webapplikationen: PHP interpretiert (langsam, grosser Resourcenverbrauch) einfach Sicherheit nicht optimal (Sourcecode und Interpreter auf dem Server verfügbar) populär, billige Hoster verfügbar

Webapplikationen: CGI CGI mit Perl langsam, da für jeden Request Prozess gestartet werden muß umständlich, da keine Templates CPAN hilfreich Template-engines verfügbar CGI mit C oder C++ auch nicht viel schneller

Webapplikationen: Java recht schnell Speicherintensiv Templates mit JSP verfügbar Mainstream Deployment gut gelöst (JAR/WAR) Java als Sprache eingeschränkt propriätär, instabile Spezifikation

Webapplikationen: Tntnet Tntnet verbindet C++ mit dem Web Applikationen sind compilert, 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- und Applicationscope für beliebige C++-Objekte mit automatischen locking Komponentenorientierte Entwicklung Request-paramter 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

Nachteile von Tntnet fehlerhafte Applikationen bringen Server zum Absturz Monitorprozeß überwacht Arbeiterprozeß Zwingt Programmierer zu sauberen Code Proprietär, aber Investitionsschutz durch Open- Source keine weite Verbreitung (noch?)

Funktionsweise Browser HTTP-Request Tntnet Urlmapper Komponente

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

Schnellstart tntnet-config project=app cd app make tntnet tntnet.conf http://localhost:8000/app logging über tntnet.properties

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

die wichtigsten Tags <$...$> Ausgabe eines C++- Ausdrucks <{...}> C++-Verarbeitungsblock <%args>...</%args> Formular-Parameter <%pre>...</%pre> für #include-direktiven <& component > Komponentenaufruf <#...#> Kommentar

Hilfreiche Bibliotheken Tntdb Bibliothek zum Zugriff auf Datenbanken Datenbankunabhängig Treiber für Sqlite3, Postgresql und Mysql Tntpdf Erstellung von einfachen PDFs sehr schnell eingeschränkte Features, nur einfache Text-PDFs (momentan)

Kontakt http://www.tntnet.org/ E-Mail: tommi@tntnet.org Mailingliste: tntnet-general@lists.sourceforge.net

Fragen?