SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Skriptsprachen
HTML, JavaScript & Co

Eine kurze Einführung und Übersicht
Inhalt
   HTML
   JavaScript
   Ajax
   CGI
   Perl
   PHP
   ASP
   ASP.net

                          2 of 58
HTML
   Seit 1990, aktuelle Version HTML 4.01
   baut auf HTTP auf
   keine Programmiersprache,
    sondern Datenbeschreibungs-
    sprache
     META-Sprache
   unterschiedliche Darstellung in verschiedenen
    Browsern

                                              3 of 58
CSS
   Seit 1996, aktuelle Version 2.0
   optische Gestaltung eines HTML-
    Dokumentes
   verwendet Formatvorlagen
   Beispiel: h2 {color:#0000FF;}
   zentrale Formatierung
   verschiedene Darstellung in verschiedenen
    Browsern

                                                4 of 58
XHTML
   Seit 2000, aktuelle Version 1.0
   Kombination aus HTML und XML
   Tags aus HTML wurden übernommen
   Tags sind case sensitiv, Regeln kommen von
    XML




                                             5 of 58
DHTML
   Kombination aus Java Script bzw.
    Skriptsprachen und HTML
   Ermöglicht die dynamische Änderung und
    dynamischen Aufbau einer HTML-Seite
   Beispiel: ausklappbare Navigationsleiste




                                               6 of 58
JavaScript
Eine kurze Einführung
JavaScript


   Seit 1995, aktuelle Version 1.5
   clientseitige Scriptsprache
     Programme werden vom Browser interpretiert
        und ausgeführt
   Plattformunabhängig, Browserabhängig
   Einsatz nur im Internet möglich



                                              8 of 58
Formularüberprüfung mit JavaScript
<SCRIPT><!--
 function pruefen() {
     var f = document.forms[0];
     var fehler = "“; //enthält die Bezeichnungen der nichtausgefüllten Felder
     // Überprüfung auf vollständige Ausfüllung
     if (f.Name.value=="") fehler += "Name";
      // Gegebenenfalls Fehlermeldung
     if (fehler != "") {
           var fehlertext =
           "Die folgenden Felder wurden nicht vollständig ausgefüllt:";
           fehlertext += fehler;
           alert(fehlertext);
           return false;
      }                                  <FORM ACTION="/cgi-bin/skript"
      return true;                       onSubmit="return pruefen()">
 }                                       Name:
//--></SCRIPT>                           <INPUT TYPE="TEXT" NAME="Name" />
                                         <INPUT TYPE="SUBMIT" VALUE="Absenden">
                                         </FORM>
                                                                        9 of 58
Ajax
Eine kurze Einführung
AJAX Überblick

   Seit Februar 2005
   keine neue Technologie, früher XML HTTP-Request
   Interaktive, Desktop-ähnliche Web-Anwendungen
   HTML-Seite wird bei HTTP-Protollanfrage nicht
    jedesmal neu geladen
   Teile einer HTML-Seite werden dynamisch
    nachgeladen
   Asynchrone Datenübertragung


                                                11 of 58
AJAX asynchrone Übertragung




                              12 of 58
AJAX – How it works




                      13 of 58
AJAX Beispiel
Schritt 1: XMLHTTPRequest-Object instanzieren
für IE:
      xmlHttp = new ActiveXObject "Microsoft.XMLHTTP" );
      xmlHttp = new ActiveXObject( "Msxml2.XMLHTTP.3.0"); // current versions: 3.0, 4.0, 5.0
für Mozilla:
      xmlHttp = new XMLHttpRequest();

Schritt 2: Request an den Server senden
if (req) {
       req.onreadystatechange = ResponseHandler;
       req.open(GET,url,true);
       req.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");
       req.send(send Data);
}

Schritt 3: Antwort des Servers verarbeiten (Response Handler)
if (req.readyState == 4)
        {
          if (req.status == 200)
           {
     data=req.responseText;
   }
}

                                                                                          14 of 58
AJAX – Vor- und Nachteile
Vorteile:
 HTML-Seite wird nicht komplett neu geladen

 schnellere Reaktion auf Benutzereingaben

 keine Übertragung von redundanten Informationen



Nachteile:
 Latenzzeit

 JavaScript muss aktiviert sein

 Beschränkungen durch HTTP


                                               15 of 58
Inhalt
   HTML
   JavaScript
   Ajax
   CGI
   Perl
   PHP
   ASP
   ASP.net

                          16 of 58
CGI
Grundlagen der Technologie
Was ist CGI
   Common Gateway Interface - Allgemeine
    Vermittlungsrechner-Schnittstelle
   Keine Skriptsprache
   Serverseitige Programmierschnittstelle
   Erlaubt Zugriff auf Programme und Skripte im Web
   CGI Skriptsprachen:
       Perl, C, Pascal, Visual Basic, Fortran, Dos Batch, Unix
        Shell Script, …



                                                              18 of 58
Aufruf von CGI-Skripten
   Formular
       <form action="/cgi-bin/guestbook.pl" method="get">
   Referenz
       <a href="/cgi-bin/statistik.pl">
   Grafikreferenz
       <img src="/cgi-bin/counter.pl">
   Server Side Include (SSI)
       <!--#exec cgi="/cgi-bin/counter.pl" -->
   Automatisches Laden (Forwarding)
       <meta http-equiv="refresh" content="0; URL=/cgi-bin/welcome.pl">


                                                                    19 of 58
Ablauf




         20 of 58
Perl
Eine kurze Einführung
Anforderungen
   Webserver für CGI
       www.apache.org
   Perl-Interpreter
       www.perl.org
   Editor
       OptiPerl (www.optiperl.com)
       wordpad…



                                      22 of 58
Aufbau einer Perl Datei
   Perl-Dateien enden i.d.R mit .pl
   Beginnen mit Shebang-Zeile #!/usr/bin/perl
   Variablen:
       global $var,
       lokal my $var
       Arrays @var[0]
   Bedingungen: if, elseif, else, unless
   Schleifen: while, until, do-while, do-until, for, foreach
   Programmsteuerung: continue, goto, last, next, redo
   C-Ähnliche Notationen und Arbeitsweise


                                                                23 of 58
Beispiel Hello World
#!/usr/local/bin/perl
$var = "Hello Worldn";
print "Mein erstes Script: $var";




                          Mein erstes Script: Hello World




                                                            24 of 58
Beispiel Email Validierung
<form action="http://www.adresse.de/cgi-bin/validator.pl" method="post">
    Adresse: <INPUT NAME="email" TYPE="TEXT" COLS=30 ALIGN=left>
    <input type="submit">
</form>

$mail = $FORM{'email'};
if ($mail =~ /(@.*@)|(..)|(@.)|(.@)|(^.)/ ||
$mail !~ /^.+@([?)[a-zA-Z0-9-.]+.([a-zA-Z]{2,3}|[0-9]{1,3})(]?)$/)
{
   print “Ungültige email-Adresse!n";
   exit;
}
else { print "Alles ok!n";}

                                               Ungültige email-Adresse!


                                                                           25 of 58
Was sind die Stärken
   Unterstützung vieler Plattformen
   Browserkompatibel
   Strukturierungsmechanismen
       objektorientiert
   Enormer Sprachumfang
       Integriert gesamten UNIX-Werkzeugkasten
   Reguläre Ausdrücke in Luxus-Version
   Hohe Performance

                                                  26 of 58
Was sind die Schwächen
   Knappe Codeanweisungen möglich
       Gefahr der Unlesbarkeit
   Sprachumfang schwer überschaubar
   Hohe Rechenbelastung des Server-Systems
   Schlechte Ausnutzung des Client-Systems
   Langsame Interaktion
       Jede Benutzeraktion muss über das Netz
        kommunizieren

                                                 27 of 58
Links
   Perl Seite: www.perl.org
   Referenz-Buch: Programming Perl, 3rd Edition
    von Larry Wall (dem Entwickler von Perl)




                                             28 of 58
Inhalt
   HTML
   JavaScript
   Ajax
   CGI
   Perl
   PHP
   ASP
   ASP.net

                          29 of 58
PHP
Eine kurze Einführung
Anforderungen und Installation
   Vorraussetzung:
       Web-Server mit PHP-Modul
   Webserver und Betriebssystem:
     Sehr viele (Alle…)
     Bekannteste Verbreitung: LAMP und WAMP
      (Linux Apache MySQL PHP, Windows …)
   Hoher
    Verbreitungsgrad:
Domains: 22172983
IP-Adr.: 1277375


                                               31 of 58
Verarbeitung einer Abfrage
                                                      Quelle: Wikipedia




  1) Anfrage von Client einer PHP-Seite mit Server
  2) Datei wird vom Webserver geladen
  3) Übergabe der Datei an den PHP-Interpreter
  4) Parsen der Datei und erzeugen der Ausgabe
  5) Rückgabe der Ausgabe an den Webserver
  6) Ausgabe wird von Webserver an Client geschickt
                                                          32 of 58
Aufbau PHP-Datei
   PHP-Dateien enden i.d.R mit .php
   „<?php“ oder „<?“ markieren den Anfang,
    „php?>“ oder „?>“ das Ende eines Codeteil
   Unmarkierte Blöcke werden nicht interpretiert
   Variablen: $var, Arrays: $var[0]
   C-Ähnliche Notationen und Arbeitsweise
   Prozedurale Scriptsprache



                                                    33 of 58
Beispiel Hallo Welt
<div style=“color: red; font-size: 40px;“>
<?php
    $mein_string = ‘Hallo Welt‘;
    echo $mein_string;
?>
</div>




                                             34 of 58
Verarbeiten von HTML-Formularen
<?php
    function checkData($data) {
          if (strlen(trim($data))>20) {
                       $data = substr($data,0,20);
          }
          return $data;
    }
    if ($_GET['data']) { $data = $_GET['data']; }
    else { $_POST['data']; }
    //kürzer: $data = $_GET['data'] != '' ? $data : $_POST['data'];
    $result = checkData($data);

?>
<html><body>
<p> Ergebnis der Übertragung: <? echo ($result); ?></p>
</html></body>




                                                                      35 of 58
Große Applikationen sind möglich
   Komplexe PHP-Anwendung: Typo3
   Komplett in PHP
   TypoScript
   FH Fulda setzt
    Typo3 ein




                                         36 of 58
Was PHP attraktiv macht
Vorteile:
 Hohe Verbreitung
 Sehr gute Datenbankanbindung und
   Webserverintegration
 Hohe Stabilität, Sehr gute
   Performance und Skalierbarkeit
 Einfach zu erlernen und zu integrieren, besonders
   mit HTML+JavaScript
 Open Source, große Community, gute Doku




                                                      37 of 58
Was PHP unattraktiv macht
Nachteile:
 Objektorientierung erst „richtig“ seit PHP5,
   PHP4 aber sicherer, stabiler und verbreiteter
 Wenige und meist schlecht dokumentierte
   Klassen-Frameworks wie z.B. bei .NET
 Wenige direkt integrierte Komponenten,
   vieles muss „zu Fuß“ erledigt werden oder
   in Community gesucht werden
 Prozudurale Skriptsprache




                                                   38 of 58
Weiterführendes
   PHP-Homepage: www.php.net
   Klassenbibliothek: pear.php.net
   Literatur: PHP 5, Grundlagen und
    Profiwissen von Jörg Krause (komplett
    online verfügbar bei Amazon)




                                            39 of 58
40 of 58
Inhalt
   HTML
   JavaScript
   Ajax
   CGI
   Perl
   PHP
   ASP
   ASP.net

                          41 of 58
ASP
Eine kurze Einführung
Active Server Pages (ASP)
   Serverseitige MS Technologie
   Erstellung von interaktiven und
    dynamischen Webseiten
   Inhalte sind Scripte, HTML
   Letzte Version 3.0
   Läuft innerhalb IIS




                                      43 of 58
Internet Information Server(IIS)
   Unterschiedliche Web-Dienste
   Integriert in Windows
       Windows 95, 98, NT 4.0 (PWS)
       Win 2000, XP Professional (IIS 5.0)
       Windows Server 2003 (IIS 6.0)
   WWW-Dienst führt ASP-,PHP-,.net-
    Applikationen aus




                                              44 of 58
Zugriff auf Win-Komponenten

                           Internet Information Server (IIS)


Request
           WWW-Server    SMTP-Server                ID-Manager   FTP-Server

Response

            ASPdatei
            Aspbefehle




            Windows- klassen und Komponente  COM- Objekte




                                                                              45 of 58
ASP Struktur

   Syntax     : <% Befehl %>
   Variablen : Dim arrayVaraible(4)
   Proceduren : SUB procedureName und END SUB
   Funktionen : Function functionName und END Function
   #include : Eine Datei wird eingebunden
   Global.asa : Globale Deklaration von Objekten
   Application Object



                                                      46 of 58
ASP-Features im Überblick
   Built in Objects
       Server object
       Session object
       Application object
   Installable Objects
       Browser Capabilities
       Content Linking
       File Access


                                      47 of 58
Resume
   Wurde durch PHP am Markt stark
    konkuriert und weniger Anwendung gefunden
   Wird vollständig durch ASP.net ersetzt
   Anbieter orientieren sich an .net und stellen
    ihre bestehenden ASP-Anwendungen auf
    ASP.net um



                                               48 of 58
Inhalt
   HTML
   JavaScript
   Ajax
   CGI
   Perl
   PHP
   ASP
   ASP.net

                          49 of 58
ASP.net
Eine kurze Einführung
Einführung
   Stärken von ASP.net
   Schwächen von ASP.net
   Das benötigte Basis-Know-how
   Orientierung an erprobten Standards
   Unterstützung verschiedener Sprachen




                                           51 of 58
.net Architektur




                   52 of 58
Komponenten von .net
   Common Language Runtime (CLR)
   Microsoft Intermediate Language (MSIL)
   Managed Code, unmanaged Code
   Common Type System (CTS)
   Just-in-Time-Compiler




                                             53 of 58
Komponenten der .net-Architektur(2)
   ASP.net
   Web Services
   VB- und C#-Compiler
   Assembly




                                          54 of 58
Die ASP.net Webseite
   Die @Page-Direktive

   Der serverseitige
    Skript-Block

   Der Block mit HTML-
    Code

   Prozess im Server

                                    55 of 58
Beispiel




              Ausgabe:
           Hallo Benjamin!



                       56 of 58
Links

   http://www.galileocomputing.de/openbook/asp/index.htm

   http://de.gotdotnet.com/quickstart/aspplus/doc/quickstart.asp
    x

   http://www.aspheute.com/default.asp

   http://asp.net



                                                              57 of 58
Ende
Vielen Dank für die Aufmerksamkeit!




                                      58 of 58

Weitere ähnliche Inhalte

Ähnlich wie Übersicht Skriptsprachen

HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenMayflower GmbH
 
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG
 
HTML5 - presentation at W3C-Tag 2009
HTML5 - presentation at W3C-Tag 2009HTML5 - presentation at W3C-Tag 2009
HTML5 - presentation at W3C-Tag 2009Felix Sasaki
 
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...Christian Wenz
 
REST Problems
REST ProblemsREST Problems
REST Problemspredic8
 
Skripting prüfung, automatisierung und funktionserweiterung - Sebastian-Nic...
Skripting   prüfung, automatisierung und funktionserweiterung - Sebastian-Nic...Skripting   prüfung, automatisierung und funktionserweiterung - Sebastian-Nic...
Skripting prüfung, automatisierung und funktionserweiterung - Sebastian-Nic...MAX2014DACH
 
Metaprogrammierung und Reflection
Metaprogrammierung und ReflectionMetaprogrammierung und Reflection
Metaprogrammierung und ReflectionStefan Marr
 
Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015
Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015
Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015Manfred Steyer
 
OSDC 2013 | Enterprise open source virtualization with oVirt and RHEV by René...
OSDC 2013 | Enterprise open source virtualization with oVirt and RHEV by René...OSDC 2013 | Enterprise open source virtualization with oVirt and RHEV by René...
OSDC 2013 | Enterprise open source virtualization with oVirt and RHEV by René...NETWAYS
 
HTTP und Java Servlets Programmierung
HTTP und Java Servlets ProgrammierungHTTP und Java Servlets Programmierung
HTTP und Java Servlets ProgrammierungChristian Baranowski
 
Abläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisierenAbläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisierenChristian Münch
 
Webanwendungen - Installation, Konfiguration und Administration
Webanwendungen - Installation, Konfiguration und AdministrationWebanwendungen - Installation, Konfiguration und Administration
Webanwendungen - Installation, Konfiguration und AdministrationThomas Siegers
 
Ajax and JavaScript mit Ruby on Rails
Ajax and JavaScript mit Ruby on RailsAjax and JavaScript mit Ruby on Rails
Ajax and JavaScript mit Ruby on RailsJonathan Weiss
 
Ajax hands on - Refactoring Google Suggest
Ajax hands on - Refactoring Google SuggestAjax hands on - Refactoring Google Suggest
Ajax hands on - Refactoring Google SuggestBastian Feder
 
Ist GraphQL das bessere REST
Ist GraphQL das bessere RESTIst GraphQL das bessere REST
Ist GraphQL das bessere RESTMartin Abraham
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittdominion
 
Effiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 AnwendungenEffiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 AnwendungenMartin Leyrer
 
Entwickeln mit Wordpress
Entwickeln mit WordpressEntwickeln mit Wordpress
Entwickeln mit WordpressBlogwerk AG
 
Prometheus Monitoring
Prometheus MonitoringPrometheus Monitoring
Prometheus Monitoringinovex GmbH
 

Ähnlich wie Übersicht Skriptsprachen (20)

HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajaxMT AG: Ajax Rezepte fuer web services mit jquery und ajax
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
 
HTML5 - presentation at W3C-Tag 2009
HTML5 - presentation at W3C-Tag 2009HTML5 - presentation at W3C-Tag 2009
HTML5 - presentation at W3C-Tag 2009
 
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
 
REST Problems
REST ProblemsREST Problems
REST Problems
 
Skripting prüfung, automatisierung und funktionserweiterung - Sebastian-Nic...
Skripting   prüfung, automatisierung und funktionserweiterung - Sebastian-Nic...Skripting   prüfung, automatisierung und funktionserweiterung - Sebastian-Nic...
Skripting prüfung, automatisierung und funktionserweiterung - Sebastian-Nic...
 
Metaprogrammierung und Reflection
Metaprogrammierung und ReflectionMetaprogrammierung und Reflection
Metaprogrammierung und Reflection
 
Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015
Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015
Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015
 
OSDC 2013 | Enterprise open source virtualization with oVirt and RHEV by René...
OSDC 2013 | Enterprise open source virtualization with oVirt and RHEV by René...OSDC 2013 | Enterprise open source virtualization with oVirt and RHEV by René...
OSDC 2013 | Enterprise open source virtualization with oVirt and RHEV by René...
 
HTTP und Java Servlets Programmierung
HTTP und Java Servlets ProgrammierungHTTP und Java Servlets Programmierung
HTTP und Java Servlets Programmierung
 
Abläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisierenAbläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisieren
 
Webanwendungen - Installation, Konfiguration und Administration
Webanwendungen - Installation, Konfiguration und AdministrationWebanwendungen - Installation, Konfiguration und Administration
Webanwendungen - Installation, Konfiguration und Administration
 
Ajax and JavaScript mit Ruby on Rails
Ajax and JavaScript mit Ruby on RailsAjax and JavaScript mit Ruby on Rails
Ajax and JavaScript mit Ruby on Rails
 
Ajax hands on - Refactoring Google Suggest
Ajax hands on - Refactoring Google SuggestAjax hands on - Refactoring Google Suggest
Ajax hands on - Refactoring Google Suggest
 
PHP im High End
PHP im High EndPHP im High End
PHP im High End
 
Ist GraphQL das bessere REST
Ist GraphQL das bessere RESTIst GraphQL das bessere REST
Ist GraphQL das bessere REST
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schritt
 
Effiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 AnwendungenEffiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 Anwendungen
 
Entwickeln mit Wordpress
Entwickeln mit WordpressEntwickeln mit Wordpress
Entwickeln mit Wordpress
 
Prometheus Monitoring
Prometheus MonitoringPrometheus Monitoring
Prometheus Monitoring
 

Mehr von A. LE

Master Thesis - Algorithm for pattern recognition
Master Thesis - Algorithm for pattern recognitionMaster Thesis - Algorithm for pattern recognition
Master Thesis - Algorithm for pattern recognitionA. LE
 
Publication - The feasibility of gaze tracking for “mind reading” during search
Publication - The feasibility of gaze tracking for “mind reading” during searchPublication - The feasibility of gaze tracking for “mind reading” during search
Publication - The feasibility of gaze tracking for “mind reading” during searchA. LE
 
Schulug Grundlagen SAP BI / BW
Schulug Grundlagen SAP BI / BWSchulug Grundlagen SAP BI / BW
Schulug Grundlagen SAP BI / BWA. LE
 
Ergebnisse Simulation eines Verkehrsnetzes mit GPSS/H
Ergebnisse Simulation eines Verkehrsnetzes mit GPSS/HErgebnisse Simulation eines Verkehrsnetzes mit GPSS/H
Ergebnisse Simulation eines Verkehrsnetzes mit GPSS/HA. LE
 
Simulation eines Verkehrsnetzes mit GPSS/H
Simulation eines Verkehrsnetzes mit GPSS/HSimulation eines Verkehrsnetzes mit GPSS/H
Simulation eines Verkehrsnetzes mit GPSS/HA. LE
 
Prasentation Managed DirectX
Prasentation Managed DirectXPrasentation Managed DirectX
Prasentation Managed DirectXA. LE
 
Managed DirectX
Managed DirectXManaged DirectX
Managed DirectXA. LE
 
Elektronische Kataloge als herzstück von E-Business Systemen
Elektronische Kataloge als herzstück von E-Business SystemenElektronische Kataloge als herzstück von E-Business Systemen
Elektronische Kataloge als herzstück von E-Business SystemenA. LE
 
Introduction into Search Engines and Information Retrieval
Introduction into Search Engines and Information RetrievalIntroduction into Search Engines and Information Retrieval
Introduction into Search Engines and Information RetrievalA. LE
 

Mehr von A. LE (9)

Master Thesis - Algorithm for pattern recognition
Master Thesis - Algorithm for pattern recognitionMaster Thesis - Algorithm for pattern recognition
Master Thesis - Algorithm for pattern recognition
 
Publication - The feasibility of gaze tracking for “mind reading” during search
Publication - The feasibility of gaze tracking for “mind reading” during searchPublication - The feasibility of gaze tracking for “mind reading” during search
Publication - The feasibility of gaze tracking for “mind reading” during search
 
Schulug Grundlagen SAP BI / BW
Schulug Grundlagen SAP BI / BWSchulug Grundlagen SAP BI / BW
Schulug Grundlagen SAP BI / BW
 
Ergebnisse Simulation eines Verkehrsnetzes mit GPSS/H
Ergebnisse Simulation eines Verkehrsnetzes mit GPSS/HErgebnisse Simulation eines Verkehrsnetzes mit GPSS/H
Ergebnisse Simulation eines Verkehrsnetzes mit GPSS/H
 
Simulation eines Verkehrsnetzes mit GPSS/H
Simulation eines Verkehrsnetzes mit GPSS/HSimulation eines Verkehrsnetzes mit GPSS/H
Simulation eines Verkehrsnetzes mit GPSS/H
 
Prasentation Managed DirectX
Prasentation Managed DirectXPrasentation Managed DirectX
Prasentation Managed DirectX
 
Managed DirectX
Managed DirectXManaged DirectX
Managed DirectX
 
Elektronische Kataloge als herzstück von E-Business Systemen
Elektronische Kataloge als herzstück von E-Business SystemenElektronische Kataloge als herzstück von E-Business Systemen
Elektronische Kataloge als herzstück von E-Business Systemen
 
Introduction into Search Engines and Information Retrieval
Introduction into Search Engines and Information RetrievalIntroduction into Search Engines and Information Retrieval
Introduction into Search Engines and Information Retrieval
 

Übersicht Skriptsprachen

  • 1. Skriptsprachen HTML, JavaScript & Co Eine kurze Einführung und Übersicht
  • 2. Inhalt  HTML  JavaScript  Ajax  CGI  Perl  PHP  ASP  ASP.net 2 of 58
  • 3. HTML  Seit 1990, aktuelle Version HTML 4.01  baut auf HTTP auf  keine Programmiersprache, sondern Datenbeschreibungs- sprache  META-Sprache  unterschiedliche Darstellung in verschiedenen Browsern 3 of 58
  • 4. CSS  Seit 1996, aktuelle Version 2.0  optische Gestaltung eines HTML- Dokumentes  verwendet Formatvorlagen  Beispiel: h2 {color:#0000FF;}  zentrale Formatierung  verschiedene Darstellung in verschiedenen Browsern 4 of 58
  • 5. XHTML  Seit 2000, aktuelle Version 1.0  Kombination aus HTML und XML  Tags aus HTML wurden übernommen  Tags sind case sensitiv, Regeln kommen von XML 5 of 58
  • 6. DHTML  Kombination aus Java Script bzw. Skriptsprachen und HTML  Ermöglicht die dynamische Änderung und dynamischen Aufbau einer HTML-Seite  Beispiel: ausklappbare Navigationsleiste 6 of 58
  • 8. JavaScript  Seit 1995, aktuelle Version 1.5  clientseitige Scriptsprache  Programme werden vom Browser interpretiert und ausgeführt  Plattformunabhängig, Browserabhängig  Einsatz nur im Internet möglich 8 of 58
  • 9. Formularüberprüfung mit JavaScript <SCRIPT><!-- function pruefen() { var f = document.forms[0]; var fehler = "“; //enthält die Bezeichnungen der nichtausgefüllten Felder // Überprüfung auf vollständige Ausfüllung if (f.Name.value=="") fehler += "Name"; // Gegebenenfalls Fehlermeldung if (fehler != "") { var fehlertext = "Die folgenden Felder wurden nicht vollständig ausgefüllt:"; fehlertext += fehler; alert(fehlertext); return false; } <FORM ACTION="/cgi-bin/skript" return true; onSubmit="return pruefen()"> } Name: //--></SCRIPT> <INPUT TYPE="TEXT" NAME="Name" /> <INPUT TYPE="SUBMIT" VALUE="Absenden"> </FORM> 9 of 58
  • 11. AJAX Überblick  Seit Februar 2005  keine neue Technologie, früher XML HTTP-Request  Interaktive, Desktop-ähnliche Web-Anwendungen  HTML-Seite wird bei HTTP-Protollanfrage nicht jedesmal neu geladen  Teile einer HTML-Seite werden dynamisch nachgeladen  Asynchrone Datenübertragung 11 of 58
  • 13. AJAX – How it works 13 of 58
  • 14. AJAX Beispiel Schritt 1: XMLHTTPRequest-Object instanzieren für IE: xmlHttp = new ActiveXObject "Microsoft.XMLHTTP" ); xmlHttp = new ActiveXObject( "Msxml2.XMLHTTP.3.0"); // current versions: 3.0, 4.0, 5.0 für Mozilla: xmlHttp = new XMLHttpRequest(); Schritt 2: Request an den Server senden if (req) { req.onreadystatechange = ResponseHandler; req.open(GET,url,true); req.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded"); req.send(send Data); } Schritt 3: Antwort des Servers verarbeiten (Response Handler) if (req.readyState == 4) { if (req.status == 200) { data=req.responseText; } } 14 of 58
  • 15. AJAX – Vor- und Nachteile Vorteile:  HTML-Seite wird nicht komplett neu geladen  schnellere Reaktion auf Benutzereingaben  keine Übertragung von redundanten Informationen Nachteile:  Latenzzeit  JavaScript muss aktiviert sein  Beschränkungen durch HTTP 15 of 58
  • 16. Inhalt  HTML  JavaScript  Ajax  CGI  Perl  PHP  ASP  ASP.net 16 of 58
  • 18. Was ist CGI  Common Gateway Interface - Allgemeine Vermittlungsrechner-Schnittstelle  Keine Skriptsprache  Serverseitige Programmierschnittstelle  Erlaubt Zugriff auf Programme und Skripte im Web  CGI Skriptsprachen:  Perl, C, Pascal, Visual Basic, Fortran, Dos Batch, Unix Shell Script, … 18 of 58
  • 19. Aufruf von CGI-Skripten  Formular  <form action="/cgi-bin/guestbook.pl" method="get">  Referenz  <a href="/cgi-bin/statistik.pl">  Grafikreferenz  <img src="/cgi-bin/counter.pl">  Server Side Include (SSI)  <!--#exec cgi="/cgi-bin/counter.pl" -->  Automatisches Laden (Forwarding)  <meta http-equiv="refresh" content="0; URL=/cgi-bin/welcome.pl"> 19 of 58
  • 20. Ablauf 20 of 58
  • 22. Anforderungen  Webserver für CGI  www.apache.org  Perl-Interpreter  www.perl.org  Editor  OptiPerl (www.optiperl.com)  wordpad… 22 of 58
  • 23. Aufbau einer Perl Datei  Perl-Dateien enden i.d.R mit .pl  Beginnen mit Shebang-Zeile #!/usr/bin/perl  Variablen:  global $var,  lokal my $var  Arrays @var[0]  Bedingungen: if, elseif, else, unless  Schleifen: while, until, do-while, do-until, for, foreach  Programmsteuerung: continue, goto, last, next, redo  C-Ähnliche Notationen und Arbeitsweise 23 of 58
  • 24. Beispiel Hello World #!/usr/local/bin/perl $var = "Hello Worldn"; print "Mein erstes Script: $var"; Mein erstes Script: Hello World 24 of 58
  • 25. Beispiel Email Validierung <form action="http://www.adresse.de/cgi-bin/validator.pl" method="post"> Adresse: <INPUT NAME="email" TYPE="TEXT" COLS=30 ALIGN=left> <input type="submit"> </form> $mail = $FORM{'email'}; if ($mail =~ /(@.*@)|(..)|(@.)|(.@)|(^.)/ || $mail !~ /^.+@([?)[a-zA-Z0-9-.]+.([a-zA-Z]{2,3}|[0-9]{1,3})(]?)$/) { print “Ungültige email-Adresse!n"; exit; } else { print "Alles ok!n";} Ungültige email-Adresse! 25 of 58
  • 26. Was sind die Stärken  Unterstützung vieler Plattformen  Browserkompatibel  Strukturierungsmechanismen  objektorientiert  Enormer Sprachumfang  Integriert gesamten UNIX-Werkzeugkasten  Reguläre Ausdrücke in Luxus-Version  Hohe Performance 26 of 58
  • 27. Was sind die Schwächen  Knappe Codeanweisungen möglich  Gefahr der Unlesbarkeit  Sprachumfang schwer überschaubar  Hohe Rechenbelastung des Server-Systems  Schlechte Ausnutzung des Client-Systems  Langsame Interaktion  Jede Benutzeraktion muss über das Netz kommunizieren 27 of 58
  • 28. Links  Perl Seite: www.perl.org  Referenz-Buch: Programming Perl, 3rd Edition von Larry Wall (dem Entwickler von Perl) 28 of 58
  • 29. Inhalt  HTML  JavaScript  Ajax  CGI  Perl  PHP  ASP  ASP.net 29 of 58
  • 31. Anforderungen und Installation  Vorraussetzung:  Web-Server mit PHP-Modul  Webserver und Betriebssystem:  Sehr viele (Alle…)  Bekannteste Verbreitung: LAMP und WAMP (Linux Apache MySQL PHP, Windows …)  Hoher Verbreitungsgrad: Domains: 22172983 IP-Adr.: 1277375 31 of 58
  • 32. Verarbeitung einer Abfrage Quelle: Wikipedia 1) Anfrage von Client einer PHP-Seite mit Server 2) Datei wird vom Webserver geladen 3) Übergabe der Datei an den PHP-Interpreter 4) Parsen der Datei und erzeugen der Ausgabe 5) Rückgabe der Ausgabe an den Webserver 6) Ausgabe wird von Webserver an Client geschickt 32 of 58
  • 33. Aufbau PHP-Datei  PHP-Dateien enden i.d.R mit .php  „<?php“ oder „<?“ markieren den Anfang, „php?>“ oder „?>“ das Ende eines Codeteil  Unmarkierte Blöcke werden nicht interpretiert  Variablen: $var, Arrays: $var[0]  C-Ähnliche Notationen und Arbeitsweise  Prozedurale Scriptsprache 33 of 58
  • 34. Beispiel Hallo Welt <div style=“color: red; font-size: 40px;“> <?php $mein_string = ‘Hallo Welt‘; echo $mein_string; ?> </div> 34 of 58
  • 35. Verarbeiten von HTML-Formularen <?php function checkData($data) { if (strlen(trim($data))>20) { $data = substr($data,0,20); } return $data; } if ($_GET['data']) { $data = $_GET['data']; } else { $_POST['data']; } //kürzer: $data = $_GET['data'] != '' ? $data : $_POST['data']; $result = checkData($data); ?> <html><body> <p> Ergebnis der Übertragung: <? echo ($result); ?></p> </html></body> 35 of 58
  • 36. Große Applikationen sind möglich  Komplexe PHP-Anwendung: Typo3  Komplett in PHP  TypoScript  FH Fulda setzt Typo3 ein 36 of 58
  • 37. Was PHP attraktiv macht Vorteile:  Hohe Verbreitung  Sehr gute Datenbankanbindung und Webserverintegration  Hohe Stabilität, Sehr gute Performance und Skalierbarkeit  Einfach zu erlernen und zu integrieren, besonders mit HTML+JavaScript  Open Source, große Community, gute Doku 37 of 58
  • 38. Was PHP unattraktiv macht Nachteile:  Objektorientierung erst „richtig“ seit PHP5, PHP4 aber sicherer, stabiler und verbreiteter  Wenige und meist schlecht dokumentierte Klassen-Frameworks wie z.B. bei .NET  Wenige direkt integrierte Komponenten, vieles muss „zu Fuß“ erledigt werden oder in Community gesucht werden  Prozudurale Skriptsprache 38 of 58
  • 39. Weiterführendes  PHP-Homepage: www.php.net  Klassenbibliothek: pear.php.net  Literatur: PHP 5, Grundlagen und Profiwissen von Jörg Krause (komplett online verfügbar bei Amazon) 39 of 58
  • 41. Inhalt  HTML  JavaScript  Ajax  CGI  Perl  PHP  ASP  ASP.net 41 of 58
  • 43. Active Server Pages (ASP)  Serverseitige MS Technologie  Erstellung von interaktiven und dynamischen Webseiten  Inhalte sind Scripte, HTML  Letzte Version 3.0  Läuft innerhalb IIS 43 of 58
  • 44. Internet Information Server(IIS)  Unterschiedliche Web-Dienste  Integriert in Windows  Windows 95, 98, NT 4.0 (PWS)  Win 2000, XP Professional (IIS 5.0)  Windows Server 2003 (IIS 6.0)  WWW-Dienst führt ASP-,PHP-,.net- Applikationen aus 44 of 58
  • 45. Zugriff auf Win-Komponenten Internet Information Server (IIS) Request WWW-Server SMTP-Server ID-Manager FTP-Server Response ASPdatei Aspbefehle Windows- klassen und Komponente  COM- Objekte 45 of 58
  • 46. ASP Struktur  Syntax : <% Befehl %>  Variablen : Dim arrayVaraible(4)  Proceduren : SUB procedureName und END SUB  Funktionen : Function functionName und END Function  #include : Eine Datei wird eingebunden  Global.asa : Globale Deklaration von Objekten  Application Object 46 of 58
  • 47. ASP-Features im Überblick  Built in Objects  Server object  Session object  Application object  Installable Objects  Browser Capabilities  Content Linking  File Access 47 of 58
  • 48. Resume  Wurde durch PHP am Markt stark konkuriert und weniger Anwendung gefunden  Wird vollständig durch ASP.net ersetzt  Anbieter orientieren sich an .net und stellen ihre bestehenden ASP-Anwendungen auf ASP.net um 48 of 58
  • 49. Inhalt  HTML  JavaScript  Ajax  CGI  Perl  PHP  ASP  ASP.net 49 of 58
  • 51. Einführung  Stärken von ASP.net  Schwächen von ASP.net  Das benötigte Basis-Know-how  Orientierung an erprobten Standards  Unterstützung verschiedener Sprachen 51 of 58
  • 52. .net Architektur 52 of 58
  • 53. Komponenten von .net  Common Language Runtime (CLR)  Microsoft Intermediate Language (MSIL)  Managed Code, unmanaged Code  Common Type System (CTS)  Just-in-Time-Compiler 53 of 58
  • 54. Komponenten der .net-Architektur(2)  ASP.net  Web Services  VB- und C#-Compiler  Assembly 54 of 58
  • 55. Die ASP.net Webseite  Die @Page-Direktive  Der serverseitige Skript-Block  Der Block mit HTML- Code  Prozess im Server 55 of 58
  • 56. Beispiel Ausgabe: Hallo Benjamin! 56 of 58
  • 57. Links  http://www.galileocomputing.de/openbook/asp/index.htm  http://de.gotdotnet.com/quickstart/aspplus/doc/quickstart.asp x  http://www.aspheute.com/default.asp  http://asp.net 57 of 58
  • 58. Ende Vielen Dank für die Aufmerksamkeit! 58 of 58