630 likes | 724 Views
Shopping mit Aglets - MAgNET. Seminar Software-Agenten WS 01/02 Vortrag Aglets-Anwendung : Shopping Referenten: Dominik Grüning, Dominik Wilmsen Institut für Geoinformatik. Gliederung. Vorstellung von MAgNET – Gliederung Motivation für MAgNET Aglets – Wiederholung
E N D
Shopping mit Aglets - MAgNET Seminar Software-Agenten WS 01/02 Vortrag Aglets-Anwendung : Shopping Referenten: Dominik Grüning, Dominik Wilmsen Institut für Geoinformatik
Gliederung • Vorstellung von MAgNET – Gliederung • Motivation für MAgNET • Aglets – Wiederholung • Die Architektur des MAgNET – Systems • Die MAgNET Sicherheits-Mechanismen • Alternativen für mobile Agenten • Einsatzmöglichkeiten für Aglets
E-Commerce MAgNET - Die Motivation Internet und WWW ermöglicht E-Commerce Dabei entstandene Probleme Webseiten meist interaktiv schnelle Änderungen der Nachfrage und der Kaufvorlieben Verfügbarkeit wird immer wichtigerer Faktor
E-Commerce • MAgNET - Die Motivation • Weitere Anforderungen an E-Commerce • Koordinierung und Abstimmung • Reduktion von Verzögerungen und Netzwerklast
E-Commerce MAgNET - Die Motivation E-Commerce – Lösungsmöglichkeiten Einsatz von mobilen Software- Agenten Passendste und zukunftsweisendste Technologie dabei: IBM‘s AGLETs
Aglets - Wiederholung Aglets – Wiederholung (1) Bieten Möglichkeiten von Agenten auf einfache, aber ausreichende Weise Ähnlichkeiten zu Applets in Bezug auf Kontext und Ausführbarkeit
Aglets - Wiederholung Aglets – Wiederholung (2) Programmiergrundlage: ASDK Beinhaltet: Objektorientierte Schnittstelle Mechanismen für die Bewegung von Code, Daten und Status Information Entwicklungs- und runtime Umgebung (TAHITI)
Aglets - Wiederholung Aglets – Wiederholung (3)
Aglets - Wiederholung Aglets – Wiederholung (4) Funktionalitäten in Klassen Aglet, AgletProxy und AgletContext enthalten Alle Aglets erben von Klasse Aglet einheitliche Schnittstelle einige Fähigkeiten und Eigenschaften Methoden, die bei Erzeugung überschrieben werden
Aglets - Wiederholung Aglets – Wiederholung (5) AgletProxy: beinhaltetMethode, die Zugriff auf Aglet erlaubt leitet requests an entfernte Rechner weiter und gibt Resultate an Rechner wieder jede Kommunikation eines Aglets läuft über den Proxy Sicherheit
Aglets: MAgNET Aglets – Wiederholung (6)
Aglets: MAgNET Aglets – Wiederholung (7)
Aglets: MAgNET E-Commerce – Lösungsmöglichkeiten (Bild 1)
MAgNET – System Die Architektur des MAgNET Systems Was ist das? Welches Konzept verfolgt es? Test-System für den gebrauch im Bereich E-Commerce Konzept: Pull model of marketing... Der Käufer tritt mit seinen Anforderungen an den Anbieter heran!
MAgNET – System • Die Architektur des MAgNET Systems • Grobe Funktionsweise (1) • Käufer hat Liste mit potentiellen Lieferanten und deren Produktangeboten – mit diesem Wissen: • Käufer erzeugt einen Mobilen Agenten, • Gibt diesem einen „Reisplan“, • Spezifiziert Kriterien für den Erwerb des Produkts, • Verschickt Mobilen Agenten an potentielle Anbieter.
MAgNET – System • Die Architektur des MAgNET Systems • Grobe Funktionsweise (2) • Mobiler Agent... (das Aglet) • besucht jede Anbieterseite, • durchsucht deren Angebotskatalog nach zu den Kriterien passenden Produkten, • kehrt mit dem besten Angebot zur Seite des Käufers zurück.
MAgNET – System Die Architektur des MAgNET Systems Grobe Funktionsweise (3) Käufer kann Angebot bestätigen Transaktion der Zahlung Käufer kann die Anfrage verwerfen Aglet wird vernichtet
MAgNET – System Die Architektur des MAgNET Systems
MAgNET – System • Die Architektur des MAgNET Systems • Das Subsystem des Käufers • Stationärer Agent • Graphical User Interface (GUI) • Datenstruktur für unerfüllte Kaufaufträge • Datenstruktur für bevorstehende Kaufreservierungen und Kaufbestätigungen
MAgNET – System Die Architektur des MAgNET Systems Interne Datenstruktur Produkte werden in XML kommentierter Datenstruktur beschrieben, welche einen gerichteten azyklischen Graphen (DAG) beschreibt. DAG enthält notwendige Komponenten zur Bestimmung des Produktes
MAgNET – System • Die Architektur des MAgNET Systems • Inhalt des DAG... • Jeder Knoten des DAG besitzt Angaben über • Produktname • maximaler Preis • Anzahl • Termin • Potentielle Anbieter (URL, ID, Produkt_ID)
MAgNET – System Die Architektur des MAgNET Systems Die Käuferseite... Stationärer Agent durchläuft den DAG (Tiefensuche) • Anforderungen des Käufers (Preis, Anzahl, Deadline, Priorität...) werden gelesen • Ergebnisse werden in Anweisungs-Tabelle geschrieben (codiert) • Aus Tabelle werden Instruktionen für Aglet generiert
MAgNET – System Die Architektur des MAgNET Systems Die Käuferseite...
MAgNET – System • Die Architektur des MAgNET Systems • Die Käuferseite... • Ist der Anweisungs-Tabelle fertig, dann... • Aglet wird vom stationären Agenten erzeugt • Aglet wird vom stationären Agenten initialisiert • Stat. Agent verschickt Aglet an erste URL
MAgNET – System • Die Architektur des MAgNET Systems • Das Käufer Aglet erhält Informationen über... • Anbieter • zu beschaffende Produkte • Preis • Anzahl • Deadline • Priorität
MAgNET – System • Die Architektur des MAgNET Systems • Das Käufer Aglet: Stop-and-Shop (1) • Mobiler Agent konstruiert für jedes Produkt ein Objekt bestYet • Stop-and-Shop Schema: • Aglet besucht jeden Anbieter auf Reiseroute • auf jeder Anbieterseite prüft Aglet seinen Standort und entscheidet nach welchen Komponenten er an diesem Standort suchen soll
MAgNET – System • Die Architektur des MAgNET Systems • Das Käufer Aglet: Stop-an-shop (2) • Aglet initialisiert einen Dialog mit stationärem Anbieter-Agenten (obtainOuotation) • Anfragen an den Anbieter-Agenten • reagiert mit Angeboten – falls diese besser sind: • Aglet macht Kaufoption • Kaufoption wird protokolliert • bestYet wird aktualisiert
MAgNET – System private void obtainQuotation(String productString) { invoke the supplier´s stationary agent to enquire about the availability of the component part if supplier´s stationary agent asks for time to quote if time is not the buyer´s priority mobile agent can wait for the stationary agent else record pending enquiry proceed to next request compare component price and available quantity with bestYet if this deal is advantageous send a message to the supplier´s stationary agent asking for a reservation record the reservation }
MAgNET – System • Die Architektur des MAgNET Systems • Das Käufer Aglet: Stop-and-Shop (3) • Angebotsanfragen vorbei... • Käufer-Aglet prüft, ob Kaufoptionen angemeldet wurden und ob Antworten des Agenten ausstehen • Falls ja, • Surrogate – Agent wird erzeugt (vom Aglet) • Kaufoptionsliste und Liste der ausstehenden Angebote werden diesem übergeben
MAgNET – System • Die Architektur des MAgNET Systems • Das Käufer Aglet: Stop-and-Shop (4) • Aglet verlässt diesen Anbieter zur nächsten Station • Surrogate – Agent wird auf Käuferseite belassen • usw.
MAgNET – System • Die Architektur des MAgNET Systems • Das Käufer Aglet... • Mobiler Agent kehrt letztendlich zurück... • Das bestYet Objekt enthält nun entweder • das beste Kaufangebot oder • den vom Käufer initialisierten Zustand • Mobiler Agent unterrichtet den stationären Agenten von den gemachten Kaufoptionen und zerstört sich dann selbst
MAgNET – System • Die Architektur des MAgNET Systems • Das Subsystem des Anbieters • Stationärer Agent • Bestandliste (Produkt Katalog) • Logbuch • Interface zur Produktplanungs-Software
MAgNET – System • Die Architektur des MAgNET Systems • Die Anbieterseite... • Anfragen werden an Anbieter-Agenten gemacht • checkAvailability() wird aufgerufen...
MAgNET – System Die Architektur des MAgNET Systems public void checkAvailability(reqComponentType component) { search the local inventorty using the XML parser if component is found send response to buyer´s mobil agent about availibility else request buyer´s mobil agent for time to quote if mobile agent agrees to wait invoke the planing software }
MAgNET – System • Die Architektur des MAgNET Systems • Anbieter – Agent Aufgaben (1) • Agent muss mit Antworten des Aglets oder des Surrogate - Agenten umgehen können • Wunsch einer Kaufoption • Aufhebung von Kaufoptionen • Kaufbestätigungen
MAgNET – System • Die Architektur des MAgNET Systems • Anbieter – Agent Aufgaben (2) • Agent übernimmt Kommunikation zwischen „planning software“ und Surrogate - Agent • Kaufbestätigung Agent handelt mit Aglet/Surrogate Bezahlung aus • Aufhebung einer Option Reservierungsgebühr an Aglet/Surrogate (sehr gering)
MAgNET – System Übersicht - Anbieterseite...
MAgNET – System • Die Architektur des MAgNET Systems • Vielschichtige Versorgungskette • Es gibt mehrere Ebenen der Zulieferer • Komplikationen: Mehrere Anbieter haben den selben Lieferanten für Rohmaterial oder Subkomponenten • Beispiel • Käufer braucht 100 Komponenten • fragt bei 3 Zulieferern an (alle haben den gleichen Lieferanten) • Zulieferer auf nächster Ebene kann nur über 100 Komponenten verfügen
MAgNET – System Die Architektur des MAgNET Systems Problem Zulieferer wissen nicht, dass nur ein Auftrag vorliegt und kennen wahre Kaufabsichten nicht Käufer will gewöhnlich ungern sein genaues Vorhaben zu früh bei den Verhandlungen preisgeben MAgNET löst dieses und andere derartige Problem mit einer Codewort-Strategie...
MAgNET – System Die Architektur des MAgNET Systems Codewort – Strategie Aglet gibt mit Anfrage Codewort heraus (2- teilig): Erster Teil beinhaltet Käufer Zweiter Teil codiert die potentiellen Einkäufe Auf jeder Ebene verlängert sich das Codewort
MAgNET – System Die Architektur des MAgNET Systems
MAgNET – Security Architecture • Sicherheit in MAgNET (1) • Probleme bei mobilen Agenten • Sicherheit einer der größten Kritikpunkte am mobilen Agenten-System • Programm-Code und Daten können von einem Rechner zum andern wandern • Mobile Agenten sowie die hosts sind verwundbar
MAgNET – Security Architecture • Sicherheit in MAgNET (2) • Arten von Security Problemen • Bösartiger Agent • Bösartiger Host • Eindringlinge, die versuchen System zu untergraben
MAgNET – Security Architecture Sicherheit in MAgNET (3) Arten von Security Problemen (malicious buyer) Bösartige „Käufer“ versuchen, den Verkäufer zu betrügen (malicious seller) Bösartiger „Verkäufer“ versuchen Käufer-Agenten oder andere Verkäufer auszuschalten
MAgNET – Security Architecture Sicherheit in MAgNET (4) Eigenschaften des Lösungsmodells Beide vorher genannten Probleme werden mit dem in MAgNET implementierten Security-Modell beseitigt Lösung basiert nicht auf zentralem Server oder System von vertrauenswürdigen Hosts
MAgNET – Security Architecture Sicherheit in MAgNET (5) Andere Sicherheitstechniken Oft von Java abgeleitet: Einschränkung des Zugriffs auf System-Ressourcen Einschränkung der Privilegien des Benutzers
MAgNET – Security Architecture • Sicherheit in MAgNET (6) • Andere Sicherheitstechniken • Bisherige Ansätze zur Lösung des bösartigen-Server Problems: • Mobile Kryptographie • zeit-begrenzte Blackbox • Multi-Hop Protokoll
MAgNET – Security Architecture Sicherheit in MAgNET (7) Malicious Buyer Bei unauthorisiertem Zugriff auf Ressourcen können private Informationen gesammelt werden oder wichtige Inhalte zum eigenen Vorteil geändert werden Mobile Agenten können auch zuviele System-Ressourcen anfordern und so das Seller-System überlasten Mobile Agenten können Agenten hinterlassen , die Informationen ausspionieren
MAgNET – Security Architecture Sicherheit in MAgNET (8) Malicious Host Host kann Operationen des mob. Agenten aufzeichnen und den Agenten klonen – dann kann sich dieser Klon mit veränderten Eigenschaften in andere Systeme einschleichen Host kann Wert ändern, der vom System als Hostname zurückgegeben wird – er gibt sich als anderer Host aus Host kann Agenten nach Eintritt an der Ausführung hindern oder töten - Denial of Service
MAgNET – Security Architecture Sicherheit in MAgNET (9) Malicious Host Mobiler Agent kann zwischen 2 Verkäufern abgefangen und seine Werte verändert werden Host kann Daten des mobilen Agenten ändern um sein Angebot attraktiver zu machen Host kann falsche Ausführung des Codes hervorrufen