Εργαστηριακή Άσκηση Networking in Java. Οδηγίες προετοιμασίας - εκτέλεσης

Σχετικά έγγραφα
Βασικές Έννοιες Web Εφαρμογών

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Τεχνολογίες Παγκόσμιου Ιστού. 1η διάλεξη

Εισαγωγή στις ΤΠΕ ΙΙ Γιάννης Βρέλλης ΠΤΔΕ-Πανεπιστήμιο Ιωαννίνων. World Wide Web. Παγκόσμιος Ιστός

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)

(C) 2010 Pearson Education, Inc. All rights reserved.

Ιόνιο Πανεπιστήμιο Τμήμα Αρχειονομίας - Βιβλιοθηκονομίας Μεταπτυχιακό Πρόγραμμα Αθήνας Έτος

Υπηρεσίες Χαρτών Ιστού WMS. Ανάλυση των δυνατοτήτων και εφαρμογή στον ελληνικό χώρο.

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ

(Logic Gate Simulator)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ»

Πτυχιακή εργασία. Ανάπτυξη παιχνιδιού πολλών παικτών

Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης

Cloud Computing with Google and Microsoft. Despoina Trikomitou Andreas Diavastos Class: EPL425

Επίπεδο δικτύου IP Forwading κτλ

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Τεχνολογίες και Εφαρμογές Διαδικτύου

Στρατηγικές Ασφάλειας

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 1 17/01/2012

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

JAVA TUTORIAL ΠΕΡΙΕΧΟΜΕΝΑ. ΚΕΦΑΛΑΙΟ 1. Τί κάνει τη Java να ξεχωρίζει; Εγκαθιστώντας τη Java

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα

Πρωτόκολλα Διαδικτύου. Άγγελος Ρούσκας Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς

Web 論 文. Performance Evaluation and Renewal of Department s Official Web Site. Akira TAKAHASHI and Kenji KAMIMURA

Ανάπτυξη διαδικτυακής διαδραστικής εκπαιδευτικής εφαρμογής σε λειτουργικό σύστημα Android

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία ( ) Υπηρεσία FTP (File Transfer Protocol)

Εισαγωγή στη J2EE. Μέρος 2

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

Ψηφιακή ανάπτυξη. Course Unit #1 : Κατανοώντας τις βασικές σύγχρονες ψηφιακές αρχές Thematic Unit #1 : Τεχνολογίες Web και CMS

Κατανεμημένα Συστήματα. Javascript LCR example

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών

Τεχνικός Εφαρμογών Πληροφορικής

University of Macedonia Master in Information Systems. Networking Technologies professors: A. Economides A. Pobortsis AGREEMENT AND ACCOUNTING

Τεχνολογίες Διαδικτύου. Server Side Scripting I PHP

Εικονική Αναπαράσταση Νοηµατικής Γλώσσας στο ιαδίκτυο

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Δίκτυα υπολογιστών. (και το Διαδίκτυο)

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών

Τίτλος : Οδηγός χώρων με τη χρήση συστημάτων εντοπισμού θέσης. Μαρκαντωνάκη Ευαγγελία (Α.Μ:3310)

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. Internet -

Εξοικείωση με τα Εργαλεία για το μάθημα Τεχνολογίες Εφαρμογών Διαδικτύου. Χειμερινό

Maxima SCORM. Algebraic Manipulations and Visualizing Graphs in SCORM contents by Maxima and Mashup Approach. Jia Yunpeng, 1 Takayuki Nagai, 2, 1

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

Λιόλιου Γεωργία. ιατµηµατικό Πρόγραµµα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήµατα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ. του Γεράσιμου Τουλιάτου ΑΜ: 697

BPMN Abstraction Tool ΠΑΡΟΥΣΙΑΣΗ ΕΡΓΑΛΕΙΟΥ ΑΦΑΙΡΕΣΗΣ ΕΠΙΧΕΙΡΗΣΙΑΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ

A browser-based digital signing solution over the web

ΣΥΣΤΗΜΑΤΑ SCADA. Μέρος 5. Δικτύωση για Απομακρυσμένο Έλεγχο και Μεταφορά Δεδομένων

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Διδάσκων: Παναγιώτης Ανδρέου

ΜΑΘΗΜΑ: Διαδικτυακές Εφαρμογές

The Simply Typed Lambda Calculus

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Ανάπτυξη Οντολογικής Γνώσης για Τεκμηρίωση Οπτικοακουστικού Περιεχομένου ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Δίκτυα Υπολογιστών Ενότητα 3: Domain Name System - DNS

CYTA Cloud Server Set Up Instructions

Θέματα Προγραμματισμού Διαδικτύου Εισαγωγή - Πρωτόκολλα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Information Technology for Business

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας. Υπηρεσίες Internet. ίκτυα Η/Υ. Επίπεδο Εφαρµογής. Ενότητα θ

Ασφάλεια σε χώρους αναψυχής: Ένα σύστημα από έξυπνα αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

Τεχνολογίες ιαδικτύου

Περί δικτύων. Δρ. Ματθαίος Πατρινόπουλος

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΒΑΛΕΝΤΙΝΑ ΠΑΠΑΔΟΠΟΥΛΟΥ Α.Μ.: 09/061. Υπεύθυνος Καθηγητής: Σάββας Μακρίδης

6.003: Signals and Systems. Modulation

Παλεπηζηήκην Πεηξαηώο Τκήκα Πιεξνθνξηθήο Πξόγξακκα Μεηαπηπρηαθώλ Σπνπδώλ «Πξνεγκέλα Σπζηήκαηα Πιεξνθνξηθήο»

Κεφάλαιο 6ο ΕΠΙΠΕΔΟ ΕΦΑΡΜΟΓΗΣ. Εισαγωγή

Τι είναι η Spring. Η Spring είναι ένα ελεύθερο (open source) περιβάλλον εργασίας για εφαρμογές Java. Μπορεί να περιγραφεί ως:

Επίπεδο Μεταφοράς. (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών Τμήμα Μηχανικών Η/Υ και Πληροφορικής

ΠΑΙΔΙ INTERNET ΚΑΙ. Όλα όσα πρέπει να γνωρίζουμε για μια δημιουργική και ασφαλή χρήση του διαδικτύου ΜΑΚΗΣ ΠΑΠΑΓΕΩΡΓΙΟΥ

Πρόβλεμα Online Gaming με modem Thomson και Speedtouch

Κεφάλαιο 13. Έλεγχος πρόσβασης με Firewall

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. Internet -

Κεφάλαιο 1. Βασικά Στοιχεία της Java... 13

Ανάπτυξηλογισμικού υλοποίησης του ανοικτού πρότυπου EPCALEv1.1 για εφαρμογές RFID

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική»

Τεχνολογία Πολυμέσων

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

Test Data Management in Practice

ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΕΝΙΣΧΥΣΗ ΤΩΝ ΚΟΜΒΩΝ ΟΠΛΙΣΜΕΝΟΥ ΣΚΥΡΟΔΕΜΑΤΟΣ ΜΕ ΒΑΣΗ ΤΟΥΣ ΕΥΡΩΚΩΔΙΚΕΣ

ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη

Πληροφορίες για το μάθημα

Αντικειμενοστρεφής Προγραμματισμός

ΠΑΝΔΠΙΣΗΜΙΟ ΜΑΚΔΓΟΝΙΑ ΠΡΟΓΡΑΜΜΑ ΜΔΣΑΠΣΤΥΙΑΚΧΝ ΠΟΤΓΧΝ ΣΜΗΜΑΣΟ ΔΦΑΡΜΟΜΔΝΗ ΠΛΗΡΟΦΟΡΙΚΗ

Προβλήµατα CGI, SSI CGI: Απόδοση Έναρξη νέας διαδικασίας για εκτέλεση (2 διαδικασιών σε περίπτωση διερµηνευόµενης γλώσσας, π.χ. perl). Κοινές διαδικασ

Βασικές Έννοιες Διαδικτύου, Wordpress και BuddyPress

8ο Πανελλήνιο Συμποσιο Ωκεανογραφίας & Αλιείας 637

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική»

ΣΥΣΤΗΜΑΤΑ SCADA. Μέρος 5. Δικτύωση για Απομακρυσμένο Έλεγχο και Μεταφορά Δεδομένων

ΟΝΤΟΛΟΓΙΕΣ, ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΔΙΑΚΥΒΕΡΝΗΣΗΣ

PHP 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΗΛΕΚΤΡΟΝΙΚΕΣ ΥΠΗΡΕΣΙΕΣ

Java Μέρος Ι Αντικειμενοστρεφής Προγραμματισμός - 7

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

Transcript:

Εργαστηριακή Άσκηση Networking in Java Οδηγίες προετοιμασίας - εκτέλεσης Οι σύγχρονες εφαρμογές λειτουργούν σε ένα διαδικτυακό περιβάλλον που επιβάλει την απομακρυσμένη πρόσβαση σε πόρους του διαδικτύου. Οι πόροι αυτοί μπορεί να είναι αρχεία πληροφορίας προς επεξεργασία, τμήματα της εφαρμογής που για διάφορους λόγους έχουν εγκατασταθεί και εκτελούνται σε άλλους κόμβους του διαδικτύου ή εφαρμογές που παρέχουν υπηρεσίες μέσω διαδικτύου. Σκοπός της άσκησης είναι να χρησιμοποιήσετε τις βασικές κατασκευές με τις οποίες η Java υποστηρίζει τον διαδικτυακό προγραμματισμό και πιο συγκεκριμένα με τις κατασκευές τις σχετικές με URLs (Java abstraction for URLs) και τις κατασκευές τις σχετικές με τα Sockets (Java abstraction for Sockets) με στόχο την εξοικείωση με τις βασικές έννοιες και τους βασικούς μηχανισμούς επικοινωνίας. Η άσκηση δίνεται ως μια σειρά από επιμέρους δραστηριότητες. Στόχος Το εργαστήριο έχει ως στόχο την εξοικείωση με Java abstraction για URLs και Java abstraction για Sockets. Διαδικασία εκτέλεσης Η διαδικασία εκτέλεσης περιγράφεται ως μια σειρά από δραστηριότητες. 1 η Δραστηριότητα Αναπτύξτε ένα πρόγραμμα που θα σας τυπώνει την IP διεύθυνση και το όνομα του σταθμού εργασίας σας. 2 η Δραστηριότητα Επεκτείνατε την λειτουργικότητα του προγράμματος σας ώστε αυτό να σας τυπώνει και όλες τις IP διευθύνσεις του internet web site www.nba.com 3 η Δραστηριότητα Ενέργεια 3.1. Αναπτύξτε ένα πρόγραμμα που θα σας τυπώνει τις IP διευθύνσεις και τα host machine names των σταθμών που φιλοξενούν τις ιστοσελίδες του Δήμου Πατρέων, και της Πολυτεχνικής Σχολής. Τι παρατηρείτε; Σχολιάστε. Ενέργεια 3.2. Αξιοποιήστε τα command line arguments της Java για να κάνετε το πρόγραμμα σας ανεξάρτητο από συγκεκριμένα IPs και Host names. ExerciseOnNetworking1_8 1/5 06/12/2017

Ενέργεια 3.3. Τυπώστε στην οθόνη σας τις IP διευθύνσεις και τα host machine names των παρακάτω ιστότοπων: www.pelop.gr, www.upatras.gr, eclass.upatras.gr, www.ece.upatras.gr, seg.ee.upatras.gr και seg.ece.upatras.gr. Επεξεργασθείτε τα αποτελέσματα. Τι παρατηρείτε; Σχολιάστε. 4 η Δραστηριότητα: Remote data access Τροποποιήστε την εφαρμογή σας Logic Gates Simulator ώστε να δίνει τη δυνατότητα στο χρήστη να φορτώσει κύκλωμα λογικών πυλών από αρχείο στο διαδίκτυο χρησιμοποιώντας το πρωτόκολλο http. Για να ελέγξετε τη λειτουργικότητα του προγράμματος σας, δοκιμάστε να διαβάσετε τα αρχεία ExampleCircuit.cs και Figure2Circuit.cs που βρίσκονται στο ευρετήριο (directory) Courses/OT/ του host με IP διεύθυνση 150.140.188.142. Τα ίδια αρχεία μπορείτε να βρείτε στο ευρετήριο (directory) SsegApt/LGSim του host με όνομα ssegvm1.ece.upatras.gr που παρέχει http πρόσβαση στην θύρα 8081. Αν δεν έχετε αναπτύξει την εφαρμογή Logic Gates Simulator, γράψτε ένα πρόγραμμα που θα σας εμφανίζει στην οθόνη τα περιεχόμενα των αρχείων αυτών. Hypertext Transfer Protocol (HTTP) The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless, protocol which can be used for many tasks beyond its use for hypertext, such as name servers and distributed object management systems, through extension of its request methods, error codes and headers. A feature of HTTP is the typing and negotiation of data representation, allowing systems to be built independently of the data being transferred. http://tools.ietf.org/html/rfc2616 Tim Berners-Lee Sir Timothy John "Tim" Berners-Lee, OM, KBE, FRS, FREng, FRSA (born 8 June 1955 [1] ), also known as "TimBL", is a British computer scientist, MIT professor and the inventor of the World Wide Web. He made a proposal for an information management system in March 1989 [2] and on 25 December 1990, with the help of Robert Cailliau and a young student at CERN, he implemented the first successful communication between a Hypertext Transfer Protocol (HTTP) client and server via the Internet. http://en.wikipedia.org/wiki/tim_berners-lee 5 η Δραστηριότητα: Remote service access - HelloWorld Το γνωστό σας πρόγραμμα HelloWord έχει αναπτυχθεί ως servlet το οποίο έχει εκτελεστεί στον servlet container Apache Tomcat 7.0 (http://tomcat.apache.org/) που τρέχει στον κόμβο με IP:150.140.189.34 (host name: ssegvm1.ece.upatras.gr). Το servlet αυτό παρέχει μόνο μια υπηρεσία. Επιστρέφει σε όποιον client καλέσει την υπηρεσία του το αλφαριθμητικό Hello World με την τρέχουσα ημερομηνία. To location του servlet προσδιορίζεται από το ευρετήριο στο οποίο βρίσκεται (SsegApt) και το όνομα του το οποίο είναι hello @WebServlet( /hello ). H υπηρεσία δίνεται μέσα από το port 8081. Ενέργεια 5.1. Από το σταθμό εργασίας σας χρησιμοποιήστε την υπηρεσία που σας παρέχει το servlet HelloWord. ExerciseOnNetworking1_8 2/5 06/12/2017

Ενέργεια 5.2. Γράψτε ένα java client που θα χρησιμοποιεί την υπηρεσία που παρέχει το servlet HelloWord. Τι παρατηρείτε; Αιτιολογήστε. 6 η Δραστηριότητα - Client for the DAYTIME Service H υπηρεσία DAYTIME παρέχεται από ένα Java Servlet που τρέχει στον servlet container Apache Tomcat 7.0 σε κόμβο με διεύθυνση (IP address) 150.140.189.34. To location του servlet προσδιορίζεται από το ευρετήριο στο οποίο βρίσκεται (SsegApt) και το όνομα του που είναι daytime «@WebServlet( /daytime )». H υπηρεσία δίνεται μέσα από το port 8081. Ενέργεια 6.1. Αναπτύξτε ένα πρόγραμμα που θα χρησιμοποιεί μέσα από το http protocol την υπηρεσία DAYTIME. Ενέργεια 6.2. Παρατηρήστε την έξοδο του προγράμματος σας. Αιτιολογήστε. Servlet is a Java class in Java EE that conforms to the Java Servlet API, a protocol by which a Java class may respond to requests. Java Servlet Technology Java Servlet technology provides Web developers with a simple, consistent mechanism for extending the functionality of a Web server and for accessing existing business systems. A servlet can almost be thought of as an applet that runs on the server side--without a face. Source: http://www.oracle.com/technetwork/java/javaee/servlet/index.html A servlet is a Java programming language class used to extend the capabilities of servers that host applications accessed via a request-response programming model. Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by Web servers. Thus, it can be thought of as a Java Applet that runs on a server instead of a browser. A Servlet is a Java class in Java EE that conforms to the Java Servlet API, a protocol by which a Java class may respond to requests. They are not tied to a specific client-server protocol, but are most often used with the HTTP protocol. Therefore, the word "Servlet" is often used in the meaning of "HTTP Servlet". Thus, a software developer may use a servlet to add dynamic content to a Web server using the Java platform. Source: http://en.wikipedia.org/wiki/java_servlet Web container Web container (also known as a Servlet container) is the component of a web server that interacts with the servlets. A web container is responsible for managing the lifecycle of servlets, mapping a URL to a particular servlet and ensuring that the URL requester has the correct access rights. Source: http://en.wikipedia.org/wiki/web_container 7 η Δραστηριότητα Client for the echo and reverse Services H υπηρεσία reverse string παρέχεται από ένα Java Servlet που τρέχει στον servlet container Apache Tomcat 7.0 σε κόμβο με όνομα (host name) ssegvm1.ece.upatras.gr. To location του servlet προσδιορίζεται από το ευρετήριο στο οποίο βρίσκεται (SsegApt) και το όνομα του που είναι reverse @WebServlet( /reverse ). H υπηρεσία ExerciseOnNetworking1_8 3/5 06/12/2017

δίνεται μέσα από το port 8081. Το servlet δέχεται ένα αλφαριθμητικό και το επιστρέφει αντεστραμμένο. Στον ίδιο χώρο τρέχει και ένα Servet (@WebServlet( /echo )) που παρέχει την υπηρεσία echo. Ενέργεια 7.1. Γράψτε ένα java client που θα επιδεικνύει την χρήση της υπηρεσίας του echo Servlet. Ενέργεια 7.2. Γράψτε ένα java client που θα αξιοποιεί την υπηρεσία του reverse Servlet για να αναστρέψει το αλφαριθμητικό που του δίνει ο χρήστης του. Επισημάνσεις : Πριν στείλετε το αλφαριθμητικό θα πρέπει να το κάνετε encode με UTF-8 χρησιμοποιώντας την κλάση URLEncoder. Επιπλέον πριν να γράψετε στο κανάλι σας πρέπει να δώσετε την τιμή true στο dooutput field του URLConnection. 8 η Δραστηριότητα Αναπτύξτε ένα πρόγραμμα με γραφική διεπαφή το οποίο θα επιτρέπει στον χρήστη να δίνει το URL ενός servlet το οποίο δέχεται ένα αλφαριθμητικό και το επιστρέφει ανεστραμμένο. Στη συνέχεια να μπορεί να εισάγει ένα αλφαριθμητικό χρησιμοποιώντας την γραφική διεπαφή του προγράμματος του και σε ένα άλλο τμήμα της γραφικής διεπαφής να βλέπει το αντεστραμμένο αλφαριθμητικό, το οποίο θα παίρνει χρησιμοποιώντας το παραπάνω servlet. Παράλληλα και σε τρίτο τμήμα της διεπαφής να μπορεί να βλέπει την εξέλιξη της τιμής μιας μεταβλητής που δείχνει τον αριθμό των κοινών χαρακτήρων των 2 αλφαριθμητικών (χαρακτήρων που βρίσκονται στην ίδια θέση). Για παράδειγμα στην περίπτωση της εισαγωγής του αλφαριθμητικού ΝΙΨΟΝΑΝΟΜΗΜΑΤΑΜΗΜΟΝΑΝΟΨΙΝ η μεταβλητή θα έχει ως τιμές τις 1 0 1 0 3. 25. Εξετάστε τι δυνατότητες έχετε για να δώσετε σε γραφική παράσταση την παραπάνω πληροφορία. 9 η Δραστηριότητα: Remote service access Temperature Αναπτύξτε ένα πρόγραμμα που θα χρησιμοποιεί μέσα από το http protocol την υπηρεσία temperature. Η υπηρεσία παρέχεται από ένα java servlet που τρέχει στον servlet container Tomcat σε κόμβο με IP: 150.140.189.34 (host name: ssegapt.ece.upatras.gr). Η υπηρεσία δίνεται μέσα από το port 8081. Το location του servlet προσδιορίζεται από το ευρετήριο στο οποίο βρίσκεται (ResourcesServlet) και το όνομά του που είναι temperature @WebServlet ("/temperature"). Μετατρέψτε την επιστρεφόμενη θερμοκρασία σε float και εκτυπώστε τη στην κονσόλα. Η υπηρεσία παρέχεται από μια κατανεμημένη εφαρμογή. Ένα τμήμα της που τρέχει σε mbed NXP LPC1768 βασισμένο σε ARM, παίρνει τη θερμοκρασία από κατάλληλο για τον σκοπό αυτό αισθητήρα. Ο σταθμός που φιλοξενεί το Java servlet επικοινωνεί με το mbed πάνω από RS232. 1 1 Την εφαρμογή ανέπτυξε ο φοιτητής Χριστουλάκης Φοίβος ExerciseOnNetworking1_8 4/5 06/12/2017

10 η Δραστηριότητα Αναπτύξτε έναν TCPechoServer και έναν TCPechοClient. Αναφορές Για μετατροπές μεταξύ διαφόρων μορφών IP addresses δες http://www.javadocexamples.com/java_source/com/verisignlabs/pimmit/iris/areg1/a RegUtils.java.html ExerciseOnNetworking1_8 5/5 06/12/2017