Webtechnologien - Friedrich-Schiller
Transcrição
Webtechnologien - Friedrich-Schiller
Webtechnologien Vorlesung Informatik Dr. rer. nat. Harald Sack Institut für Informatik Friedrich Schiller Universität Jena Wintersemester 2004/2005 http://www.informatik.uni-jena.de/~sack/WS0405/webtechnologien.htm Webtechnologien 1 2 3 4 5 6 7 9 07.12.2004 – Vorlesung Nr. 9 10 11 12 13 4. E-Business 14 15 Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 2 Webtechnologien - Vorlesungsinhalt Teil I: Internet und WWW 1. 2. 3. 4. 5. 6. 7. Einstieg: Internet und WWW World Wide Web Sicherheit im WWW E-Business Web-Services WWW-Suchmaschinen WWW-Groupware Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 3 4. E-Business 4.1 E-Business Grundlagen z z z E-Business und E-Commerce Marktmodelle im E-Commerce Traditionelle vs. Digitale Güter 4.2 Webtechnologien im E-Commerce-Umfeld z z z Verteilte Anwendungen Client-Server Dynamik Personalisierung 4.3 E-Commerce Zahlungssysteme z z Abwicklung sicherer Transaktionen Elektronische Bezahlsysteme Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 4 4. E-Business 4.1 E-Business Grundlagen z z z E-Business und E-Commerce Marktmodelle im E-Commerce Traditionelle vs. Digitale Güter 4.2 Webtechnologien im E-Commerce-Umfeld z z z Verteilte Anwendungen Client-Server Dynamik Personalisierung 4.3 E-Commerce Zahlungssysteme z z Abwicklung sicherer Transaktionen Elektronische Bezahlsysteme Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 5 4.1 E-Business Grundlagen Begriffsklärung Electronic Business (E-Business) ist die Unterstützung von Geschäftsprozessen und Beziehungen zu Geschäftspartnern, Mitarbeitern und Kunden eines Unternehmens durch elektronische Medien. Electronic Commerce (E-Commerce) ist Teil des E-Business, der auf Vereinbarung und Abwicklung rechtsverbindlicher Geschäftstransaktionen beruht und die 3 Transaktionsphasen Information, Vereinbarung und Abwicklung umfasst. Electronic Procurement ist die elektronische Unterstützung von Beschaffungsvorgängen (Einkauf). Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 6 4.1 E-Business Grundlagen Electronic Business E-Procurement Unternehmen E-Commerce Internet (VPN) Intranet Internet Geschäftspartner Lieferanten (B2B) Mitarbeiter Kunden (B2B, B2C, C2C) Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 7 4.1 E-Business Grundlagen Electronic Business – Historische Perspektive { { { 1877 … 1970 { { { 1984 1992 1994 { { 1997 1999 Graham Bell und Elisha Gray erfinden das Telefon Begin der Entwicklung von Electronic Data Interchange (EDI) Standardisierte Protokolle zum Austausch von Geschäftsinformationen und zur Abwicklung von Geschäftstransaktionen EDI ASC X12 Standard NCSA Mosaic, erster grafikbasierter Web-Browser erste Online-Shops (z.B. PizzaHut) erste Banner-Werbung (hotwired.com Æ Zima/AT&T) Amazon Ebay Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 8 4.1 E-Business Grundlagen Electronic Business - Potenziale { { { { { { Optimierung von Wertschöpfungsketten (value chain) Kostenreduktion im Geschäftsverkehr Erschließung neuer Märkte Neue Wege der Produktgestaltung Individualisierung des Marktes Ganzheitliche Transaktionen „In Zeiten des Goldrausches verdienen die Schaufelhersteller am besten…..“ { Auf der anderen Seite… z z Boom, Hype, „Goldgräberstimmung“ und Euphorie „dotcom-Blase“ ist geplatzt… (von dot.com nach dot.gone…) Börsenverluste > 30% Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 9 4.1 E-Business Grundlagen Electronic Business { { { E-Business bedeutet oft die Neuausrichtung der kompletten Unternehmensorganisation und der Geschäftsprozesse des Unternehmens, E-Commerce bezieht sich dagegen in der Regel lediglich auf die Anbahnung und Durchführung von Handelstransaktionen Problem: Transaktionskosten z Kosten, die lediglich im Zusammenhang mit wirtschaftlichen Transaktionen entstehen (keine Produktionskosten, etc.) • z.B. Suche, Informationsanalyse, Informationsaustausch, Vertragserstellung, Zahlungen, Informationsübermittlung, Kontrolle, Durchsetzung von Verträgen, etc. z können Produktkaufpreis (z.B. von Information) oft erheblich übersteigen Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 10 4.1 E-Business Grundlagen E-Commerce E-Business Austauschbeziehungen Unternehmen Geschäftskunden Staat Privatkunden Zulieferer sonstige Partnerunternehmen Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 11 4.1 E-Business Grundlagen E-Governement E-Business Austauschbeziehungen Nachfrager Customer Customer C2C Anbieter z.B. OnlineAuktionen, Ebay Business B2C z.B. OnlineShopping, Amazon Administration A2C z.B. onlineLohnsteuerkarte Business Administration C2B C2A z.B. Jobbörsen z.B. onlineSteuererklärung B2B B2A z.B. Onlinebestellung bei Zuliefererbetrieb z.B. onlineUmsatzsteuer A2B A2A z.B. öffentliche onlineBeschaffungen z.B. OnlineTransaktionen der öffentlichen Hand Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 12 4.1 E-Business Grundlagen E-Commerce { { B2B – Business to Business, Zulieferbeziehungen B2C – Business to Customer, eigentlicher Online-Handel { exponentielles Wachstum z B2B : B2C Æ 10 : 1 { B2C/B2B Marktvolumen in den USA (2003): 800 – 1500 Mrd. $ { 15.6 Mio online-Aufträge/Tag weltweit Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 13 4.1 E-Business Grundlagen E-Business – Wachstum (USA) Mio $ 1.400 1.200 1.000 800 B2C B2B 600 400 200 0 1998 1999 2000 2001 2002 2003 Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 14 4.1 E-Business Grundlagen E-Business Erlösquellen { { { { { Online Transaktionen z.B. Verkauf von Produkten, Informationen, etc. Offline Transaktionen z.B. traditioneller Verkauf von Produkten, wobei Geschäftsbeziehungen elektronisch angebahnt wurden Werbung z.B. Bannerwerbung, Sponsoring Provisionen z.B. Partnerprogramme Data Mining z.B. Erlöse durch den Verkauf von Nutzerdaten (Marktforschung) Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 15 4.1 E-Business Grundlagen E-Business Vorteile { Senkung der Transaktionskosten dadurch Einsparungsmöglichkeiten und höhere Markteffizienz { Senkung der Transaktionsanbahnungskosten durch Informationsbeschaffung aus dem WWW { Senkung der Kommunikationskosten durch Nutzung des WWW für Customer-Support, Produktinformationen, etc. { Zeitersparnis Geschäftsprozesse werden beschleunigt Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 16 4. E-Bussiness 4.1 E-Business Grundlagen z z z E-Business und E-Commerce Marktmodelle im E-Commerce Traditionelle vs. Digitale Güter 4.2 Webtechnologien im E-Commerce-Umfeld z z z Verteilte Anwendungen Client-Server Dynamik Personalisierung 4.3 E-Commerce Zahlungssysteme z z Abwicklung sicherer Transaktionen Elektronische Bezahlsysteme Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 17 4.1 E-Business Grundlagen E-Commerce { bestimmt durch drei wesentliche Einflussfaktoren (Dimensionen) Produkt { { { { Digitalisierungsgrad des Produkts von rein physisch (klassisch) bis rein digital (z.B. mp3-clip) des Verkaufs von traditionell physisch (Warenhaus) bis rein elektronisch (z.B. Amazon) der Logistik von rein physisch (z.B. DHL) bis rein IT-basiert (z.B. download) traditionell Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] Logistik reiner EC Verkauf nach Whinston, A. B.; Stahl, D. O.; Choi, S.Y. : The Economics of Electronic Commerce, Indianapolis 1997 18 4.1 E-Business Grundlagen E-Commerce { { Verkauf von Produkten und Dienstleistungen über das Internet Transaktion gliedert sich in 4 Phasen: Informationsphase • Suchmaschinen • Online-Katalog • Preisagenturen • Information Broker • Online-Demos • Diskussionsforen Vereinbarungsphase • Online-Auktion • kryptografische Verfahren • digitale Signaturen • Online Verträge • Bonitätsprüfung Abwicklungsphase • Logistik • E-Payment • Tracking/Tracing • Treuhänder Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] After-Salesphase • Online-Support • Online-Service • Kundenbindung • Updates • Online-Communities 19 4.1 E-Business Grundlagen Informationsphase E-Commerce – Marktinformationssysteme (1) Produktsuche z z z Verbraucherforen und Meinungsbörsen • z.B. www.dooyoo.de • Bewertungssysteme als Reputationsindikator • Bonussysteme zur Motivation der Nutzer Traditionelle Verbraucherforen • z.B. www.warentest.de oder www.adac.de Empfehlungssysteme • Voting als Filtermechanismus • z.B. www.amazon.de Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 20 4.1 E-Business Grundlagen Informationsphase E-Commerce – Marktinformationssysteme (2) Anbietersuche z z Preissuchmaschinen • z.B. www.guenstiger.de oder www.kelkoo.de Portale und Marktplätze • z.B. www.pangora.de oder www.lycos.de Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 21 4.1 E-Business Grundlagen Klassischer Online-Shop Käufer Vereinbarungsphase Online-Shop Content Management System Information und Vertragsabschluss Anwendung Datenbank CGI/API HTML Browser DATEN Internet HTML DATEN Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] Web-Server 22 4.1 E-Business Grundlagen Vereinbarungsphase E-Commerce - Verhandlungsphase { Aushandlung der Transaktionskonditionen. Dazu zählen: z Verhandlung (Negotiation) • Preis für handelbares Gut und Menge ermitteln z Vertragsabschluss (Contracting) • = erfolgreiches Verhandlungsergebnis z Bestellung (Ordering) z Verhandlungsabschluss • rechtsgültiger Vertrag Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 4.1 E-Business Grundlagen 23 Vereinbarungsphase E-Business – Marktmodelle { { { { { { Marktplatz Trennung Anbieter – Nachfrager (n:m) Börse wie Marktplatz, nur jeder kann Anbieter / Nachfrager sein (n:m) Auktion Güter werden einmalig zu Sonderbedingungen gehandelt (1:n) klassisch (englisch) vs. invers (dutch) Ausschreibung Nachfrager spezifiziert Gut, Anbieter liefert Angebot (n:1) Brokering Vermittlung zwischen Anbieter und Nachfrager (n:m) Æ (1:1) andere Modelle z.B. klassischer Versandhandel, Warenhaus, Messe, etc…. Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 24 4.1 E-Business Grundlagen Vereinbarungsphase Elektronischer Marktplatz (Portal-Site) { { Marktplatz verbindet mehrere Anbieter mit und mehrere Nachfrager Effizientes und komfortables Instrument für Kommunikation und Handel zwischen Geschäftspartnern { Kundenseite: z z z { Bündelung des Angebots verkürzt Suchzeit erweiterte Auswahl erleichtert Suche nach günstigstem Angebot Anbieterseite: z z z Prozessvereinfachung (Kostenersparnis) Einsparung in Vertrieb/Marketing Weltweiter Markt Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 25 4. E-Business 4.1 E-Business Grundlagen z z z E-Business und E-Commerce Marktmodelle im E-Commerce Traditionelle vs. Digitale Güter 4.2 Webtechnologien im E-Commerce-Umfeld z z z Verteilte Anwendungen Client-Server Dynamik Personalisierung 4.3 E-Commerce Zahlungssysteme z z Abwicklung sicherer Transaktionen Elektronische Bezahlsysteme Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 26 4.1 E-Business Grundlagen Handelsgüter im E-Commerce A. FREIE GÜTER B. WIRTSCHAFTSGÜTER I. Realgüter 2. Immaterielle Realgüter a. Arbeitsleistungen b. Dienstleistungen c. Informationen d. Sonstige immaterielle Realgüter (z. B. Rechte, Patente, Lizenzen etc.) II. Nominalgüter 1. Geld 2. Darlehenswerte 3. Beteiligungswerte Gütersystematik nach Maleri (1994) 1. Materielle Realgüter a. Immobile Sachgüter b. Mobile Sachgüter Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 27 4.1 E-Business Grundlagen Traditionelle vs. Digitale Güter digitale Güter (Informationen) Hohe Vervielfältigungskosten Niedrige Vervielfältigungskosten Wertverlust durch Gebrauch Wertgewinn durch Gebrauch Individueller Besitz Vielfacher Besitz (möglich) Wertverlust durch Teilung Wertgewinn durch Teilung Identifikations- und Schutzmöglichkeit Probleme des Datenschutzes und der Datensicherheit Schwierige Verbreitung (Logistik) Einfache Verbreitung Preis / Wert leicht identifizierbar Preis / Wert nur subjektiv bestimmbar Kosten leicht identifizierbar Kosten nur schwer identifizierbar Preisbildungsmechanismus bekannt Preisbildungsmechanismus weitgehend unbekannt Bestandsbewertung möglich Bestandsbewertung problematisch Wirtschaftswissenschaftliche Theorien und Modelle verfügbar Theorie- und Modelldefizit Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] Eigenschaften materieller und digitaler Güter nach Krcmar(1997) Materielle Güter 28 4.1 E-Business Grundlagen Digitale Güter { Definition: „Darunter versteht man immaterielle Mittel zur Bedürfnisbefriedigung, die sich mit Hilfe von Informationssystemen entwickeln, vertreiben oder anwenden lassen. Es sind Produkte, die in Form von Binärdaten dargestellt, übertragen und verarbeitet werden können.“ (Stelzer, 2000) z z z z z { z.B. alle Medien Musik, Filme, Bilder, Bücher, Zeitungen, … Software Tickets und Reservierungen Geldkarten, Kreditkarten, Aktien Formulare, Anträge, Briefe, Akten, SMS, Telefonate, … Problem: das Duplizieren digitaler Güter kostet (in der Regel) nichts Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 29 4.1 E-Business Grundlagen Digitale Güter { Digitale Dienstleistungen: z Auskünfte und Beratungen z Unterricht z Buchungen (Hotel, Reise, etc.) z Finanzdienstleistungen (z.B. Aktienhandel über Depot) z Telekommunikation (Telefon, etc.) z digitale Fernsehprogramme z Dienstleistungen elektronischer Marktplätze z Online-Banking z allgemeine Informationserstellung und -verarbeitung (z.B. Übersetzen eines Textes, Erstellen einer Steuererklärung) sowie Informationsdienstleistungen, die erst durch das Internet notwendig geworden sind (z. B. Dienste von Suchmaschinen) Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 30 4.1 E-Business Grundlagen Digitale Güter Entwicklungskosten (Fixkosten) digitaler Güter sind im Verhältnis zu deren Vervielfältigungskosten (Variablen Kosten) sehr hoch z.B. Entwicklungskosten für das Betriebsystem Microsoft Windows 2000 betrug mehrere 100 Mio $, Produktion, Verpackung und Versand einer einzelnen Kopie belief sich auf ca. 3 $... Stückkosten z Materielle Produkte Digitale Produkte Stückkosten { min Optimale Anzahl Anzahl Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] Anzahl 31 4.1 E-Business Grundlagen Digitale Güter – Netzwerkeffekte { „Netzwerkeffekte treten auf, wenn der Nutzen eines Gegenstandes davon abhängt, wie viele andere Individuen oder Organisationen diesen Gegenstand verwenden.“ (Shapiro, Varian,1999) { Beispiel: E-Mail z Erstes E-Mail-System quasi noch ohne Nutzwert z Nutzwert erhöht sich mit jeder E-Mail-Implementation, da sich die Anzahl der potenziellen Kommunikationspartner erhöht { Fazit: je mehr Anwender ein Softwaresystem nutzen, desto größer sind die Möglichkeiten, Informationen und Erfahrungen auszutauschen ein Softwaresystem wird daher umso attraktiver für den Nutzer, je mehr Nutzer dieses Softwaresystem verwenden. Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 32 4.1 E-Business Grundlagen Digitale Güter – Disintermediation Händler (Intermediäre) werden praktisch im online-Handel überflüssig Quelle: Der Spiegel { Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 33 4. E-Business 4.1 E-Business Grundlagen z z z E-Business und E-Commerce Marktmodelle Traditionelle vs. Digitale Güter 4.2 Webtechnologien im E-Commerce-Umfeld z z z Verteilte Anwendungen Client-Server Dynamik Personalisierung 4.3 E-Commerce Zahlungssysteme z z Abwicklung sicherer Transaktionen Elektronische Bezahlsysteme Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 34 4. E-Bussiness 4.1 E-Business Grundlagen z z z E-Business und E-Commerce Marktmodelle im E-Commerce Traditionelle vs. Digitale Güter 4.2 Webtechnologien im E-Commerce-Umfeld z Verteilte Anwendungen • • • • z z Remote Procedure Call – RPC Remote Method Invocation – RMI Common Object Request Broker – CORBA Enterprise Java Beans - EJB Client-Server Dynamik Personalisierung Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 35 4.2 Webtechnologien im E-Commerce Client-Server Konzept { { { Verteilte Anwendungen im WWW werden (in der Regel) als Client/Server-System realisiert Vereinfachung durch Trennung von Dienstanbieter (Server) und Dienstbenutzer (Client) Konzepte für die Implementation von Diensten z z z Remote Procedure Call (RPC) Remote Method Invocation (RMI) Corba … Anfrage Verbindungsaufbau Verbindungsabbau Antwort WWW-Browser Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] WWW-Server 36 4.2 Webtechnologien im E-Commerce Client-Server und Remote Procedure Call (RPC) { { Funktionsaufruf auf entfernten Rechnern über das Internet (RFC 1057 und RFC 1831) Spezifiziert eigene Transfersyntax (XDR, External Data Representation, RFC 1014) zur Koordination von z z Client-Requests und Server Responses Repräsentant des Remote Objects, übernimmt Kommunikation Ermöglicht lokal Ausführung der Methode/Funktion doWork() Client Server Stub Skeleton RPC-Layer RPC-Layer Transportschicht (TCP/IP) Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 37 4.2 Webtechnologien im E-Commerce Client-Server und Remote Procedure Call (RPC) { Problem: z z Unterschiedliche Rechnerarchitekturen Unterschiedliche Betriebsysteme { Æ Programmierer müssten Umrechnungs-/Konvertierungsroutinen vorsehen { External Data Representation (XDR) automatisiert alle notwendige Konvertierungsmaßnahmen kein XDR-Funktionsaufruf notwendig spezieller XDR-Compiler fügt der Datendeklaration die entsprechenden Konvertierungsroutinen hinzu Verwenden einheitliches, Plattform-neutrales Datenformat { { { Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 38 4.2 Webtechnologien im E-Commerce Remote Procedure Call (RPC) { Vorgehen: z Anwendung wird in Client-Seite und Server-Seite aufgeteilt z Verständigung zwischen Client- und Server-Seite via RPC z Client-Seite: • • z Server-Seite: • • z Æ Implementation der gewünschten „remote“-Operationen Æ Deklaration der Operationen als RPC-Server-Funktionen RPC nutzt TCP/UDP-Port 111 • z Æ Deklaration der auf dem Server aufgerufenen Funktionen als „remote“ Æ Compiler bettet RPC-Prozeduren mit in den Code der Anwendung Portmapper-Daemon muss ankommende Daten an entsprechende Server-Anwendung weiterleiten RPC-Kommunikation erfolgt synchron Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 39 4. E-Bussiness 4.1 E-Business Grundlagen z z z E-Business und E-Commerce Marktmodelleim E-Commerce Traditionelle vs. Digitale Güter 4.2 Webtechnologien im E-Commerce-Umfeld z Verteilte Anwendungen • • • • z z Remote Procedure Call – RPC Remote Method Invocation – RMI Common Object Request Broker – CORBA Enterprise Java Beans - EJB Client-Server Dynamik Personalisierung Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 40 4.2 Webtechnologien im E-Commerce Remote Method Invocation (RMI) { { Objekt-Objekt Kommunikation zwischen verschiedenen Java-VirtualMachines Klassenbibliothek java.rmi.* { RPC-Implementierung in objektorientierter Java-Umgebung z erlaubt Lokalisation entfernter Objekte über lokalen Namensdienst (Registry) und z Kommunikation mit entfernten Objekten { { RPC erlaubt lediglich Transfer von Aufruf-Parametern RMI erlaubt vollständige Objekte als Parameter Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 41 4.2 Webtechnologien im E-Commerce Remote Method Invocation (RMI) Remote Object Declaration // auf Server- und Clientseite interface remoteInterfaceId{ … Methoden } // auf Serverseite class remoteClassId extends UnicastRemoteObject implements remoteInterfaceId{ … Implementierung der Methoden } Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 42 4.2 Webtechnologien im E-Commerce Remote Method Invocation (RMI) Lokalisierung RMI-Registry 2 1 Registrierung Server Client Remote Object Remote Object 3 Aufruf Remote Object Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] Remote Object 43 4.2 Webtechnologien im E-Commerce RMI Registry { { { { { Naming-Service übernimmt Zuordnung zwischen Namen und Objekt liefert bei Aufruf (Servername, Objektname) eine Objektreferenz zurück muss auf jeder Maschine installiert sein, auf der exportierte Objekte existieren Zugriff erfolgt über java.rmi.Naming-Klasse z bind (Registrierung eines entfernten Objekts) z rebind z lookup (Erzeugen einer Referenz auf ein Stub-Objekt) z unbind z list Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 44 4.2 Webtechnologien im E-Commerce Remote Method Invocation (RMI) RMI Binding RemoteClassId remoteObjectId; try { Naming.rebind (“Service Name“, remote ObjectId); } catch (Exception E) { System.out.println(“Registry not found:“+e); } Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 45 4.2 Webtechnologien im E-Commerce Remote Method Invocation (RMI) RMI Look-Up RemoteInterfaceId localObjectId; try { localObjectId = (RemoteInterfaceId) Naming.lookup (url + “Service Name“); } catch (Exception e) { System.out.println(“No such service or registry\n“); } Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 46 4.2 Webtechnologien im E-Commerce Remote Method Invocation (RMI) Client Java Remote Method Protocol (JRMP) Server Skeleton Stub Remote Reference Layer Transportschicht (TCP/IP) Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 47 4.2 Webtechnologien im E-Commerce Remote Method Invocation (RMI) { { Client ruft Repräsentanten (Stub, wird mit RMI-Compiler rmic erzeugt) des Remote-Objekts auf dem Stub gegenüberliegender Kommunikationsendpunkt (Skeleton) verwaltet RMI auf Server-Seite z vermittelt Aufruf und übergebene Parameter an angefragte Methode (Marshalling) z übergebene Objekte (Call-by-Value) müssen zuvor serialisiert werden z dynamisches Laden von Byte-Code, wenn benötigte Klasse nicht auf dem Ziel-Rechner definiert ist (RMIClassLoader) z abschliessend übergibt Skeleton die Rückgabewerte (Demarshalling) zurück an Stub Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 48 4. E-Bussiness 4.1 E-Business Grundlagen z z z E-Business und E-Commerce Marktmodelle im E-Commerce Traditionelle vs. Digitale Güter 4.2 Webtechnologien im E-Commerce-Umfeld z Verteilte Anwendungen • • • • z z Remote Procedure Call – RPC Remote Method Invocation – RMI Common Object Request Broker – CORBA Enterprise Java Beans - EJB Client-Server Dynamik Personalisierung Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 49 4.2 Webtechnologien im E-Commerce CORBA – Common Object Request Broker { standardisierte Middleware-Architektur zur Realisierung von verteilten Anwendungen in einer heterogenen Rechnerumgebung z z z { { { Rechnerarchitekturen Betriebsysteme Programmiersprachen 1994 von Object Management Group spezifiziert definiert eine sprachunabhängige Schnittstellenbeschreibung (Interface Definition Language) RPC-Layer wird durch Schlüsselkomponente Object Request Broker (ORB) realisiert z erlaubt transparente Anfrage an ein Server-Objekt: • • • ermöglicht Auffinden des Server-Objekts, Parameterübergabe an das Server-Objekt und Transport der Rückgabewerte an den Client Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 50 4.2 Webtechnologien im E-Commerce CORBA – Common Object Request Broker Client Server Server IDL IDL IDL Stub Skeleton Skeleton Object Request Broker 1 Object Request Broker 2 IIOP -General InterORB Protocol (GIOP) definiert Nachrichtenformat -Internet Inter-ORB Protocol (IIOP) spezifiziert Austausch von GIOP-Nachrichten Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 51 4.2 Webtechnologien im E-Commerce CORBA – Common Object Request Broker Server Language Binding Cobol C++ Ada Java C Client IDL IDL rein deklarativ, keine Implementation Stub Skeleton Object Request Broker IIOP -IDL spezifiziert -Attribute, Super-Klassen, Exceptions, Ereignisse, Methoden Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 52 4.2 Webtechnologien im E-Commerce CORBA – Common Object Request Broker { CORBA Services stellen Basis-Infrastrukturdienste zur Verfügung z z z z z { Naming Service Zuordnung zwischen Namen und Objektreferenzen (White Pages) Object Trader Service Lokalisation von Objekten nach angebotenem Dienst (Yellow Pages) Event Service Austausch von Nachrichten über Ereignisse Transaction Service Transaktionsorientierte Verarbeitung für verteilte Anwendungen Database Services Schnittstelle für Datenbankoperationen Distributed Component Object Model (DCOM) Microsofts auf ActiveX basierende CORBA Variante (nur für Windows und MAC OS verfügbar) Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 53 4.2 Webtechnologien im E-Commerce CORBA vs. RPC Server Client call xyz Server Code Daten Client Invoke xyz on Object X Objekt X Objekt Y Invoke xyz on Object Y xyz xyz execute xyz RPC Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] ORB 54 4.2 Webtechnologien im E-Commerce CORBA – Common Object Request Broker { Vorteile: z z z z { offener Herstellerunabhängiger Standard es existieren zahlreiche Implementierungen Plattform- und Programmiersprachenunabhängig besonders für den Einsatz in heterogenen Umgebungen geeignet. Nachteile: z z z z kommerzielle ORBs sind relativ teuer hoher Implementierungs-Overhead bei kleinen Anwendungen relativ hoher Einarbeitungsaufwand (insbesonders bei C++). hoher Protokoll-Overhead (insbesonders bei IIOP). Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 55 4.2 Webtechnologien im E-Commerce CORBA – Mini-Anwendungsbeispiel { Interface-Definition: { IDL-File kompilieren: ServerInfo.idl interface ServerInfo{ boolean getServerEnv( in string varName, out string varValue); }; idl ServerInfo.idl • ServerInfo.cpp • ServerInfo.h für Client für Server • ServerInfo_skel.cpp • ServerInfo_skel.h Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 56 4.2 Webtechnologien im E-Commerce CORBA – Server-Definition { Header-File: ServerInfo_Impl.h Class ServerInfo_impl: virtual public POA_ServerInfo{ virtual CORBA::Boolean getServerEnv( const char* varName, CORBA::String_out varValue) throw(CORBA::SystemException); }; { Skeleton beinhaltet abstrakte Klasse POA_ServerInfo { Server muss virtuelle Methoden der Skeleton-Klasse implementieren (Servant). Object-Adapter (POA) ruft virtuelle Methode getServerEnv() im Skeleton auf { Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 57 4.2 Webtechnologien im E-Commerce CORBA – Server-Definition (2) { Implementierung ServerInfo_Impl.cpp CORBA::Boolean ServerInfo_impl::getServerEnv( const char* varName, CORBA::String_out varValue) throw(CORBA::SystemException) { char* val= getenv(varName); if (val) varValue= CORBA::string_dup(val); else varValue= CORBA::string_dup(""); return val!= 0; } Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 58 4.2 Webtechnologien im E-Commerce CORBA – Server-Definition (3) { Main-Funktion des Serverprozesses (C++) int main(int argc, char* argv[]) { CORBA::ORB_var orb; try { { Initialisierung des ORBs orb = CORBA::ORB_init(argc, argv); { Initialisierung des Object-Adapters (POA)CORBA::Object_varpoaObj= orb->resolve_initial_references("RootPOA"); PortableServer::POA_varrootPOA= PortableServer::POA::_narrow(poaObj); { Aktivierung des POA-Managers PortableServer::POAManager_varmanager = rootPOA->the_POAManager(); manager->activate(); Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 59 4.2 Webtechnologien im E-Commerce CORBA – Server-Definition (4) { Instanzierung und Registrierung des Servants ServerInfo_impl sInfoImpl(rootPOA); ServerInfo_var sInfo= sInfoImpl._this(); { Speichern der serialisierten IOR (Interoperable Object Reference) CORBA::String_var ior= orb->object_to_string(sInfo); ofstreamout("ServerInfo.ref"); out << ior<< endl; { Starten des ORBs orb->run(); { Abfangen von CORBA System-Exceptions } catch(const CORBA::Exception &ex) { …} return 0; } Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 60 4.2 Webtechnologien im E-Commerce CORBA – Java Client ímport org.omg.CORBA.* public static void main(String[] args) { try { { ORB initialisieren: orb = ORB.init(args, null); { Lesen der Objektreferenz BufferedReaderin = new BufferedReader( new FileReader("ServerInfo.ref")); org.omg.CORBA.Objectobj= orb.string_to_object(in.readLine()); ServerInfo sInfo= ServerInfoHelper.narrow(obj); { Zugriff auf (entferntes) CORBA-Objekt StringHolder varValue= new StringHolder(); boolean defined = sInfo.getServerEnv("OS",varValue)); }catch (org.omg.CORBA.SystemException ex){ …} } Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 61 4. E-Business 4.1 E-Business Grundlagen z z z E-Business und E-Commerce Marktmodelle im E-Commerce Traditionelle vs. Digitale Güter 4.2 Webtechnologien im E-Commerce-Umfeld z Verteilte Anwendungen • • • • z z Remote Procedure Call – RPC Remote Method Invocation – RMI Common Object Request Broker – CORBA Enterprise Java Beans - EJB Client-Server Dynamik Personalisierung Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 62 4.2 Webtechnologien im E-Commerce EJB – Enterprise Java Beans { { { { { { Standard von SUN Microsystems für Entwicklung und Einsatz von komponentenbasierten JAVA-Serveranwendungen Serverobjekt = (Enterprise Java) Bean EJB enthält ausschließlich Anweisungen zur Ausführung von Aktionen auf hohem Abstraktionsniveau (Business Logic) Systemnahe Standardfunktionen (Transaktionsmanagement, Sicherheit, Ressourcenverwaltung, Fehlertoleranz etc.) wird von EJB-Server zur Verfügung gestellt EJB-Server stellt notwendige Laufzeitumgebung für benötigte Komponenten über EJB-Container zur Verfügung wichtigste Unterschiede zu RMI/CORBA: z z z Client erzeugt und löscht Objekte direkt auf dem Server vollständig verteilte objektorientierte Umgebung LowLevel-Management übernimmt EJB-Server Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 63 4.2 Webtechnologien im E-Commerce JavaBeans - Komponentenmodell { Komponenten: eindeutig identifizierbare, wiederverwendbare Software mit wohldefinierten Schnittstellen, die mit anderen Komponenten zusammen innerhalb eines Containers interagieren kann und vermittels einer visuellen Benutzerschnittstelle manipuliert werden kann einzelne JavaBeans Bean Container aus JavaBeans zusammengesetzte neue Komponente Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 64 4.2 Webtechnologien im E-Commerce JavaBeans Komponentenmodell { { { { JavaBean zeigt Methoden, Eigenschaften und Events (Interface) Informationen via BeanInfo Klasse sichert aktuellen Zustand in .ser-Datei, die in einem JavaArchiv (JAR) archiviert wird erlaubt Anpassungen im Design BeanInfo über Customizer Methods Konventionen: -Default-Konstruktor -keine public-Variablen -getXxxx (Abfrage) -setXxxx (Zuweisung) -… JavaBean Component Customizer Events Properties JAR (.jar) Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 65 4.2 Webtechnologien im E-Commerce JavaBeans { Properties: z definieren Verhalten und Aussehen der Komponente z Änderungen eines Properties werden unmittelbar sichtbar BeanInfo Methods JavaBean Component Customizer Events Properties JAR (.jar) Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 66 4.2 Webtechnologien im E-Commerce JavaBeans { Events: z viele kleine Komponenten z Auslösen von Events z Empfangen von Events BeanInfo Methods JavaBean Component Customizer Events Properties JAR (.jar) Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 67 4.2 Webtechnologien im E-Commerce EJB – Architektur EJB Server EJB Container EJB Komponente: Enterprise Bean Klasse Remote-Interface Home-Interface Primary Key Deployment Descriptor EJB-Jar-File Client Client agiert nie direkt mit Bean-Klasse, sondern über Home/Remote-Interface Bean Home remote z z z z z z EJB Container create() remove remote { { { EJB Server EJBObject Businessmethods EJBObject Bean Businessmethods Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 68 4.2 Webtechnologien im E-Commerce EJB – Container { { { ist verantwortlich für die Verwaltung der Beans bietet den Beans eine vollständige Laufzeitumgebung stellt Schnittstellen und Mechanismen bereit für den Zugriff auf verschiedene Systemdienste: z Namensvergabe z Lebenszyklus z Persistenz z Transaktionen z Messaging z Sicherheit z Packaging Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 69 4.2 Webtechnologien im E-Commerce EJB – Home Interface { Home Interface definiert die Methoden für die Erzeugung, Zerstörung und das Auffinden von EJB-Objekten (Lebenszyklus) z { erweitert javax.ejb.EJBHome Home Object liefert Referenz auf das EJB-Objekt an den anfragenden Client zurück EJB Container 1. Fordert neues EJB-Objekt an Home Object 2. Erzeugt neues EJB-Objekt 3. Rückgabe Objekt-Referenz remote Client-Code EJBObject Businessmethods Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] Bean 70 4.2 Webtechnologien im E-Commerce EJB – Remote Interface { Remote Interface exportiert Methoden des Beans z erweitert javax.ejb.EJBObject EJB Container Home Object 4. return Wert remote Client-Code 1. ruft Methode auf EJBObject Businessmethods 3. return Methode Bean 2. delegiert Methode an Bean Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 71 4.2 Webtechnologien im E-Commerce EJB – Deployment Descriptor { { { enthält Deklaration der Anforderungen an die Middleware Dienste Container untersucht Deployment Descriptor und erfüllt die Anforderungen Bean-Entwickler hinterlegt folgende Informationen: z um welchen Bean-Typ handelt es sich (Entity-, Session oder Message-driven-Bean). z Name des Beans im Namen- und Verzeichnis -Dienst z Name des Home-Interfaces, des Remote-Interfaces und der Bean-Klasse z Informationen zur Zugriffskontrolle z Informationen zum Transaktionsverhalten z Informationen zum Bean-Lebenszyklus und Persistenz Erzeugung wird oft interaktiv via Eigenschaftsdialogen abgewickelt Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 72 4.2 Webtechnologien im E-Commerce EJB – Deployment Descriptor <?xml version=“1.0“?> <!doctype ejb-jar PUBLIC “-//Sun Microsystems, Inc./…/ejb-jar_1_1.dtd“> <ejb-jar> <enterprise-beans> <entity> <description> Liefere eine Zufallszahl zwischen 0 und 100 </description> <ejb-name> MagicNumber </ejb-name> <home> com.examples.MagicNumberHome </home> <remote> com.examples.MagicNumber </remote> <ejb-class> com.examples.MagicNumberBean </ejb-class> … </entity> </enterprise-beans> Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 73 4.2 Webtechnologien im E-Commerce EJB – JAR File { { spezielle Archiv-Dateien, die zum Packen von Java-Klassen/JavaBeans, EJBs verwendet werden beinhaltet z Bean-Klasse, z Remote-Interface, z Home-Interface, z Primärschlüssel-Klasse (nur bei Entity-Beans), z serialisierten Deployment-Deskriptor und z ein Manifest (==Inhaltsverzeichnis). Container liest Deployment Deskriptor, um notwendige Informationen über EJBs im .JAR-File zu erhalten Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 74 4.2 Webtechnologien im E-Commerce JavaBean Component EJB – Beans-Varianten { Session Beans z z z { führen Anwendungslogik auf Servern aus wird für jeden Client/Zugriff eigens exklusiv konstruiert Lebensdauer = Zeit des Zugriffs, wenn Zugriff beendet, zerstört der Container die Instanz des Session Beans z Æ Transient Stateless Beans z z { Zustandslos, vorangegangene Interaktionen werden nicht berücksichtigt z.B. Zahlung via Kreditkarte Æ Übermittlung Betrag, Kreditkartennummer Statefull Beans z z Zustandsbehaftet, vorangegangene Interaktionen bestimmen den weiteren Verfauf der Interaktion z.B. Online-Shop Warenkorbsystem Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 75 4.2 Webtechnologien im E-Commerce EJB – Session Beans EJB Container 3. Create new EJB-Object Client 6. Invoke Business-Method Naming Service 4. Create EJB-Object 2. Return Home Object Reference Bean remote 1. Retrieve Home Object Reference Home Object 5. Return EJB-Object Reference EJBObject Businessmethods Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 7. Delegate Request to Bean 76 4.2 Webtechnologien im E-Commerce EJB – Beans Varianten { Entity Beans z z z z z { Repräsentieren persistente Daten in einer Datenbank Lebensdauer entspricht Dauer der Speicherung in der Datenbank (langlebig) benötigen PrimaryKey alle Clients greifen auf dieselbe Instanz gemeinsam zu überlebt sogar EJB-Server Absturz (Transaktionsorientiert) Bean-Managed EJBs z z { JavaBean Component Komponentenentwickler managed Datenbankzugriffe selbst (JDBC) Persistenz liegt in der Hand des Entwicklers Container-Managed Beans z z Entwickler beschreibt lediglich den Datenzugriff, Ausführung obliegt dem Container Unabhängig vom eingesetzten Datenbanksystem Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 77 4.2 Webtechnologien im E-Commerce EJB – Beans Varianten { JavaBean Component Message Driven Beans z z z Erlaubt asynchrone Kommunikation mit Beans via JMS (Java Messaging Service) Aufruf wird von EJB-Server in Warteschlage verwaltet, Client setzt Verarbeitung unmittelbar fort und wartet nicht auf Ergebnis EJB-Server benachrichtigt Client über das Ergebnis via JMS Message Driven Bean ist transient und stateless z Bsp. z • • • Order-Auftrag mit mobilem Endgerät in Online-Shop Verbindung wird unmittelbar nach Auftragseingang beendet, komplexe Auftragsbearbeitung auf Server, Benachrichtigung des Auftraggebers via SMS Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 78 4.2 Webtechnologien im E-Commerce EJB – Beispiel { Remote Interface import java.rmi.RemoteException; public interface Transferable extends javax.ejb.EJBObject{ public String getMagicNumber() throws RemoteException; } { Home Interface import java.rmi.RemoteException; import java.ejb.CreateException; public interface TransferableHome extends javax.ejb.EJBHome{ public Transferable create() throws CreateException, RemoteException; } Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 79 4.2 Webtechnologien im E-Commerce EJB – Beispiel { Bean Klasse import java.ejb.*; public class MagicNumberBean implements javax.ejb.SessionBean{ public void ejbCreate(){ } public String getMagicNumber(){ return "Your magic number is "+ (int)(Math.random()*100); } … public public public public public … void void void void void ejbLoad(){…} ejbStore() {…} ejbActivate()throws RemoteException{…} ejbPassivate()throws RemoteException {…} ejbRemove() {…} } Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 80 4.2 Webtechnologien im E-Commerce EJB – Beispiel { Client (1) import import import import java.io.*; javax.ejb.*; javax.naming.*; javax.rmi.PortableRemoteObject; public class MagicNumberClient { public static void main(String[] args) { // lookup home // create bean // call business code } } Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 81 4.2 Webtechnologien im E-Commerce EJB – Beispiel { Client (2) … try { InitialContext context = new InitialContext(); Object ref = context.lookup(“MagicNumber"); MagicNumberHome home = (MagicNumberHome) PortableRemoteObject.narrow( home, MagicNumber.class); MagicNumber bean = home.create(); System.out.println(bean.getMagicNumber()); bean.remove(); } catch (NamingException ex) { ex.printStackTrace(); } catch (CreateException ex) { ex.printStackTrace(); } Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 82 4. E-Business 4.1 E-Business Grundlagen z z z E-Business und E-Commerce Marktmodelle im E-Commerce Traditionelle vs. Digitale Güter 4.2 Webtechnologien im E-Commerce-Umfeld z z z Verteilte Anwendungen Client-Server Dynamik Personalisierung 4.3 E-Commerce Zahlungssysteme z z Abwicklung sicherer Transaktionen Elektronische Bezahlsysteme Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 83 4.2 Webtechnologien im E-Commerce Client-Server Dynamik { Serverseitige Funktionen z Webserver-Funktionalität • Generierung und Auslieferung von HTML-Dokumenten • nur Benutzerschnittstelle z Verflechtung mit Dritt-Systemen zum Zugriff auf • Produktdatenbanken • Warenwirtschaftsysteme (Lagerhaltung) • Produktionsplanung (Bestellstatus) • Buchhaltungssysteme • Kreditprüfung, Abwicklung, Zahlung • … Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 84 4.2 Webtechnologien im E-Commerce Client-Server Architekturen { Two-Tier Architektur z Client kommuniziert mit Server-Rechner, der selbst alle anfallenden Aufgaben alleine erledigt Tier 1 Tier 2 Netzwerk Datenbank Web Server Application Server Database Server Client - nicht skalierbar - nicht effizient Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 85 4.2 Webtechnologien im E-Commerce - nicht skalierbar - nicht effizient Client-Server Architekturen { Three-Tier Architektur z z Trennung Database Server von Web Server / Application Server Application Server delegiert Verarbeitung an Tier 3 Tier 1 Tier 2 Netzwerk Client Tier 3 Netzwerk Web Server Application Server Datenbank Database Server Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 86 4.2 Webtechnologien im E-Commerce Client-Server Architekturen { Client N-Tier Architektur z z z Vollständige Trennung von Funktion und Administration jeder Server für seine Aufgabe optimiert ermöglicht große Zahl gleichzeitiger Zugriffe Internet Internet Datenbank Web Server Application Database Server Server Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 87 4.2 Webtechnologien im E-Commerce Server-Cluster { Problem: Verfügbarkeit z Kommerzielle Systeme müssen in der Regel mindestens eine Verfügbarkeit zwischen 99,5% und 99,95% erreichen d.h. im Jahr dürfen die Systeme maximal zwischen 43,8 und 4,38 Stunden ausfallen z DNS Server S1 S2 S3 S4 S5 S6 Internet Internet Reverse Proxy Server S9 SA SB SC Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] SD SE 88 4. E-Business 4.1 E-Business Grundlagen z z z E-Business und E-Commerce Marktmodelle im E-Commerce Traditionelle vs. Digitale Güter 4.2 Webtechnologien im E-Commerce-Umfeld z z z Verteilte Anwendungen Client-Server Dynamik Personalisierung 4.3 E-Commerce Zahlungssysteme z z Abwicklung sicherer Transaktionen Elektronische Bezahlsysteme Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 89 4.2 Webtechnologien im E-Commerce Personalisierung { Auf dem Weg zum „persönlichen“ Browser z z z z z Merken von Benutzerpräferenzen Anpassung der Benutzerschnittstelle • Sprache, Inhalt, Navigation Vorauswahl von Inhalten (Navigationsvorschläge) nach • Präferenzen, Status und Historie Interaktive Anpassung von Produkten nach • Präferenzen oder Historie Interaktive Konfiguration von Ressourcen und Diensten • Zusammenstellung von persönlichen Portal-Sites Ziel: mehr Komfort für den Nutzer ÅÆ mehr Umsatz für die Anbieter Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 90 4.2 Webtechnologien im E-Commerce Personalisierung { Wie kommt man zu Informationen über den Nutzer? z z z z Explizit durch Fragen und Antworten Implizit durch Clickstream-Analyse Cookies (um den Nutzer wiederzuerkennen) Authentifizierung durch Username/Password oder Client-Zertifikate z z Kann der Nutzer diese Informationsgewinnung kontrollieren? Inwieweit ist dabei Anonymität gewährleistet? Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 91 4.2 Webtechnologien im E-Commerce Informationsgewinnung durch Cookies { Beispiel Amazon GET http://www.amazon.de/ … inkl. amazon-Cookie Cookie von amazon.de Client amazon identifiziert Nutzer mit Cookie und entscheidet aus Historie heraus, welche Werbung präsentiert wird Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 92 4.2 Webtechnologien im E-Commerce Inter-Server-Nutzung von Cookies www.lycos.de GET http://www.lycos.de/ … Client amazon Werbe-Banner Cookie von amazon.de wird gesetzt Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] www.amazon.de 93 4.2 Webtechnologien im E-Commerce Informationsgewinnung aus dem HTTP Request GET … Browser HTTP-Request übermittelt -IP-Adresse -Domain Name -Referring Page -Client Plattform -Cookies Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] Web-Server 94 4.2 Webtechnologien im E-Commerce Informationsgewinnung mit Web-Bugs { Web-Bug = 1x1 Pixel große Grafik in HTML-Seiten / E-Mails, die eine Logfile-Aufzeichnung ermöglicht GET … Browser . Web-Bug Web-Server 1 HTML-Dokument Web-Server 2 registriert wie oft und von wem Web-Bug geladen wurde Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] Web-Server 2 95 4.2 Webtechnologien im E-Commerce Informationsgewinnung mit Web-Bugs { Web-Bug kann genutzt werden für z Informationsgewinnung über Nutzer ohne Zugriff auf Logfiles z Besucher-Zähler z Caches werden ausgeschaltet durch dynamische Namensgebung z Spezialfall E-Mail-Attachment: • Gültigkeit von E-Mail-Adressen • Wann die E-Mail gelesen wurde { Was kann man dagegen tun? z offline E-Mail lesen z keine HTML-E-Mail zulassen z Anti-Web-Bug Programm installieren • Ersetzt Web-Bug durch eigene Grafik…. Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 96 4.2 Webtechnologien im E-Commerce Informationsgewinnung durch Server-Log-Analyse { { { { { Identifikation unterschiedlicher Nutzer Möglichkeit der Prüfung der Effektivität von Marketingaktionen Feststellen der Popularität des eigenen Informationsangebots Woher kommen die Besucher? Wo (und warum) verlassen Besucher die WebSite? { Verwendung von Visualisierungs- und Analysetools z Data Mining • Aufdecken von zuvor unbekannten Zusammenhängen aus großen Datenmengen • Entdecken von Trends, Zusammenhängen und Abhängigkeiten z Predictive Modelling • Nutzung von Daten aus der Historie um zukünftiges Verhalten vorherzusagen Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 97 4.2 Webtechnologien im E-Commerce Informationsverarbeitung { Aufstellen von Regeln zur Auswahl von Inhalten z { Aufstellen von Regeln zur Segmentierung der Nutzer z { „Zeige alle E-Mails, deren Sender den Status Kontoinhaber hat und die im Body das Wort „Kredit“ enthalten“ „Nehme jeden, der in den letzten 4 Monaten einen Kredit von mehr als 10.000€ aufgenommen hat in die Gruppe „potenzielle Kunden“ auf.“ Aufstellen von Regeln aufgrund des Verhaltens z „Wenn jemand das Buch „WWW–Kommunikation, Internetworking, Webtechnologien“ gekauft hat, dann biete ihm auch ein Messerset aus dem Tele-Shop an.“ Kollaboratives Filtern Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 98 4. E-Business 4.1 E-Business Grundlagen z z z E-Business und E-Commerce Marktmodelle im E-Commerce Traditionelle vs. Digitale Güter 4.2 Webtechnologien im E-Commerce-Umfeld z z z Verteilte Anwendungen Client-Server Dynamik Personalisierung 4.3 E-Commerce Zahlungssysteme z z Abwicklung sicherer Transaktionen Elektronische Bezahlsysteme Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 99 4.3 E-Commerce Zahlungssysteme E-Commerce - Abwicklungsphase { Erfüllung der durch Vertragsabschluss eingegangenen Verpflichtungen z z z z { Abwicklungsphase Gut-Erstellung • Falls im Vertrag spezifiziert Auslieferung • Übermittlung des Guts Rechnungsstellung • Zusammenstellung und Versand der Rechnung Bezahlung des Guts • Transaktionsverarbeitung Abschluss: Vertragserfüllung Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 100 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen { Wie wird im WWW bezahlt? Elektronische Zahlungssysteme Kreditkartenbasierte Systeme Verschlüsselte Übertragung von Kreditkartendaten Guthabenbasierte Systeme Scheckkartenbasierte Systeme elektronische digitales Geld Geldbörse auf dem PC elektronische Schecks Telefonbasierte Systeme Abrechnung via Telefonrechnung Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 101 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen { Wie wird im WWW bezahlt? Technologische Konzepte Kontobasierte Verfahren Kunde muss über ein Konto verfügen Inhaberorientierte Verfahren (wissensbasiert) EC-Karte, Kreditkarte, Smartcard Inhaberorientierte Verfahren (besitzorientiert) Bargeld, elektronisches Geld, Geldkarte (Scheck, Kreditkarte, Lastschrift, Überweisung) Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 102 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen { Wie wird im WWW bezahlt? Technologische Konzepte Macropayment Medium Payment > 100 € 5 - 100 € Schecks, EC.Karte, Überweisung, Lastschrift, Kreditkarte Micropayment Nanopayment 0,1 - 5 € Geldkarte, Paybox, T-Pay, M-Pay 0 – 0,1 € Bannerwerbung Telefon Sicherheit vs. Wirtschaftlichkeit Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 103 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen { Vorteile elektronischer Zahlungssysteme z z z z Bestell-, Bezahl- und Liefervorgang wird beschleunigt • Kein Medienbruch Kostenvorteile • durch eingesparte Zeit • Gebühren für Überweisung, Nachnahme, ... entfallen Vereinfachung von internationalem E-Commerce • Z.B. Kreditkartenzahlungen Je nach Bedarf kann Anonymität / Authentifikation gewährleistet werden Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 104 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen { Risiken elektronischer Zahlungssysteme z z für den Verkäufer • Zahlungsausfall • Authentifikation des Käufers • betrügerische Kunden für den Käufer • unseriöse, betrügerische Händler • Authentifikation des Verkäufers Anforderungen an sicheren elektronischen Zahlungsverkehr Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 105 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen { Anforderungen an sicheren elektronischen Zahlungsverkehr 1. 2. Sicherheit { Authentifikation von Käufer und Verkäufer über Zertifikate { Datenintegrität durch Verwendung digitaler Signaturen { Vertraulichkeit durch Datenverschlüsselung { Verbindlichkeit der Transaktion { Ausfallsicherheit Transaktionen stets ACID-Konform { Atomar { Consistency { Integrity { Durability Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 106 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen { Anforderungen an sicheren elektronischen Zahlungsverkehr 3. 4. Wirtschaftlichkeit { Käufer- und Verkäuferkosten, die durch die Nutzung entstehen oder die Benutzung erst möglich machen, müssen gering und den Umsätzen entsprechend wirtschaftlich vertretbar sein Akzeptanz { Käufer { Verkäufer { Finanzdienstleister Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 107 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen { Vergleich traditioneller Bezahlsysteme Vorteile Käufer Verkäufer Nachnahme kein Konto kein Zahlungsnötig, ausfallrisiko Erhalt der Ware sichergestellt Rechnung Ware kann geprüft werden vor Zahlung, keine Übermittlung sensibler Daten Nachteile Käufer hohe Transaktionsko sten, keine Garantie für fehlerfreie Ware Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] Verkäufer Verwaltungsaufwand hohes Zahlungsausfall risiko, Verwaltungsauf wand 108 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen { Vergleich traditioneller Bezahlsysteme Vorteile Käufer Nachteile Verkäufer Käufer Verkäufer Lastschrift bequem bequem Verkäufer erhält sensitive Daten Zahlungsausfallsrisiko durch Stornierung Kreditkarte/ EC-Karte bequem, einfache Handhabung, hohe Akzeptanz weltweit Kreditkartengesellschaft trägt Zahlungsausfall srisiko Aufschlag bei Auslandskäufen Gefahr des Missbrauchs der übermittelten sensitiven Daten Gefälschte Kreditkartennummern, hohe Transaktionskosten Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 109 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen { Kreditkarten im Online-Handel z Missbrauchsängste des Käufers • • z Reklamationsprobleme bei Verkäufer und Kreditkartenfirma • z keine Kontrolle der Verwendung der übermittelten Daten Stornierungsaufwand für ungerechtfertigte Belastungen ca. 5% der Kreditkartenanwendungen im Internet, aber 50 % aller Reklamationen MOTO-Kreditkartenvertrag des Verkäufers • • • • MailOrder/TelephoneOrder Verträge mit besonderen Konditionen Verkäufer zahlt höhere Gebühren Verkäufer erhält keine Zahlungsgarantie (Kunde kann Widerrufen) Käufer übermittelt sensitive Daten an unbekannten Empfänger Sichere Kreditkartenzahlungen via SET Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 110 4. E-Business 4.1 E-Business Grundlagen z z z E-Business und E-Commerce Marktmodelle im E-Commerce Traditionelle vs. Digitale Güter 4.2 Webtechnologien im E-Commerce-Umfeld z z z Verteilte Anwendungen Client-Server Dynamik Personalisierung 4.3 E-Commerce Zahlungssysteme z z Abwicklung sicherer Transaktionen Elektronische Bezahlsysteme Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 111 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen { Secure Electronic Transactions – SET Standard für die Sicherheit von Transaktionen mit Kreditkarten gemeinsames Projekt von VISA und Mastercard Annahme der Zahlungsnachrichten vom Händler Stellt dem Kunden Kreditkarte aus Kundenbank besitzt Kreditkarte, kauft und zahlt digital Händlerbank Certificate Authority Kunde Verkauft via Internet und akzeptiert digitale Zahlungen Payment Gateway SET Transaktion Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] Händler 112 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen { SET - Ablauf der Bestelldaten mit den Kreditkartendaten, wobei Händler soll Kreditkartendaten nicht sehen Bank soll Bestelldaten nicht sehen Idee: duale Unterschrift S2=KsS(MD(MD(Zahlungsautorisierung)*MD(Bestelldaten))) + MD(Zahlungsautorisierung) + Bestelldaten + KpPG(Zahlungsautorisierung) Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 113 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen { SET - Ablauf S2, MD(Bestelldaten) KpPG(Zahlungsautorisierung) Payment Gateway S2, MD(Zahlungsautorisierung) Kunde KpPG(Zahlungsautorisierung) Bestelldaten Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] Händler 114 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen { SET – Kryptografieverfahren z z z z Hash-Verfahren für Message Digest • SHA-1 (160 Bit) Verschlüsselung: • DES (56 Bit Schlüssel) • RSA (1024/2048 Bit Schlüssellänge) • CMDF – Commercial Data Masking Facility (40 Bit Schlüssellänge) X.509 Zertifikate Duale Unterschriften Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 115 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen { SET Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 116 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen { SET VISA und Mastercard gehen getrennte Wege Æ VISA und „3D Secure“ Æ Mastercard und „Secure Code“ Gemeinsamkeiten: Server-Wallets Verifizierungsmechanismen (z.B. Passwörter) statt lokaler Zertifikate auf Kundenseite Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 117 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen Biometrische Sicherheitsverfahren Authentifizierung durch physische Merkmale Geringe Anwendung, da Æ Fingerabdruck, Augennetzhaut-Scans, Handflächengeometrie, Stimmproben zu teuer Mobilitätseinschränkung statischer Informationsfluss Æ Replay-Attacke …noch zu unsicher! Hybride verknüpfte Sicherheitslösungen Asymmetrische Verschlüsselung + Biometrie + Smartcards Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 118 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen Zahlen per Treuhänder Æ Æ Unabhängige Partei kontrolliert Zahlungsabwicklung für Kunde und Händler von Bedeutung ILOXX (Ebay) S-ITT (Sparkassen-Lösung) 1. Registrierung (Kunde/Händler) und Vergabe Treuhandauftrag 2. Einverständnis beider Parteien 3. Käufer überweist Geld an S-ITT 4. Händler erhält Bestätigung über Zahlungseingang bei S-ITT 5. Versand der Ware 6. Käufer bestätigt Warenerhalt 7. S-ITT überweist Zahlungsbetrag an Händler Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 119 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen Micropayments Beträge im Bereich von 0,05 € – 5 € Forderung: sicher aber preiswert und mit vertretbarem Aufwand Bsp. MicroDollar speziell zum Bezahlen von WWW-Seiten einfache Umwandlung kostenfreier WWW-Seiten in WWWSeiten mit geringfügiger Kostenbeteiligung aufladbares virtuelles MicroDollar-Konto Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 120 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen Bsp. MicroDollar Anbieter HTML-Datei MicroDollar verschlüsselte HTML-Datei Kunde verschlüsselte HTML-Datei verschlüsselte HTML-Datei, Benutzer, Passwort Anbieter MicroDollar Entschlüsselte HTML-Datei Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 121 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen Bsp. MicroDollar Hertha BSC - Nürnberg: íO%6TÉí%XÉ Wolfsburg - Leverkusen: íO%6TÉí%ZÉ FC Bayern - Bochum: íO%3TÉí%XÉ Hannover - Dortmund: íO%ZTÉí%oÉ M'gladbach - Bielefeld: íO%oTÉí%ZÉ Schalke - Hamburg : íO%oTÉí%ZÉ K'lautern - Cottbus: íO%3TÉí%ZÉ Bremen - Rostock: íO%ZTÉí%ZÉ Stuttgart - 1860: íO%3TÉí%XÉ Hertha BSC - Nürnberg: 2:1 Wolfsburg - Leverkusen: 2:0 FC Bayern - Bochum: 4:1 Hannover - Dortmund: 0:3 M'gladbach - Bielefeld: 3:0 … … Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 122 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen Bsp. Firstgate click&buy Bezahlung von Internetinhalten Leistungen diverser Anbieter werden von Firstgate gesammelt und via Kreditkarte/Bankeinzug beglichen Registrierung via HTTP/SSL Username Password Freischaltcode via E-Mail Kunde Händler Anbieter verlinkt kostenpflichtige Internetangebote nach Vorgabe von Firstgate Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 123 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen Bsp. Firstgate click&buy Kosten für Anbieter: - 25€ Anmeldung - 5 € monatlich - + Transaktionskosten Übermittlung der Zahlungsautorisierung via HTTP-SSL Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 124 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen Bsp. T-Pay Elektronisches Bezahlsystem der T-COM wie click&buy, erlaubt aber zusätzlich Abrechnung via Telefonrechnung Zahlungen mit Kreditkarte oder Lastschrift Zahlungen mit Prepaid-Card Zahlungen via Pay-per-Call Sicherheit: Datenübertragung via HTTP-SSL Freischaltcode kommt per Post Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 125 4.3 E-Commerce Zahlungssysteme Abwicklung sicherer Finanztransaktionen Bsp. PayPal 2003 von Ebay gekauft Käufer und Händler müssen sich bei PayPal registrieren lassen PayPal verwaltet Konten für Käufer und Verkäufer Käufer zahlt über Kreditkarte oder Prepaid-Konto Händler wird von PayPal über Zahlungseingang informiert Händler trägt Transaktionskosten Æ 1,9% - 3,4% Private Konten/Transaktionen sind (noch) gebührenfrei In > 37 Ländern akzeptierte Zahlungsvariante Sicherheit: HTTP-SSL und Autorisierung via E-Mail-Adresse/Password Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 126 4. E-Business 4.1 E-Business Grundlagen z z z E-Business und E-Commerce Marktmodelle Traditionelle vs. Digitale Güter 4.2 Webtechnologien im E-Commerce-Umfeld z z z Verteilte Anwendungen Client-Server Dynamik Personalisierung 4.3 E-Commerce Zahlungssysteme z z Abwicklung sicherer Transaktionen Elektronische Bezahlsysteme Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 127 E-Business z Literatur • Ch. Meinel, H. Sack: WWW – Kommunikation, Internetworking, Web Technologien, Springer, 2004. • C. Strobel: Web-Technologien in E-Commerce-Systemen, Oldenbourg, 2003. Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 128 E-Business z Literatur • R. Orfali, D. Harkey: Client/Server-Programming with JAVA and CORBA, 2nd ed.,John Wiley & Sons, 1998. • Schwarze, Schwarze: Electronic Commerce – Grundlagen und praktische Umsetzung, Verlag Neue Wirtschaftsbriefe, 2002. Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 129 E-Business z Literatur • R.Monson-Haefel: Enterprise JavaBeans, 3. Aufl., O‘Reilly, 2003. Webtechnologien Dr.rer.nat. Harald Sack, Institut für Informatik, FSU Jena, Ernst-Abbe-Platz 2-4, D-07743 Jena, E-Mail: [email protected] 130