JAX-RPC (Web Services) ΕΠΛ 425: Τεχνολογίες ιαδικτύου Μιχάλης Έλληνας

Σχετικά έγγραφα
Introduction to JAX-WS. Φοιτητής : ηµόπουλος Κωνσταντίνος

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

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

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

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

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

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

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

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

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

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

Remote Method Invocation (RMI)

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

Υπηρεσίες Ιστού (Web Services) Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

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

Terabyte Technology Ltd

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

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

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

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

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

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

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

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

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

Test Data Management in Practice

The Simply Typed Lambda Calculus

«Χρήσεις γης, αξίες γης και κυκλοφοριακές ρυθμίσεις στο Δήμο Χαλκιδέων. Η μεταξύ τους σχέση και εξέλιξη.»

ΜΟΝΤΕΛΑ ΛΗΨΗΣ ΑΠΟΦΑΣΕΩΝ

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016

(Διαφάνειες Νίκου Βιδάκη)

Structuring Components Specifications using Dependencies among the Runtime Environments

Πτυχιακή εργασία. Τίτλος: ΤΣΙΧΛΙΑΣ ΜΕΝΕΛΑΟΣ (AM: 2175)

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

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

Σπουδάστρια Δακανάλη Νικολέτα Α.Μ "Πώς η εξέλιξη της τεχνολογίας επηρεάζει την απόδοση των επιχειρήσεων" ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

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

Υποστήριξη της Υποστασιοποίησης στο µοντέλο του RDF

Hancock. Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος. ΕΠΛ 428 Προγραμματισμός Συστημάτων

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

Ζητήματα Τυποποίησης στην Ορολογία - ο ρόλος και οι δράσεις της Επιτροπής Ορολογίας ΤΕ21 του ΕΛΟΤ

Assalamu `alaikum wr. wb.

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

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

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

Δομές Δεδομένων - Εργαστήριο 2. Λίστες

SOAP API. Table of Contents

A browser-based digital signing solution over the web

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

Εκτεταμένη περίληψη Περίληψη

Χρειάζεται να φέρω μαζί μου τα πρωτότυπα έγγραφα ή τα αντίγραφα; Asking if you need to provide the original documents or copies Ποια είναι τα κριτήρια

Πύλη Φαρμακευτικών Υπηρεσιών Υπουργείου Υγείας Κύπρου. System Architecture Overview

Βασικά της γλώσσας JAVA

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

Εισαγωγή στα Πληροφοριακά Συστήματα. Ενότητα 11: Αρχιτεκτονική Cloud

Διακιρυξθ Διαγωνιςμοφ για το Ζργο ΨΘΦΙΑΚΘ ΠΕΡΙΘΓΘΘ ΣΟ ΠΟΛΙΣΙΣΙΚΟ ΚΑΙ ΙΣΟΡΙΚΟ ΑΡΧΕΙΟ ΣΟΤ ΧΑΪΔΑΡΙΟΤ

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

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο


Η Γλώσσα WS-BPEL 2.0. Εργαστήριο Ανάλυσης Συστημάτων και Τεχνολογίας Λογισμικού. S3Laboratory

Approximation of distance between locations on earth given by latitude and longitude

Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

Lecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3

Εισαγωγή στα Δίκτυα Υπηρεσιών

ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΜΟΝΑΔΑΣ ΘΡΑΥΣΤΗΡΑ ΜΕ ΧΡΗΣΗ P.L.C. AUTOMATION OF A CRUSHER MODULE USING P.L.C.

Block Ciphers Modes. Ramki Thurimella

P.R.O. Tri Sprint Suit

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

CORBA. Αρχιτεκτονική και 3-tier 3. εφαρµογές. Β. Φλώρος. Μαρτάκος. Τµήµα Πληροφορικής και Τηλεπικοινωνιών Εθνικό και Καποδιστιακό Πανεπιστήµιο Αθηνών

Μεταπτυχιακή διατριβή

ιαδικτυακές Εφαρµογές Πραγµατικού Χρόνου µε Java

14 Πρότυπα Σχεδίασης συνέχεια

ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός (Object-oriented programming)

ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΟΥ ΣΟΒΑΡΟΥ ΣΚΟΠΟΥ ΓΙΑ ΤΗΝ ΕΚΜΑΘΗΣΗ ΕΝΝΟΙΩΝ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΕ JAVA

ΓΕΩΜΕΣΡΙΚΗ ΣΕΚΜΗΡΙΩΗ ΣΟΤ ΙΕΡΟΤ ΝΑΟΤ ΣΟΤ ΣΙΜΙΟΤ ΣΑΤΡΟΤ ΣΟ ΠΕΛΕΝΔΡΙ ΣΗ ΚΤΠΡΟΤ ΜΕ ΕΦΑΡΜΟΓΗ ΑΤΣΟΜΑΣΟΠΟΙΗΜΕΝΟΤ ΤΣΗΜΑΣΟ ΨΗΦΙΑΚΗ ΦΩΣΟΓΡΑΜΜΕΣΡΙΑ

Ενημερωτική εκδήλωση για τις ερευνητικές υποδομές Δημήτρης Δενιόζος Γενική Γραμματεία Δημοσίων Επενδύσεων και ΕΣΠΑ

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

Πώς μπορεί κανείς να έχει έναν διερμηνέα κατά την επίσκεψή του στον Οικογενειακό του Γιατρό στο Ίσλινγκτον Getting an interpreter when you visit your

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

ΕΠΛ131 Αρχές Προγραμματισμού

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

Εποχές( 1. Εποχή(του(mainframe((πολλοί( χρήστες,(ένας(υπολογιστής)(( 2. Εποχή(του(PC((ένας(χρήστης,(

Προγραμματισμός ΙΙ (Java) 6. Διαχείριση δεδομένων

Εισαγωγή στα Δίκτυα Υπηρεσιών

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

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

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

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

Διαδίκτυο των Αντικειμένων - IoT.

DESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0.

Η λέξη κλειδί this. Γαβαλάς Δαμιανός

Τι είναι η λογική αρχιτεκτονική

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

Transcript:

JAX-RPC (Web Services) ΕΠΛ 425: Τεχνολογίες ιαδικτύου Μιχάλης Έλληνας

ΕΠΛ 425: Τεχνολογίες ιαδικτύου (εν συντοµία ) Στόχος: η παρουσίαση τεχνολογιών, λογισµικών πακέτων, πρωτοκόλλων, συµβάσεων και πρακτικών µε διαδικτυακές εφαρµογές. Προβλήµατα που παρουσιάστηκαν Θέµατα που καλύφθηκαν: Χρήση της Java για: Αρχιτεκτονική Client Server Servlets Multithreading XML (SAX, DOM) JAX-RPC υναµικό περιεχόµενο (PHP, servlets, ) The Apache server Macromedia Director Dreamweaver Web Accessibility Initiative ( ) ΕΠΛ 425: Τεχνολογίες ιαδικτύου 2

JAX-RPC: εισαγωγικά Java API for XML-based RPC Technology for building web services A remote procedure call is represented by an XMLbased protocol such as SOAP. The JAX-RPC runtime system converts the API calls and responses to and from SOAP messages. Advantages Platform independence Not restrictive (adherence to W3C specs) Protocols of relevance: SOAP (Simple Object Access Protocol) WSDL (Web Service Description Language) ΕΠΛ 425: Τεχνολογίες ιαδικτύου 3

JAX-RPC: εισαγωγικά Service Endpoint Interface (SEI) A Java interface that declares the methods that a client can invoke on the service. Steps for creating the web service: 1. Code the SEI and implementation class and interface configuration file. 2. Compile the SEI and implementation class. 3. Generate the files required to deploy the service. 4. Package the files into a WAR file. 5. Deploy the WAR file. Steps for creating the client: 1. Code the client class and WSDL configuration file. 2. Generate and compile the stub files. 3. Compile the client class. 4. Run the client. ΕΠΛ 425: Τεχνολογίες ιαδικτύου 4

JAX-RPC: Web Service Client communication ΕΠΛ 425: Τεχνολογίες ιαδικτύου 5

Types Supported by JAX-RPC J2SE SDK Classes java.lang.boolean java.lang.byte java.lang.double java.lang.float java.lang.integer java.lang.long java.lang.short java.lang.string java.math.bigdecimal java.math.biginteger java.net.uri java.util.calendar java.util.date Primitives boolean byte double float int long short (Multidimensional) Arrays Value Types JavaBeans Components ΕΠΛ 425: Τεχνολογίες ιαδικτύου 6

Service endpoint interface and implementation class import java.rmi.remote; import java.rmi.remoteexception; public interface ExampleIF extends Remote { public <type> function_x(<arguments>) throws RemoteException; } public class ExampleImpl implements ExampleIF { public <type> function_x(<arguments>) { } } ΕΠΛ 425: Τεχνολογίες ιαδικτύου 7

Static Stub Client import javax.xml.rpc.stub; public static void main(string[] args) { try { Stub stub = createproxy(); stub._setproperty(javax.xml.rpc.stub.endpoint_address_property, <Endpoint_Address>); ExampleIF example = (ExampleIF) stub; } example.function_x(<arguments>); } catch (Exception ex) { ex.printstacktrace(); } ΕΠΛ 425: Τεχνολογίες ιαδικτύου 8

Web Service Clients Dynamic proxy The class (dynamic proxy) is created during runtime Dynamic Invocation Interface (DII) Remote procedure invocation even if the signature of the remote procedure or the name of the service is unknown until runtime Application client Invocation of the JNDI (Java Naming and Directory Interface) lookup method ΕΠΛ 425: Τεχνολογίες ιαδικτύου 9

Related concepts SAAJ: The SOAP with Attachments API for Java A low-level API on which JAX-RPC depends SOAP: Simple Object Access Protocol SOAP is a lightweight protocol intended for exchanging structured information in a decentralized, distributed environment. It uses XML technologies to define an extensible messaging framework providing a message construct that can be exchanged over a variety of underlying protocols. The framework has been designed to be independent of any particular programming model and other implementation specific semantics. Two major design goals for SOAP are simplicity and extensibility (see XMLP Requirements [XMLP Requirements]). SOAP attempts to meet these goals by omitting, from the messaging framework, features that are often found in distributed systems. Such features include but are not limited to "reliability", "security", "correlation", "routing", and "Message Exchange Patterns. (W3C XML Protocol Working Group) WSDL: Web Service Description Language WSDL provides a model and an XML format for describing Web services. WSDL 2.0 enables one to separate the description of the abstract functionality offered by a service from concrete details of a service description such as how and where that functionality is offered (W3C WSDL) Web Services Web Services provide a standard means of interoperating between different software applications, running on a variety of platforms and/or frameworks. Web services are characterized by their great interoperability and extensibility, as well as their machine-processable descriptions thanks to the use of XML. They can be combined in a loosely coupled way in order to achieve complex operations. Programs providing simple services can interact with each other in order to deliver sophisticated added-value services (W3C Web Services Activity Statement) ΕΠΛ 425: Τεχνολογίες ιαδικτύου 10

Αναφορές Σύνδεσµοι The J2EE 1.4 Tutorial JAX-RPC home: http://java.sun.com/webservices/jaxrpc/ JAX-RPC Specifications: http://java.sun.com/xml/downloads/jaxrpc.html Web Wide Web Consortium (W3C) Web Services Activity: http://www.w3.org/2002/ws/ SOAP: http://www.w3.org/2000/xp/group/ WSDL: http://www.w3.org/tr/wsdl20/ ΕΠΛ 425: Τεχνολογίες ιαδικτύου 11