Universität Paderborn/Informatik einige Kunden der letzten 12 Monate:
description
Transcript of Universität Paderborn/Informatik einige Kunden der letzten 12 Monate:
Paderborner Forum „Industrie trifft Informatik“ - Internet: Herausforderungen für den Mittelstand - 26.6.2000
Vergleichender Überblick Vergleichender Überblick über über
gängige Technologien für gängige Technologien für typische typische
Internetanwendungen im Internetanwendungen im UnternehmenUnternehmen
Prof. Dr. Stefan Böttcher Prof. Dr. Stefan Böttcher Universität Paderborn/InformatikUniversität Paderborn/Informatik
http://www.uni-paderborn.de/cs/boettcherhttp://www.uni-paderborn.de/cs/boettcher
Paderborner Forum „Industrie trifft Informatik“ - Internet: Herausforderungen für den Mittelstand - 26.6.2000
Universität Universität Paderborn/Informatik Paderborn/Informatik einige einige
Kunden der letzten 12 Monate: Kunden der letzten 12 Monate:
Bosch Telecom (Backnang), Cards (Köln), Casenterprises (Hamburg), Bosch Telecom (Backnang), Cards (Köln), Casenterprises (Hamburg), DaimlerChrysler (Esslingen), DAAD (Bonn), DFG (Bonn), Fujitsu-Siemens DaimlerChrysler (Esslingen), DAAD (Bonn), DFG (Bonn), Fujitsu-Siemens (Walldorf), GiSmbH (Lippstadt), HNI (Paderborn), Logas (Hamburg), (Walldorf), GiSmbH (Lippstadt), HNI (Paderborn), Logas (Hamburg), Managementcircle (Eschborn), MSWWF (Düsseldorf), myview Managementcircle (Eschborn), MSWWF (Düsseldorf), myview (Paderborn), Ordix (Paderborn), ORGA (Paderborn), Otto Versand (Paderborn), Ordix (Paderborn), ORGA (Paderborn), Otto Versand (Hamburg), Plenum Systeme (Wiesbaden), Poet (Hamburg), s&n (Hamburg), Plenum Systeme (Wiesbaden), Poet (Hamburg), s&n (Paderborn), sd&m (München), SDRC (Neu Isenburg), SI&O (Köln), (Paderborn), sd&m (München), SDRC (Neu Isenburg), SI&O (Köln), Siemens IDN (Paderborn), smDelta (Kaarst), Stadt Paderborn, Star Siemens IDN (Paderborn), smDelta (Kaarst), Stadt Paderborn, Star Office (Hamburg), Unity (Paderborn), XCC (Karlsruhe), ...Office (Hamburg), Unity (Paderborn), XCC (Karlsruhe), ...
• je ca. 25% : <25 , 25-100 , 100-500 , >500 MAje ca. 25% : <25 , 25-100 , 100-500 , >500 MA
• <30% in PB und OWL , >70% außerhalb<30% in PB und OWL , >70% außerhalb
Paderborner Forum „Industrie trifft Informatik“ - Internet: Herausforderungen für den Mittelstand - 26.6.2000
Typische Typische InternetanwendungenInternetanwendungen
1. Zuerst: email, ftp, telnet, http, ..., Datenbanken 1. Zuerst: email, ftp, telnet, http, ..., Datenbanken 2. Informationsangebote über Produkte, ...2. Informationsangebote über Produkte, ...3. Produkt-, Rechnungs-, ... -datenaustausch3. Produkt-, Rechnungs-, ... -datenaustausch4. Verteilte Entwicklung, Planung, Konstruktion, ...4. Verteilte Entwicklung, Planung, Konstruktion, ...5. Bestellservice für Waren, Dienste, Information5. Bestellservice für Waren, Dienste, Information6. Agenten für Ein-/Verkauf, Planung, Information 6. Agenten für Ein-/Verkauf, Planung, Information 7. persönliche7. persönliche Dienste: “myNewsDienste: “myNews imim HierHier undund Jetzt“Jetzt“8. ... 8. ... beliebige Dienste / beliebige Server beliebige Dienste / beliebige Server
Paderborner Forum „Industrie trifft Informatik“ - Internet: Herausforderungen für den Mittelstand - 26.6.2000
Technologien zur Realisierung Technologien zur Realisierung von Diensten im Web von Diensten im Web (HTTP, ...)(HTTP, ...)
• führende Client-Technologien: führende Client-Technologien: Web-Browser (und Mail,...) auf PC und Handy Web-Browser (und Mail,...) auf PC und Handy
leicht bedienbar , Massenmarktleicht bedienbar , Massenmarkt
• führende Server-Technologien: Kombinationen von führende Server-Technologien: Kombinationen von Web-/Anwendungs-/Datenbank-ServerWeb-/Anwendungs-/Datenbank-Server
leistungsfähig , zuverlässig , sicher , aktuell , leistungsfähig , zuverlässig , sicher , aktuell , Mehrwert, persönlich , kompetent, ...Mehrwert, persönlich , kompetent, ...
• führendes Protokoll: HTTP-Protokollführendes Protokoll: HTTP-Protokoll
Paderborner Forum „Industrie trifft Informatik“ - Internet: Herausforderungen für den Mittelstand - 26.6.2000
Produktdaten & ... ins Internet: Produktdaten & ... ins Internet: 2-Tier-Architektur mit Java-2-Tier-Architektur mit Java-AppletsApplets
Java-fähigesProgramm
Browsermit Java-Applet
Produkt-datenbank
HTML-Seite
+ Session-Konzept erlaubt zwischenzeitliche Interaktion + Last zwischen Client und Server relativ frei verteilbar +/- in der Regel geringere Serverlast+/- Client muß Java-fähige Browser nutzen
- Server muß Java-fähige Schnittstelle bieten (Java/Corba)- etwas langsamer
Client Server
Eingabe
Paderborner Forum „Industrie trifft Informatik“ - Internet: Herausforderungen für den Mittelstand - 26.6.2000
3-Tier-Architektur (mit 3-Tier-Architektur (mit Applets/RMI)Applets/RMI)
BrowserApplet
Produkt-datenbank
HTML-Seite
Client Application-Server DB-Server
RMI
Eingabe
Business-Logik (Java)
DB-Zugr.Programm
RMI
+ Session-Konzept erlaubt zwischenzeitliche Interaktion + Last zwischen Client und Applicationserver frei verteilbar + in der Regel geringere Serverlast (verteilt auf 2 Server)+/- Client muß Java-fähige Browser nutzen
- Server müssen Java-fähige Schnittstelle bieten (Java/Corba)
Paderborner Forum „Industrie trifft Informatik“ - Internet: Herausforderungen für den Mittelstand - 26.6.2000
2-Tier-Architektur mit 2-Tier-Architektur mit Servlets/CGIServlets/CGI
Servlet oder CGI-Programm
BrowserProdukt-
datenbankHTML-
Seite
+ minimale Anforderung an den Client + Server: CGI-Programm in beliebiger Sprache oder Servlet in Java+ Robust
- Session-lose Kopplung: keine zwischenzeitliche Interaktion - hohe Serverlast- Sicherheitsrisiken (bei CGI)
Client Server
ruft
generierteSeite
Eingabe
Paderborner Forum „Industrie trifft Informatik“ - Internet: Herausforderungen für den Mittelstand - 26.6.2000
Common Gateway Interface (CGI)Common Gateway Interface (CGI)
CGI-Programm
BrowserHTML-
Seite
Auf dem Server: CGI-Verzeichnis für Programme (Sprache beliebig)
• Aufruf von CGI-Programmen ist in HTML-Seite eingebaut• Browser-Click ruft CGI-Programm statt gewöhnliche HTML-Seite• Dateneingabe im Browser mit Forms möglich, Übergabe an das CGI-Programm über Umgebungsvariablen (get) oder Datei (post)• CGI-Programm muß Eingabedaten decodieren• CGI-Programm generiert als Ergebnis HTML-Seite• Client-Browser zeigt generierte HTML-Seite
Client Server
ruft
generierteSeite
Eingabe
Paderborner Forum „Industrie trifft Informatik“ - Internet: Herausforderungen für den Mittelstand - 26.6.2000
Servlet-Programmierung Servlet-Programmierung
Servlet = ein Java-Programm auf dem ServerServlet = ein Java-Programm auf dem ServerHttpServlet , GenericServlet für ftp, mail, ... HttpServlet , GenericServlet für ftp, mail, ... init(init( )) , service(, service( )) , doGet(, doGet( )) , doPost(, doPost( )) , destroy(, destroy( ) )
Servlets im Vergleich zu CGI: Servlets im Vergleich zu CGI: - CGI-Programme laufen in eigenem Prozeß- CGI-Programme laufen in eigenem Prozeß+Servlets genügt ein eigener Thread, +Servlets genügt ein eigener Thread, -> mehrere Clients teilen sich DB-Anbindung -> mehrere Clients teilen sich DB-Anbindung -> Performance-Vorteil -> Performance-VorteilServlets sind portabel und sicher (wie Java)Servlets sind portabel und sicher (wie Java)
Paderborner Forum „Industrie trifft Informatik“ - Internet: Herausforderungen für den Mittelstand - 26.6.2000
4-Tier-Architektur 4-Tier-Architektur
Browser
Produkt-datenbank
HTML-Seite
+ minimale Anforderung an den Client + Server: CGI-Programm und DB-Zugriff in beliebigen Sprachen+ Robust + geringere Serverlast - Session-lose Kopplung: keine zwischenzeitliche Interaktion - höhere Netzlast- Sicherheitsrisiken (bei CGI)
Client WWW-Server DB-Server
ruft
generierteSeite
Eingabe
DB-Zugr.Programm
Servlet, SSIoder CGI-Programm
Anwendungs-Programm
Anwendungs-Server
Paderborner Forum „Industrie trifft Informatik“ - Internet: Herausforderungen für den Mittelstand - 26.6.2000Benutzereingaben auf dem Benutzereingaben auf dem ClientClientmit Java Applets / HTML-mit Java Applets / HTML-Forms Forms + Applets: reagieren auf beliebige Ereignisse + Applets: reagieren auf beliebige Ereignisse
- HTML-Forms: explizit abschicken (Submit) - HTML-Forms: explizit abschicken (Submit)
• Textfelder (sichtbare Eingabe) Textfelder (sichtbare Eingabe)
• Passwort (unsichtbare Eingabe ****)Passwort (unsichtbare Eingabe ****)
• Radiobutton, Checkbox , ... Radiobutton, Checkbox , ...
• Hidden Hidden (Session-Konzept bei HTML-Forms) (Session-Konzept bei HTML-Forms)
Paderborner Forum „Industrie trifft Informatik“ - Internet: Herausforderungen für den Mittelstand - 26.6.2000
HTML-Forms-Beispiel HTML-Forms-Beispiel (CGI/Servlets)(CGI/Servlets)Client-SeiteClient-Seite
<FORM method="post" action="http://www.myserver.de/cgi-bin/j4.bat"><!-- oder: action="http://www.myserver.de/servlet/s1" --> <TEXTAREA name=“KundenAnfrage" rows="10" cols="80"> </TEXTAREA>
<INPUT type=“text“ name=“username“ size="30" > <INPUT type=“password" name=“passwort“ size="30" > <INPUT type="submit" value="Anfrage abschicken"> <INPUT type="reset" value="Löschen">
</FORM>
Paderborner Forum „Industrie trifft Informatik“ - Internet: Herausforderungen für den Mittelstand - 26.6.2000
HTML-Forms-Beispiel HTML-Forms-Beispiel (CGI/Servlets)(CGI/Servlets)ServerseiteServerseiteDas auf dem Webserver aufgerufene CGI-Programm j4.bat • liest Umgebungsvariable CONTENTLENGTH • liest die mit POST geschickten Daten von der Standardeingabe • greift z.B. auf Datenbank zu oder ruft andere Programme auf• schreibt in die Standardausgabe
Das auf dem Webserver aufgerufene HttpServlet • implementiert z.B. die Methode doPost(...) (in Java)• erhält die Eingabe über einen Parameter vom Typ HttpRequest• schickt die Ausgabe an einen Parameter vom Typ HttpResponse
Der Web-Server • schickt diese Ausgabe an den Browser auf dem Client.
Paderborner Forum „Industrie trifft Informatik“ - Internet: Herausforderungen für den Mittelstand - 26.6.2000
JavaScript - JavaScript - Programmierung für die Client-Programmierung für die Client-SeiteSeite• JavaScript-Code in HTML-Seiten eingebettet JavaScript-Code in HTML-Seiten eingebettet
• vom Browser interpretiert vom Browser interpretiert
• Event-Handling, z.B. Bild laden, Maus bewegt, ... Event-Handling, z.B. Bild laden, Maus bewegt, ... <IMG SRC=“bild.gif“ onLoad=“doit( )“><IMG SRC=“bild.gif“ onLoad=“doit( )“>
function doit( ) { ... } function doit( ) { ... }
• Funktionen, Variablen, Schleifen, Objekte, aber Funktionen, Variablen, Schleifen, Objekte, aber schwach typisiert, keine Vererbungschwach typisiert, keine Vererbung
Paderborner Forum „Industrie trifft Informatik“ - Internet: Herausforderungen für den Mittelstand - 26.6.2000
Datenaustausch mit XMLDatenaustausch mit XML
• Trennung von Nutzdaten (XML) und Layout (z.B. XSL Trennung von Nutzdaten (XML) und Layout (z.B. XSL oder CSS)oder CSS)
• inhaltliche Markups --> Daten austauschbar, inhaltliche Markups --> Daten austauschbar, restrukturierbar (XSL(T)/DOM), Queries (XQL)restrukturierbar (XSL(T)/DOM), Queries (XQL)
• aus Nutzdaten (XML) und Layout (XSL) werdenaus Nutzdaten (XML) und Layout (XSL) werdenHTML-Seiten (DB-Einträge, ...) generiert HTML-Seiten (DB-Einträge, ...) generiert
• einheitliche Markup-Sprachen für Branchen einheitliche Markup-Sprachen für Branchen und Produkte (z.B. CML für Chemie, ...) und Produkte (z.B. CML für Chemie, ...)
Paderborner Forum „Industrie trifft Informatik“ - Internet: Herausforderungen für den Mittelstand - 26.6.2000
Datenaustausch zum Handy - Datenaustausch zum Handy - WML WML
• Wireless Application Environment (WAE) Wireless Application Environment (WAE) Handy Handy <--> Gateway <--> Server <--> Gateway <--> Server Funk (kompakt) Festnetz Funk (kompakt) Festnetz
• Wireless Application Protocol (WAP) Wireless Application Protocol (WAP)
• WML: wie HTML/XML, jedoch Einschränkungen WML: wie HTML/XML, jedoch Einschränkungen
• Deck/Card-Konzept: Deck/Card-Konzept: - mehrere Cards gleichzeitig laden - mehrere Cards gleichzeitig laden - darstellbare Informationsmengen- darstellbare Informationsmengen
Paderborner Forum „Industrie trifft Informatik“ - Internet: Herausforderungen für den Mittelstand - 26.6.2000
Wege zur Kooperation (1)Wege zur Kooperation (1)
Kooperationsmodell: (Internet-)Projekte Kooperationsmodell: (Internet-)Projekte
• Industriepartner vergibt Auftrag/AufgabeIndustriepartner vergibt Auftrag/Aufgabe
• Informatik liefert Technologie-KnowHow Informatik liefert Technologie-KnowHow (Realisierungskonzepte, Beratung, ...) (Realisierungskonzepte, Beratung, ...)
Typisch: Typisch: Kontaktgespräch -> Bedarfsermittlung -> Kontaktgespräch -> Bedarfsermittlung -> Projektdefinition -> ... -> ProblemlösungProjektdefinition -> ... -> Problemlösung
Paderborner Forum „Industrie trifft Informatik“ - Internet: Herausforderungen für den Mittelstand - 26.6.2000
Wege zur Kooperation (2)Wege zur Kooperation (2)
• Schulung/Vorträge für Mitarbeiter und KundenSchulung/Vorträge für Mitarbeiter und Kunden
• Auftragsarbeit für gemeinsame KundenAuftragsarbeit für gemeinsame Kunden(Drittmittel / Fördermittel)(Drittmittel / Fördermittel)
• Förderverein PB Bildungsnetz (z.Z.Förderverein PB Bildungsnetz (z.Z. ca.ca. 2020 Firmen)Firmen)
Ergänzende Maßnahmen: Ergänzende Maßnahmen:
• Industrie-PraktikaIndustrie-Praktika
• Studien- und DiplomarbeitenStudien- und Diplomarbeiten