4. Informatiktag NRW 14.3.05. Projekt online Shop. Barbara Leipholz Schumacher Euregio Kolleg, Würselen



Ähnliche Dokumente
Remote Method Invocation

Java: Vererbung. Teil 3: super()

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Java-Programmierung. Remote Method Invocation - RMI

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Java RMI Remote Method Invocation

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Bedienungsanleitung für den Online-Shop

SWE5 Übungen zu Software-Engineering

Kurzanleitung Schneider Online Shop

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

Große Übung Praktische Informatik 1

Willkommen im Online-Shop der Emser Therme GmbH

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

Themen. Web Service - Clients. Kommunikation zw. Web Services

Programmieren in Java

Online-Bestellung Tageskarten für Mitglieder des FC St. Pauli, die nicht im Besitz einer Dauer- oder Saisonkarte sind.

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Remote Method Invocation

Übungen zu Softwaretechnik

Lizenzen auschecken. Was ist zu tun?

Remote Method Invocation

Beschaffung mit. Auszug aus dem Schulungshandbuch: Erste Schritte im UniKat-System

Java Kurs für Anfänger Einheit 5 Methoden

Anleitung für IQES-Verantwortliche Persönliche Konten verwalten

Bestellablauf Online Shop

Benutzerverwaltung Business- & Company-Paket

Objektorientierte Programmierung

Software Engineering Klassendiagramme Assoziationen

Softwaretechnologie -Wintersemester 2011/ Dr. Günter Kniesel

Anleitung zum online Datenbezug. Inhalt:

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

SEQUENZDIAGRAMM. Christoph Süsens

Bestellprozess bei der IDW Verlag GmbH

4. AuD Tafelübung T-C3

ecaros2 - Accountmanager

Übungsblatt 4: Requirements Engineering (2) (für die Übungswoche )

Wie der Shop funktioniert!

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Bedienungshinweise shop.flaboform.de 1. Zugang

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Kurzanleitung Zugang Studenten zum BGS-Netzwerk (Mac) BGS - Bildungszentrum Gesundheit und Soziales Gürtelstrasse 42/ Chur

Benutzeranleitung Superadmin Tool

Objektorientierte Programmierung

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

So funktioniert das online-bestellsystem GIMA-direkt

Erste Schritte ANLEITUNG Deutsche Sportausweis Vereinsverwaltung Schnittstelle zum Portal des Deutschen Sportausweises unter

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

PartnerWeb. Anleitung. Personaladministration online erledigen. Telefon:

Hilfe zur ekim. Inhalt:

Software Engineering Klassendiagramme Einführung

Mobile und Verteilte Datenbanken

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Startseite, wenn Sie auf unseren Online-Shop gehen

Clientkonfiguration für Hosted Exchange 2010

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen.

HESS-Shop. Handbuch. Etikettenformulare veredelte Produkte Garnituren Laserrollen Beipackzettel

Informatik für Schüler, Foliensatz 23 Konstruktor, String-Methode und Heldenklassse

Software Engineering Interaktionsdiagramme

FAQ. Hilfe und Antworten zu häufig gestellten Fragen

Corporate Marketing & Communications. Ganz einfach im 3M Online-Shop bestellen. So wird bestellt.

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Kurzanleitung OOVS. Reseller Interface. Allgemein

M-net -Adressen einrichten - Apple iphone

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Kundenleitfaden zur Sicheren per WebMail

Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06

7.1.5 Java RMI Remote Method Invocation ( (

Einkaufslisten verwalten. Tipps & Tricks

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis 1

How to do? Projekte - Zeiterfassung

Office2010- Work-at-Home-Lizenzen Ausführliche Anleitung zum Download. Office2010- Work-at-Home-Lizenzen. Bildung und Sport

Der lokale und verteilte Fall

Bedienungsanleitung für die Online Kinderbetreuungsbörse des Landkreises Osnabrück

Javakurs zu Informatik I. Henning Heitkötter

Installation und Inbetriebnahme von SolidWorks

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Workflows verwalten. Tipps & Tricks

Installation Hardlockserver-Dongle

DOKUMENTATION IVT Online-Shop

mysoftfolio360 Handbuch

PayPal API Zugang aktivieren und nutzen Version / Datum V 1.5 / a) Aktivierung auf der PayPal Internetseite. 1 von 7

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2

Leichte-Sprache-Bilder

Wir freuen uns, dass Sie sich für ein E-Book unseres Verlagshauses entschieden haben.

Objektorientierte Programmierung OOP

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation

Vertrieb durch: h+f Informatik und Elektrotechnik Washingtonstrasse 32 CH-9400 Rorschach Tel: +41 (0) Mobile: +41 (0)

Websites mit Dreamweaver MX und SSH ins Internet bringen

Anmeldung im LAUER-FISCHER Internet-Portal

Hilfe zum Service Einzug

IM Online help Stand April 2015

Synthax OnlineShop. Inhalt. 1 Einleitung 3. 2 Welche Vorteile bietet der OnlineShop 4

Anleitung zur Registrierung von MSDNAA (DreamSpark) und Erwerb der Microsoft Produkte

Hilfedatei der Oden$-Börse Stand Juni 2014

Programmiermethodik. Übung 13

Kleines Handbuch zur Fotogalerie der Pixel AG

Kurzdokumentation WebShop

Neue Kennwortfunktionalität. Kurzanleitung GM Academy. v1.0

Transkript:

1/51 Projekt online Shop 4. Informatiktag NRW 14.3.05 Barbara Leipholz Schumacher Euregio Kolleg, Würselen

2/51 Die Firma Sprachen Lernen möchte ihr Angebot auf online Bestellungen ausweiten. Sprache Art Englisch Anfänger, Fortgeschritten Englisch Anfänger + Fortgeschritten Netzwerk (5 Lizenzen) Französisch Anfänger, Fortgeschritten Französisch Anfänger + Fortgeschritten Netzwerk (5 Lizenzen) Spanisch Anfänger, Fortgeschritten Spanisch Anfänger + Fortgeschritten Netzwerk (5 Lizenzen) Chinesisch Anfänger Preis 44,95 199,95 44,95 199,95 44,95 199,95 79,95 Neue Kunden können sich online eintragen. Bereits registrierte Kunden melden sich mittels Benutzername und Kennwort an und können online Rechnungs und Lieferadresse und Bankverbindung bzw. Kreditkartendaten aktualisieren. Der Kunde kann von den angezeigten Artikeln einzelne Artikel zur Bestellung auswählen. Um die endgültige Bestellung durchzuführen, muss er sich authentisieren. Danach werden die zur Bestellung vorgemerkten Artikel, ihre Preise sowie der Rechnungsbetrag angezeigt. Wird die Bestellung abgeschickt, erhält der Kunde eine E Mail mit der Bestätigung der Bestellung und der Rechnung. Das System soll Kundendaten verwalten, insbesondere Name, Vorname, e Mail Adresse, Rechnung und Lieferadresse, Bankverbindung, Benutzername und Passwort des Kunden, sowie seine Bestellungen. Zusätzlich hat der Anbieter die Möglichkeit die einzelnen Artikel zu verwalten, d.h. Artikel aus dem Angebot streichen, Artikel ergänzen und Preise ändern.

3/51 Phasen der Softwareentwicklung Analyse Entwurf Implementierung Test Systemeinführung Wartung

4/51 Objektorientierte Analyse Relevante Abläufe der Realität auf ein Modell übertragen. Erforschen des Anwendungsbereichs Anwendungsfälle herausfinden Objekte aus den Anwendungsfällen herausarbeiten Klassen von den Objekten ableiten den Klassen Aufgaben zuordnen Zusammenarbeit von Klassen festlegen Quelle: http://www.die.informatik.uni siegen.de/iml/im/ooa/ooa.htm#anfang

Anforderung 5/51

6/51

Anforderung 7/51

8/51

9/51

10/51 Klassen ermitteln Analyse > Textanalyse > Substantive unterstreichen Das Angebot: Sprache Art Englisch Anfänger, Fortgeschritten Englisch Anfänger + Fortgeschritten Netzwerk (5 Lizenzen) Französisch Anfänger, Fortgeschritten Französisch Anfänger + Fortgeschritten Netzwerk (5 Lizenzen) Spanisch Anfänger, Fortgeschritten Spanisch Anfänger + Fortgeschritten Netzwerk (5 Lizenzen) Chinesisch Anfänger Preis 44,95 199,95 44,95 199,95 44,95 199,95 79,95 Neue Kunden können sich online eintragen. Bereits registrierte Kunden melden sich mittels Benutzername und Kennwort an und können online Rechnungs und Lieferadresse und Bankverbindung aktualisieren. Der Kunde kann von den angezeigten Artikeln einzelne Artikel zur Bestellung auswählen. Um die endgültige Bestellung durchzuführen, muss er sich authentisieren. Danach werden die zur Bestellung vorgemerkten Artikel, ihre Preise sowie der Rechnungsbetrag angezeigt. Wird die Bestellung abgeschickt, erhält der Kunde eine E Mail mit der Bestätigung der Bestellung und der Rechnung. Das System soll Kundendaten verwalten, insbesondere Name, Vorname, e Mail Adresse, Rechnung und Lieferadresse, Bankverbindung, Benutzername und Passwort des Kunden, sowie seine Bestellungen. Zusätzlich hat der Anbieter die Möglichkeit die einzelnen Artikel zu verwalten, d.h. Artikel aus dem Angebot streichen, Artikel ergänzen und Preise ändern.

11/51 Klassen ermitteln Analyse > Textanalyse > Substantive > Wertetest > Frage Kann ein Substantiv einen konkreten Wert annehmen? Angebot Sprache Art Preis Rechnungsadresse Lieferadresse Kunde Name Vorname Adresse Bankverbindung... Benutzername Passwort Artikel Bestellung Rechnung E Mail Bestätigung NEIN NEIN NEIN NEIN NEIN NEIN NEIN NEIN NEIN NEIN

12/51 Klassen ermitteln Analyse > Textanalyse > Substantive > Wertetest > Weitere Fragen 1. Ist Substantiv eindeutig identifizierbar, bzw. ist es wichtig 2 verschiedene Exemplare zu unterscheiden? 2. Hat Substantiv außer dem indentifizierenden Attribut noch ein weiteres? 3. Gibt es von Substantiv eine Mehrzahl? Substantiv Frage 1 Frage 2 Frage 3 Kunde Adresse Bank Kreditkarte Artikel Bestellung Rechnung

13/51 Operationen ermitteln Analyse > Textanalyse > Substantive > Wertetest > Weitere Fragen Tut Substantiv etwas oder wird mit Substantiv etwas getan? Substantiv Frage 4 Kunde wählt Artikel, geht zur Kasse,... Adresse ändern Bank ändern; Kontonummer, Bank, Bankleitzahl angeben Kreditkarte ändern; Kartennummer, Art, Verfallsdatum... angeben Artikel Artikelnummer, Sprache, Art, Preis angeben Bestellung Bestellung angeben Rechnung Rechnung angeben

14/51 Operationen und Assoziationen ermitteln Analyse > Textanalyse Assoziation Lehrbuch Grundlagen der Informatik, Helmut Balzert, S. 175 Eine Assoziation modelliert Verbindungen zwischen Objekten einer oder mehrer Klassen. Eine Assoziation modelliert stets Beziehungen zwischen Objekten, nicht zwischen Klassen. Es ist jedoch üblich, von einer Assoziation zwischen Klassen zu sprechen, obwohl streng genommen die Objekte dieser Klasse gemeint sind.

15/51 Operationen und Assoziationen ermitteln Analyse > Textanalyse > Verben unterstreichen Angebot: Sprache Art Englisch Anfänger, Fortgeschritten Englisch Anfänger + Fortgeschritten Netzwerk (5 Lizenzen) Französisch Anfänger, Fortgeschritten Französisch Anfänger + Fortgeschritten Netzwerk (5 Lizenzen) Spanisch Anfänger, Fortgeschritten Spanisch Anfänger + Fortgeschritten Netzwerk (5 Lizenzen) Chinesisch Anfänger Preis 44,95 199,95 44,95 199,95 44,95 199,95 79,95 Neue Kunden können sich online eintragen. Bereits registrierte Kunden melden sich mittels Benutzername und Kennwort an und können online Rechnungs und Lieferadresse und Bankverbindung bzw. Kreditkartendaten aktualisieren. Der Kunde kann von den angezeigten Artikeln einzelne Artikel zur Bestellung auswählen. Um die endgültige Bestellung durchzuführen, muss er sich authentisieren. Danach werden die zur Bestellung vorgemerkten Artikel, ihre Preise sowie der Rechnungsbetrag angezeigt. Wird die Bestellung abgeschickt, erhält der Kunde eine E Mail mit der Bestätigung der Bestellung und der Rechnung. Das System soll Kundendaten verwalten, insbesondere Name, Vorname, e Mail Adresse, Rechnung und Lieferadresse, Bankverbindung, Benutzername und Passwort des Kunden, sowie seine Bestellungen. Zusätzlich hat der Anbieter die Möglichkeit die einzelnen Artikel zu verwalten, d.h. Artikel aus dem Angebot streichen, Artikel ergänzen und Preise ändern.

16/51 Operationen und Assoziationen ermitteln Analyse > Textanalyse > Verben Ein Verb, das im Zusammenhang mit einem Substantiv erwähnt wird, das bereits als Klasse erkannt wurde, wird es als Operation zu dieser modelliert. Ein Verb, das im Zusammenhang mit mehreren Substantiven steht, bei denen es sich mit hoher Wahrscheinlichkeit um Klassen handelt, wird voraussichtlich als Assoziation zwischen den beiden Klassen modelliert. Ausdrücke wie "Bestellung ausführen", statt "bestellen", werden wie Verben betrachtet. Kunde auswählen Artikel Assoziation zwischen Kunde und Artikel Kunde bestellen Artikel Assoziation zwischen Kunde und Artikel Kundendaten eintragen Server Assoziation zwischen Kunde und Server Kunde anmelden Server Operation von Server Kunde authentisieren Server Operation von Server Kunde aktualisieren Bankverbindung,.., Adressen Assoziation Kunde, Bestellung, Artikel verwalten Server Assoziation Artikel streichen, hinzufügen Operation von Artikelverwaltung Artikel Preis ändern Operation Kundenverwaltung verwaltet Kunden Assoziation zwischen Kundenverwaltung und Kunde Artikelverwaltung verwaltet Artikel Assoziation zwischen Artikelverwaltung und Artikel

17/51 Assoziationen ermitteln, Kardinalitäten und Rollen ergänzen Analyse > Textanalyse > Verben Kardinalität Lehrbuch der Objektmodellierung, Heide Balzert, S. 57 Die Kardinalität bezeichnet die Wertigkeit einer Assoziation, d.h. sie spezifiziert die Anzahl der an der Assoziation beteiligten Objekte. Definition Rolle Lehrbuch Grundlagen der Informatik, Helmut Balzert, S. 175 Die Rolle gibt an, welche Funktion ein Objekt in einer Assoziation hat.

18/51 Operationen und Assoziationen ermitteln Kundenverwaltung Server verwaltet kommuniziert mit 1..* Adresse Kunde 0..* 1..* Artikel wählt aus/ bestellt hat 1..2 Konto 1..* hat hat 0..1 Geldkarte 0..1 verwaltet Artikelverwaltung

19/51 CRC Karten Analyse CRC = Class Responsibilities Collaborators (Klasse Zuständigkeiten Partnerklassen) Szenario Objektorientierte Programmierung mit Java, David Barnes, Michael Kölling, S. 394 Ein Szenario ist ein Beispiel für eine Aktivität, die das System ausführen oder unterstützen muss. Szenarios werden häufig auch als Geschäftsfälle (engl. use cases) bezeichnet.

20/51 CRC Karten Analyse > CRC Karten Kunde Klassenname Attribute Operation Beteiligte Attribute kundennummer nachname vorname email benutzername passwort Operation gibkundennummer gibnachname... aendereadresse aenderebankverbindung aendereemail aenderepasswort... Beteiligte Adresse Konto Geldkarte Artikel Bestellung Warenkorb

21/51 CRC Karten Analyse > CRC Karten Warenkorb Artikel Attribute artikelnummer sprache art preis Operation gibartikelnummer gibsprache... aenderepreis Beteiligte Attribute einkaufsliste Operation hinzufuegen entfernen ändereanzahl erhöheanzahl zustring Beteiligte ArtikelUndAnzahl

22/51 CRC Karten Analyse > CRC Karten ArtikelUndAnzahl Attribute zahl artikel Operation ändereanzahl erhöheanzahl gibanzahl gibartikel gibnummer gibsprache gibpreis gibartikel Bestellung Beteiligte Artikel Attribute datum kunde bestelliste Operation tostring gibrechnung Beteiligte Datum Kunde ArtikelUndAnzahl

CRC Karten Analyse > CRC Karten Karten so anordnen, dass Assoziationen und Kardinalitäten eingetragen werden können. 23/51

24/51 CRC Karten Analyse > CRC Karten Kunde Beteiligte Adresse Konto Geldkarte Artikel Bestellung Warenkorb ArtikelUndAnzahl Beteiligte Artikel 1..* 1 1 macht 1..* enthält hat 1 1 enthält Warenkorb 0..* 1 Bestellung Beteiligte ArtikelUndAnzahl Beteiligte Datum Kunde ArtikelUndAnzahl

25/51 Checkliste Klassen Analyse > Checklisten 1. Liegt ein aussagefähiger Klassenname vor? 2. Ist das gewählte Abstraktionsniveau richtig? 3. Wann liegt keine Klasse vor? 4. Relevanz der Objekte einer Klasse für das System? Quelle: http://www.die.informatik.uni siegen.de/iml/im/ooa/check.htm#anfang

26/51 Checkliste Operationen Analyse > Checklisten 1. Welche Aufgaben müssen realisiert werden? 2. Auf welche Ereignisse muss das System reagieren? 3. Welche Art von Operation liegt vor? 4. Zu welcher Klasse gehört die Operation? 5. Besitzt die Operation einen geeigneten Namen? Quelle: http://www.die.informatik.uni siegen.de/iml/im/ooa/check.htm#anfang

Anwendungsfallanalyse Analyse > Anwendungsfallanalyse bilder/usecasekunde.gif 27/51

28/51 Szenarios Analyse > Szenarios Artikel zum Warenkorb hinzufügen zur Kasse gehen Authentisierung Server Authentisierung Benutzer Bestellung bestätigen

Prototyping Analyse > Prototyping 29/51

30/51 Szenarios Analyse > Szenario 1. Sequenzdiagramm Artikel zum Warenkorb hinzufügen bilder/sequenzinwarenkorb.jpg 2. Aktivitätsdiagramm Server Authentisierung bilder/authentisierung.gif 3. Sequenzdiagramm zur Kasse bilder/sequencebestellung.jpg

Objektorientierter Entwurf Entwurf > Architektur Drei Schichten Architektur 1. Benutzungsoberfläche 2. Fachkonzept 3. Datenhaltung 31/51

32/51 Objektorientierter Entwurf Entwurf > Klassendiagramm Klassendiagramm ergänzen Container Klassen Attribute Sichtbarkeit Datentyp Operationen Sichtbarkeit Signatur Konstruktoren Uni und bidirektionale Assoziationen Assoziation, Aggregation, Komposition

33/51

bilder/kunde2.jpg 34/51

bilder/sitzung.jpg 35/51

bilder/bestellung.jpg 36/51

bilder/kundenverwaltung.jpg 37/51

bilder/artikelverwaltung.jpg 38/51

bilder/server.jpg 39/51

bilder/serverkrypto.jpg 40/51

41/51 RMI Remote Method Invocation ShopClient ShopClient Server Stub Skeleton

42/51 Client Stub Stellvertreterobjekt des Servers mit gleicher Schnittstelle leitet Methodenaufrufe an den Server weiter Server Skeleton nimmt Aufrufe des Stubs entgegen bereitet sie auf und übermittelt sie an das Serverobjekt erwartet das Ergebnis und sendet es zurück an den Stub 1. RMI Referenzschicht Finden des Kommunikationspartners, Namensdienst (Registry) 2. RMI Transportschicht Verwaltung der Kommunikationsverbindung und Abwicklung der Kommunikation 3. Transportschicht stellt Host zu Host Datendienste zur Verfügung 4. Internetschicht definiert den Aufbau von Datagrammen und routet Daten durchs Netz 5. Netzzugangsschicht enthält Routinen für den Zugriff auf physikalische Netze

43/51 rmiregistry Naming.lookup ShopClient Server.anmelden() Naming.rebind Server

44/51 Interface IServer import java.rmi.*; import java.util.vector; public interface IServer extends Remote { public Vector authentisiereserver(string geheimzahl, String testchiffre) throws RemoteException; public boolean authentisieren(string sitzungsid, String benutzername, String passwort) throws RemoteException; public void inwarenkorb(string sitzungsid, String nummer) throws RemoteException; public Vector gibwarenkorb(string sitzungsid) throws RemoteException; public Vector gibbestellung(string sitzungsid) throws RemoteException; public String gibanzahl(string sitzungsid, String nummer) throws RemoteException; public String gibgesamt(string sitzungsid, String nummer) throws RemoteException; public void aendereanzahl(string sitzungsid, String nummer, String anzahlneu) throws RemoteException; public void bestaetigen(string sitzungsid) throws RemoteException; public void beenden(string sitzungsid) throws RemoteException; }

45/51 Ergänzungen Server import java.rmi.*; import java.rmi.server.*; public class Server extends java.rmi.server.unicastremoteobject implements IServer //Konstruktor public Server() throws RemoteException { super();... }

46/51 Ergänzungen Server public static void main(string[] args) throws RemoteException { if (System.getSecurityManager() == null) System.setSecurityManager(new RMISecurityManager()); try { Server server = new Server(); Naming.rebind("//IPAdresse/onlineShop",server); } catch (Exception e) { e.printstacktrace(); } }

47/51 Ergänzungen Client 1. import java.rmi.*; 2. public static void main(string[] args) { try { System.setSecurityManager(new RMISecurityManager()); IServer server = (IServer) Naming.lookup("rmi://IPAdresse/onlineShop"); new ShopClient(server); } catch (Exception e) { e.printstacktrace(); } }

48/51 Ergänzungen Client 3. Die Methoden: try {... } catch ( RemoteException fehler) { e.printstacktrace(); } oder: public void methodenname(...) throws RemoteExeception

bilder/iserver.gif 49/51

50/51 1. Server und ShopClient kompilieren 2. Stub und Skeleton erzeugen rmic Server > Server_Stub.class, Server_Skel.class 3. Namensdienst starten rmiregistry 4. Server starten java Server java Djava.security.policy=/pfad/java.policy Server 5. Dateien auf Client Rechner kopieren ShopClient.class, Server_Stub.class 6. ShopClient starten java ShopClient java Djava.security.policy=/pfad/java.policy ShopClient

51/51 Security Java_Home/jre/lib/security/java.policy grant { permission java.security.allpermission; }; oder permission java.net.socketpermission localhost:1099, connect, accept,, listen