Klasikinių Web servisų našumas. Galimi sprendimai. Protocol Buffers. Bendros charakteristikos. XML paremtų Web servisų našumo problemos
|
|
- Christopher McKinney
- 6 years ago
- Views:
Transcription
1 Klasikinių Web servisų našumas XML paremtų Web servisų našumo problemos Greiti Web servisai Papildomi resursai reikalingi XML dokumentų apdorojimui (parse, serialize) Papildoma atmintis XML dokumento tekstinei reprezentacijai Efektyvumas apdorojant didelių apimčių XML dokumentus Vienas iš sprendimų: binarinė duomenų reprezentacija Binarinė serializacija Galimi sprendimai Fast Infoset (ITU/ISO standartai) EXI: Efficient XML Interchange (W3C) BiM: Binary MPEG format for XML (ISO)... Kiti sprendimai Binariniai servisai ir sprendimai Kompresija (GZIP) Binariniai servisai: Protocol Buffers, Thrift,... Standartas de facto neegzistuoja (?) Bendros charakteristikos IDL kalba pranešimų sintaksės aprašui Efektyvumas Pranešimų versijų palaikymas Binarinis serializavimas Karkasai/bibliotekos įvairioms kalboms ir platformoms Protocol Buffers...a language-neutral, platform-neutral, extensible way of serializing structured data for use in communications protocols, data storage, and more......think XML, but smaller, faster, and simpler......protocol buffers were initially developed at Google to deal with an index server request/response protocol... Google
2 Kas tai? Kalba aprašyti duomenų struktūrai Priemonės, generuoti kodui pasirinktoje programavimo kalboje Klasės, metodai (get/set), serializavimas,... Java, C++, Python (+plugins) Duomenų (kalbos objektų) serializavimo/deserializavimo priemonės Serializacija į binarinį formatą Protokolo versijų palaikymas Istorija Sukurta ir naudojama Google servisams nuo 2001 Atviro kodo nuo 2008 Intensyviai naudojama visuose Google servisuose BSD licenzija Principas Pranešimų struktūros aprašas MyMessage.proto message Person { required string name = 1; required int32 id = 2; optional string = 3;... protoc (compile) Java classes Person.java Person p = new Person(); p.setname("john Doe");... p.john.writeto(serverout); e package tutorial; option java_package = "com.example.tutorial"; option java_outer_classname = "AddressBookProtos"; message Person { required string name = 1; required int32 id = 2; optional string = 3; enum PhoneType { MOBILE = 0; HOME = 1; WORK = 2; AddressBook.proto Pranešimo laukai: pasikartojamumas/būtinumas, tipas, vardas, žymė (binarinis ID) Galimų reikšmių nurodymas...? C++ classes Person.cpp Network e DB message PhoneNumber { required string number = 1; optional PhoneType type = 2 [default = HOME]; repeated PhoneNumber phone = 4; message AddressBook { repeated Person person = 1; Apibrėžtų struktūrų naudojimas kaip duomenų tipai Kompiliatorius Pvz.: Naudojimas (Java) Konkretūs pranešimai kuriami atitinkamų Java/C++/Python klasių pagalba Generuojama protoc kompiliatoriumi protoc --java_out=gen/java \ --cpp_out=gen/cpp \ --python_out=gen/python AddressBook.proto package com.example.tutorial; public final class AddressBookProtos { private AddressBookProtos() { { public static void registerallextensions( com.google.protobuf.extensionregistry registry) { public static final class Person extends... OutputStream serveroutputstream =... Person john = Person.newBuilder().setId(1234).setName("John Doe").set ("jdoe@example.com").addPhone( Person.PhoneNumber.newBuilder().setNumber(" ").setType(Person.PhoneType.HOME)).build(); System.out.println(john.toString()); john.writeto(serveroutputstream);... InputStream inputstream =...; Person p = Person.parseFrom(inputStream); Tekstinis formatas name: "John Doe" id: "jdoe@example.com" phone { number: " " type: HOME Binarinis formatas a84a6f686e20446f6510ffffffd291 a106a646f d706c652e6 36f6d22ca d
3 Protocol Buffers vs. XML Paprastumas Kompaktiškumas (nuo 3 iki 10 kartų) Greitumas (nuo 20 iki 100 kartų) Tiesiogiai generuojamos lengvai naudojamos klasės Mime Types application/x-protobuf application/octet-stream Apache Thrift Kiti sprendimai: Thrift IDL (struktūros, servisai), protokolai, transportas, versijavimas Duomenų tipai (baziniai, Map, Set, konstantos) Java, C++, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk, OCaml RPC infrastruktūra Next generation PB Plačiai naudojama Facebook servisuose (nuo 2007) Apache licenzija include "shared.thrift" namespace cpp addrbook namespace java addrbook enum PhoneType { MOBILE = 0, HOME = 1, WORK = 2 struct PhoneNumber { 1: string number, 2: optional PhoneType type struct Person { 11: string name, 12: i32 id, 12: string , 13: PhoneNumber phone exception InvalidOperation { 1: i32 what, 2: string why Thrift pvz Apache Avro O taip pat... Avro Duomenų serializavimo sistema Duomenų schemos aprašomos JSON formatu Serializuojama kartu su duomenimis Panašu į Thrift/ProtoBuff, bet... Nenaudojami elementų ID Nenaudojamos elementų žymės (tag) Dinamiški pranešimų tipai - : sistemos stabilumas ir palaikymas (dok.?) service AddressBook extends shared.sharedservice { void ping(), i32 add(1:string name, 2:string , 3:string number, 4:PhoneType type ) Abstract Syntax Notation One ASN.1...Abstract Syntax Notation number One is a standard that defines a formalism for the specification of abstract data types... ITU-T ISO/IEC Abstrakti sintaksė hierarchinių duomenų tipų apibrėžimui Nepriklausoma nuo programavimo kalbų ir apdorojimo priemonių Duomenų kodavimo/dekodavimo taisyklės Kodavimas/dekodavimas atitinkantis aprašytą struktūrą skirtas siuntimui komunikacijos kanalu
4 Naudojimas ir veikimas ASN.1 duomenų tipai Gen. X C++ MyMessage.asn AsnAddressBook DEFINITIONS ::= BEGIN Person ::= SEQUENCE { name UniversalString, id INTEGER, Abstrakti sintaksė Gen. Y Java Baziniai BOOLEAN, INTEGER, REAL, BIT STRING, OCTET STRING, ENUMERATED Simbolių eilutės (ISO poaibiai) NumericString, VisibleString, UTF8String, ASCIIString,... C++ classes Sintimo sintaksė Java classes Objektai Struktūros Person.cpp Encoder (lib, dll,...) c 84a 6f 68 6e.. Network DB Encoder (jar) Person.java Kiti SEQUENCE/SEQUENCE OF, SET/SET OF ANY, NULL, UTCTime,... BER, PER, XER,... BER, PER, XER,... Pvz.: abstrakti sintaksė Pvz: abstrakti sintaksė su žymėmis AddressBook.asn AsnAddressBook DEFINITIONS AUTOMATIC TAGS ::= BEGIN END Person ::= SEQUENCE { name UniversalString, id INTEGER, UniversalString OPTIONAL, phone SEQUENCE OF PhoneNumber PhoneType ::= ENUMERATED{ mobile(0), home(1), work(2) PhoneNumber ::= SEQUENCE { number VisibleString, type PhoneType DEFAULT home AddressBook ::= SEQUENCE { person SET OF Person DEFAULT { Modulis: tipų apibrėžimų aibė (automatinis žymių generavimas) Pranešimo tipas ir laukai: pasikartojamumas/būtinumas, vardas,... Galimų reikšmių išvardijimas (reikšmes atitinkantys kodai) Apibrėžtų struktūrų naudojimas kaip duomenų tipai tag - gali būti automatiniai arba apibrėžti išreikštiniu būdu Naudojami koduojant/dekoduojant siunčiamų tipų reikšmes Lokalūs tag AsnAddressBook DEFINITIONS ::= BEGIN Person ::= [APPLICATION 1] SEQUENCE { name [1] UniversalString, id [2] INTEGER, [3] UniversalString OPTIONAL, phone [4] SEQUENCE OF PhoneNumber PhoneType ::= [APPLICATION 2] ENUMERATED{ mobile(0), home(1), work(2) PhoneNumber ::= [APPLICATION 3] SEQUENCE { number [1] INTEGER, type [2] PhoneType DEFAULT home AddressBook ::= [APPLICATION 4] SEQUENCE { person [1] SET OF Person DEFAULT { END Programos lygmens tag ASN.1 žymių tipai ( tags ) ASN.1 reikšmės UNIVERSAL ASN1 standartiniai tipai (UNIVERSAL 1 : boolean, UNIVERSAL 9 : real, ) APPLICATION Apibrėžti taikomojoje programoje PRIVATE Apibrėžti organizacijoje CONTEXT-SPECIFIC Apibrėžti lokaliai Basic ASN.1 Value Notation Reikšmės vardas myaddressbook AddressBook ::= { person { name "John Doe", id 2338, "john.doe@mail.server", phone { number " ", type work, person { name "Tadas Blinda", id 2300, phone { number " ", type mobile,... Reikšmės tipas Reikšmės turinys
5 Tipai ir reikšmės Kodavimo taisyklės Person ::= SEQUENCE { name UniversalString, id INTEGER, UniversalString Keywords ::= SET OF VisibleString Cities ::= SEQUENCE OF OF VisibleString addrpreson Person ::= { name "John Doe", id 54, "john.doe@example.com" someasn1keywords Keywords ::= {"INTEGER", "BOOLEAN", "REAL" ltcities Cities ::= {"Vilnius", "Kaunas", "Klaipeda", "Siauliai" Taisyklės koduoti duomenims į formatą, atitinkantį abstrakčią struktūrą Basic Encoding Rules (BER) Distinguished Encoding Rules (DER) XML Encoding Rules (XER) Packed Encoding Rules (PER) Generic String Encoding Rules (GSER)... Standartizuota atitinkamomis specifikacijomis BER kodavimas Reikšmė susideda iš keturių dalių (baitų): Typo kodas, reikšmės ilgis (baitais), reikšmė, reikšmės pabaigos kodas Reikšmė gali savo ruožtu būti sub-tipas,... Numatyti ilgų tipų kodų ir reikšmių atvejai Age ::= INTEGER(0..100) personage Age ::= 15 BER: Pvz.: kodavimo taisyklės App F App 2 Tag Ilgis Reikšmė PER: App App 2 Žymės tipas: 00 Universal 01 Application 10 Context 11 Private Struktūra: 0 Primityvus 1 Sudėtinis Tipo kodas Reikšmės ilgis Reikšmė XER: App 1 <Age>15</Age> App Panaudojimas LDAP žinynai Apsauga, autentifikaviams, kriptografija Bankų sistemos Mobili/bevielė komunikacija Tele/video-konferencijos, multimedia Transporto/mobiliosios sistemos... Organizacijos Specifikacijos ISO: International Organization for Standardization IEC: International Electrotechnical Commission ITU-T: International Telecommunication Union - Telecommunication Standardization Sector ASN.1 : 2002: ITU-T Rec. X.68x ISO/IEC 8824-x BER, CER, DER : ITU-T Rec. X.690 ISO/IEC
6 XML Infoset Visi elementai sudarantys XML dokumentą Fast Infoset Elementai, atributai, reikšmės, tarpusavio priklausomybė, komentarai... Visa informaciją, kurią apdorojanti programa gali pasiekti iš konkretaus XML dokumento XML Fast Infoset Kodavimas, leidžiantis efektyviau pateikti tą pačią informaciją, kaip ir klasikiniame XML Fast Infoset kodavimas Atitinka XML reikalavimus XML infoset (elementų) palaikymas (Seft-describing) Binarinis kodavimas Fast Infoset standartas ITU-T / ISO standartas 2005: ITU-T X.891 ISO/IEC Remiasi elementas-ilgis-reikšmė kodavimu Remiasi XML elementų žodynu (elementų vardai nekartojami) Tiesiogiai palaikomas binarinis turinys Žodynas Dico (XML tags/ids) Elem.ID1 Len Data (30311c...) ID2 Len2... Infoset Fast Infoset programinis palaikymas programa... Taikomoji programa Programos kodas XML Infoset SAX/StTA/DOM Infoset serializuoti analizuoti (parse) serializuoti parse XML Fast Infoset Kodavimas XML Fast Infoset Pvz (Java realizacija): SAX, StAX, DOM API su Fast Infoset serializacija
7 Optimizavimas Serializacija: ~ klasikiniai XML Parse : 3x - 5x greičiau Dydis: 30% - 70% mažiau Fast Web services ASN.1 ir XML? ASN.1 gali būti naudojamas XML dokumento struktūros aprašui <schema...> ASN.1 aprašas XML Schema XML Schema <complextype name="person"> <sequence> <element name="name" type="string"/> <element name="id" type="integer"/> <element name="phone" type="tns:phonenumber"/> </sequence> </complextype> <complextype name="phonenumber"> <sequence> <element name="number" type="string"/> </sequence> </complextype> </schema> AddressBook DEFINITIONS ::= BEGIN END ASN.1 Schema Person ::= SEQUENCE { name UniversalString, id INTEGER, phone SEQUENCE OF PhoneNumber PhoneNumber ::= SEQUENCE { number VisibleString ITU-T Rec. X.694 standartas ASN.1 encoding rules: Mapping W3C XML schema definitions into ASN.1 Standartizuotas XML Schema vaizdavimas į ASN.1 Vaizdavimas XML Schema Atitinka XML Projektuoja ASN.1 Schema Koduoja ASN.1 koduotė (pvz. PER) Fast Web Services ITU-T X ITU-T X.892: Fast Web Services (2006) ASN.1 Schema SOAP 1.2 pranešimams WSDL anotacijos SOAP elementų kodavimo taisyklės <env:envelope xmlns:env=" <env:body> </env:body> </env:envelope> envelope Envelope ::= { header { body-or-fault : body { Fast Web servisai: WSDL <wsdl:definitions... xmlns:fasts="urn:ohn:joint-iso-itu-t:asn1:generic-applications:fast-web-services:description"...> <wsdl:binding name="addrbookssoap" type="tns:addrbook"> <soap:binding style="document" transport=" <wsdl:operation name="getperson">... </wsdl:binding> <wsdl:binding name="addrbookfastwssoap" type="tns:addrbook"> <soap:binding style="document" transport=" <fasts:binding/> <wsdl:operation name="getperson">... </wsdl:binding> <wsdl:service name="addrbookfastws"> <wsdl:port binding="tns:addrbookfastwssoap" name="addrbookfastwssoap"> <soap:address location=" </wsdl:port> <wsdl:port binding="tns:addrbookssoap" name="addrbooksoap"> <soap:address location=" </wsdl:port> </wsdl:service> PER </wsdl:definitions>
8 Fast Web servisai: principai Realizacijos / Java Klasikinis SOAP binding <env:envelope...> <env:body> <u:person> <u:name>john Doe</u:name> <u: >john.doe@ .server</u: > </u:person> </env:body> </env:envelope> Palaiko visi pagrindiniai Java karkasai JAX-WS -Dcom.sun.xml.ws.client.ContentNegotiation=pessimistic Service (Application) getperson SOAP ((BindingProvider) port).getrequestcontext().put("com.sun.xml.ws.client.contentnegotiation", "pessimistic"); Axis2 ASN.1 SOAP (PER) Fase Web Services SOAP binding Axis2 Fast Infoset module Axis2 web app konfigūravimas (axis2.xml) Client.getOptions().setProperty( Constants.Configuration.MESSAGE_TYPE,"application/soap+fastinfoset"); Optimizavimas X.694 įgalina optimalų standartinį ASN.1 kodavimą Nebūtina self-describing savybė Kompaktiškas / binarinis SOAP 1.2 pranešimų kodavimas (PER) Rezultatai Efficient XML Interchange (EXI) Kodavimas: -4x Dekodavimas: -10x Dydis: -80% EXI Efficient XML Interchange (EXI) Format 1.0 W3C Recommendation, 2011 Efficient XML, Efficient Web Services (AgileDelta) Principai ir tikslai Universalumas platesnis ratas XML naudojančių programų ir sistemų Minimalus taikomas mobilioms ir pan. platformoms Efektyvus tinkamas efektyviam duomenų apdorojimui Lankstus taikomas ir su netiksliomis schemomis Interoperabilus integruojamas su turimomis technologijomis ir sprendimais
9 EXI Stream EXI Header Konceptai ir struktūra Dokumento antraštė, turinio kodavimo nustatymai EXI Body Turinys, susidedantis iš įvykių EXI Event : elementus atitinkantys įvykiai (~SAX, StAX) Start Document, Start Element, Attribute, End Element,... EXI Grammar Elementų kodai kodavimo efektyvumui XML ir EXI <?xml version="1.0" encoding="utf-8"?> <notebook date=" "> <note category="exi" date=" "> <subject>exi</subject> <body>do not forget it!</body> </note> <note date=" "> <subject>shopping List</subject> <body>milk, honey</body> </note> </notebook> Šaltinis: Kompaktiškumas Realizacijos Iki -100x < XML, -14x < GZIP/XML Realizacijos EXIficient (@sourceforge), Java OpenEXI (@sourceforge), Java Efficient XML (AgileDelta), Java,.Net, C++ Efficient Web Services: praplėtimai WS karkasams (JAX-WS, Axis2, CXF,...)
Trumpai-ilga istorija
Įvadas į Web Services Kas yra Web Service? Kas ką žino??? 70-ieji: Mainframe Trumpai-ilga istorija 80-ieji: Client-Server Istorijos 90-ieji: Web 2000: SOA 2010: Cloud Computing Šaltinis: Sergejus Barinovas,
More informationGoogles Approach for Distributed Systems. Slides partially based upon Majd F. Sakr, Vinay Kolar, Mohammad Hammoud and Google PrototBuf Tutorial
Protocol Buffers Googles Approach for Distributed Systems Slides partially based upon Majd F. Sakr, Vinay Kolar, Mohammad Hammoud and Google PrototBuf Tutorial https://developers.google.com/protocol-buffers/docs/tutorials
More informations Protocol Buffer Knight76 at gmail.com
s Protocol Buffer Knight76 at gmail.com 1. RPC, Not RPC 2.. Proto (structed data) Proto Compiler C++ Java python References Protocol Buffers: A new open source release http://www.youtube.com/watch?v=k-
More informationProtocol Buffers, grpc
Protocol Buffers, grpc Szolgáltatásorientált rendszerintegráció Service-Oriented System Integration Dr. Balázs Simon BME, IIT Outline Remote communication application level vs. transport level protocols
More informationJAVA pagrindai Lek. Liudas Drejeris
JAVA pagrindai Lek. Liudas Drejeris Programa (1) Programa, tai eilė instrukcijų (vadinamų programiniais sakiniais), kurie vykdomi paeiliui, kol gaunamas norimas rezultatas. Programa (2) Programa (2) /*
More informationSERIES X: DATA NETWORKS, OPEN SYSTEM COMMUNICATIONS AND SECURITY OSI applications Generic applications of ASN.1
International Telecommunication Union ITU-T X.892 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (05/2005) SERIES X: DATA NETWORKS, OPEN SYSTEM COMMUNICATIONS AND SECURITY OSI applications Generic applications
More informationCSCI-1680 RPC and Data Representation John Jannotti
CSCI-1680 RPC and Data Representation John Jannotti Original Slides from Rodrigo Fonseca Today Defining Protocols RPC IDL Problem Two programs want to communicate: must define the protocol We have seen
More informationSemesterprojekt Implementierung eines Brettspiels (inklusive computergesteuerter Spieler) Remote Procedure Calls
Semesterprojekt Implementierung eines Brettspiels (inklusive computergesteuerter Spieler) Wintersemester 16/17 Remote Procedure Calls Patrick Schäfer patrick.schaefer@hu-berlin.de Marc Bux buxmarcn@informatik.hu-berlin.de
More informationCS 378 Big Data Programming
CS 378 Big Data Programming Lecture 9 Complex Writable Types AVRO, Protobuf CS 378 - Fall 2017 Big Data Programming 1 Review Assignment 4 WordStaQsQcs using Avro QuesQons/issues? MRUnit and AVRO AVRO keys,
More informationParengė ITMM Artūras Šakalys 1
2014.02.02 Parengė ITMM Artūras Šakalys 1 2014.02.02 Parengė ITMM Artūras Šakalys 2 Kaip suprantame masyvą? Pavyzdys: Peteliškių šeima; Gėlių laukas; 2014.02.02 Parengė ITMM Artūras Šakalys 3 Kaip suprasti
More informationPublications Office. TED Website - Notice Viewer WS Technical Specifications Document - Appendix D - NoticeViewer
Publications Office Subject NoticeViewer WS API Version / Status 1.03 Release Date 17/02/2017 Filename Document Reference TED_WEBSITE-TSP-Technical_Specifications_Document-v1.03 TED-TSP-Appendix D Table
More informationCSCI-1680 RPC and Data Representation. Rodrigo Fonseca
CSCI-1680 RPC and Data Representation Rodrigo Fonseca Today Defining Protocols RPC IDL Problem Two programs want to communicate: must define the protocol We have seen many of these, across all layers E.g.,
More informationOverview of the JSON Encoding Rules (JER)
Overview of the JSON Encoding Rules (JER) Alessandro Triglia, OSS Nokalva sandro@oss.com July 2017 OSS Nokalva, Inc. 1 CONTENTS 1 Introduction...3 2 The JSON Encoding Rules...4 2.1 JER encoding instructions...4
More informationTransitioning from C# to Scala Using Apache Thrift. Twitter Finagle
Transitioning from C# to Scala Using Apache Thrift and Twitter Finagle Steven Skelton September 19, 2013 Empathica Empathica provides Customer Experience Management programs to more than 200 of the world's
More informationCSCI-1680 RPC and Data Representation. Rodrigo Fonseca
CSCI-1680 RPC and Data Representation Rodrigo Fonseca Administrivia TCP: talk to the TAs if you still have questions! ursday: HW3 out Final Project (out 4/21) Implement a WebSockets server an efficient
More informationCS 417 9/18/17. Paul Krzyzanowski 1. Socket-based communication. Distributed Systems 03. Remote Procedure Calls. Sample SMTP Interaction
Socket-based communication Distributed Systems 03. Remote Procedure Calls Socket API: all we get from the to access the network Socket = distinct end-to-end communication channels Read/write model Line-oriented,
More informationDistributed Systems. 03. Remote Procedure Calls. Paul Krzyzanowski. Rutgers University. Fall 2017
Distributed Systems 03. Remote Procedure Calls Paul Krzyzanowski Rutgers University Fall 2017 1 Socket-based communication Socket API: all we get from the OS to access the network Socket = distinct end-to-end
More informationTutorial on Fast Web Services
Tutorial on Fast Web Services This document provides tutorial material on Fast Web Services (it is equivalent to Annex C of X.892 ISO/IEC 24824-2). Some of the advantages of using Fast Web Services are
More informationISO/IEC INTERNATIONAL STANDARD. Information technology Abstract Syntax Notation One (ASN.1): Specification of basic notation
INTERNATIONAL STANDARD ISO/IEC 8824-1 Fourth edition 2008-12-15 Information technology Abstract Syntax Notation One (ASN.1): Specification of basic notation Technologies de l'information Notation de syntaxe
More informationPiqi-RPC. Exposing Erlang services via JSON, XML and Google Protocol Buffers over HTTP. Friday, March 25, 2011
Piqi-RPC Exposing Erlang services via JSON, XML and Google Protocol Buffers over HTTP 1 Anton Lavrik http://piqi.org http://www.alertlogic.com 2 Overview Call Erlang functions using HTTP POST : Server
More informationDeveloping Interoperable Web Services for the Enterprise
Developing Interoperable Web Services for the Enterprise Simon C. Nash IBM Distinguished Engineer Hursley, UK nash@hursley.ibm.com Simon C. Nash Developing Interoperable Web Services for the Enterprise
More informationXML Grammar and Parser for the Web Service. Offerings Language
XML Grammar and Parser for the Web Service Offerings Language by Kruti Patel, B. Eng. A thesis submitted to the Faculty of Graduate Studies and Research in partial fulfillment of the requirements for the
More informationasn1tools Documentation
asn1tools Documentation Release 0.137.0 Erik Moqvist Nov 15, 2018 Contents 1 About 3 2 Known limitations 5 3 Installation 7 4 Example Usage 9 4.1 Scripting.................................................
More informationSOAP Web Services Objektumorientált szoftvertervezés Object-oriented software design. Web services 11/23/2016. Outline. Remote call.
SOAP Web Services Objektumorientált szoftvertervezés Object-oriented software design Outline Web Services SOAP WSDL Web Service APIs.NET: WCF Java: JAX-WS Dr. Balázs Simon BME, IIT 2 Remote call Remote
More informationDistributed Programming and Remote Procedure Calls (RPC): Apache Thrift. George Porter CSE 124 February 19, 2015
Distributed Programming and Remote Procedure Calls (RPC): Apache Thrift George Porter CSE 124 February 19, 2015 End-to-end RPC protocol RPC Components Defines messages, message exchange behavior, Programming
More informationEfficient XML and Weather: Efficient XML Report 1.0
: Efficient XML Report 1.0 Aaron Braeckel Briefing to WXXM/AIXM Conference 04 May 2010 National Center for Atmospheric Research Boulder, CO Background and Motivation XML Benefits: Extensible Human-readable
More informationISO/IEC INTERNATIONAL STANDARD. Information technology ASN.1 encoding rules: Mapping W3C XML schema definitions into ASN.1
INTERNATIONAL STANDARD ISO/IEC 8825-5 Third edition 2015-11-15 Information technology ASN.1 encoding rules: Mapping W3C XML schema definitions into ASN.1 Technologies de l'information Règles de codage
More informationSERIES X: DATA NETWORKS, OPEN SYSTEM COMMUNICATIONS AND SECURITY OSI networking and system aspects Abstract Syntax Notation One (ASN.
I n t e r n a t i o n a l T e l e c o m m u n i c a t i o n U n i o n ITU-T X.680 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (08/2015) SERIES X: DATA NETWORKS, OPEN SYSTEM COMMUNICATIONS AND SECURITY
More informationProgramming Web Services in Java
Programming Web Services in Java Description Audience This course teaches students how to program Web Services in Java, including using SOAP, WSDL and UDDI. Developers and other people interested in learning
More informationISO/IEC INTERNATIONAL STANDARD. Information technology ASN.1 encoding rules: XML Encoding Rules (XER)
INTERNATIONAL STANDARD ISO/IEC 8825-4 First edition 2002-12-15 Information technology ASN.1 encoding rules: XML Encoding Rules (XER) Technologies de l'information Règles de codage ASN.1: Règles de codage
More informationISO/IEC INTERNATIONAL STANDARD. Information technology -- Abstract Syntax Notation One (ASN.1): Specification of basic notation
INTERNATIONAL STANDARD This is a preview - click here to buy the full publication ISO/IEC 8824-1 Fifth edition 2015-11-15 Information technology -- Abstract Syntax Notation One (ASN.1): Specification of
More informationGoogle Protocol Buffers for Embedded IoT
Google Protocol Buffers for Embedded IoT Integration in a medical device project Quick look 1: Overview What is it and why is useful Peers and alternatives Wire format and language syntax Libraries for
More informationSERIES X: DATA NETWORKS, OPEN SYSTEM COMMUNICATIONS AND SECURITY OSI networking and system aspects Abstract Syntax Notation One (ASN.
International Telecommunication Union ITU-T X.680 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (11/2008) SERIES X: DATA NETWORKS, OPEN SYSTEM COMMUNICATIONS AND SECURITY OSI networking and system aspects
More informationISO/IEC INTERNATIONAL STANDARD. Information technology ASN.1 encoding rules: Specification of Encoding Control Notation (ECN)
INTERNATIONAL STANDARD ISO/IEC 8825-3 Second edition 2008-12-15 Information technology ASN.1 encoding rules: Specification of Encoding Control Notation (ECN) Technologies de l'information Règles de codage
More informationWSDL. Stop a while to read about me!
WSDL Stop a while to read about me! Part of the code shown in the following slides is taken from the book Java by D.A. Chappell and T. Jawell, O Reilly, ISBN 0-596-00269-6 What is WSDL? Description Language
More informationWeb Services & Axis2. Architecture & Tutorial. Ing. Buda Claudio 2nd Engineering Faculty University of Bologna
Web Services & Axis2 Architecture & Tutorial Ing. Buda Claudio claudio.buda@unibo.it 2nd Engineering Faculty University of Bologna June 2007 Axis from SOAP Apache Axis is an implementation of the SOAP
More informationCOP 4814 Florida International University Kip Irvine. Inside WCF. Updated: 11/21/2013
COP 4814 Florida International University Kip Irvine Inside WCF Updated: 11/21/2013 Inside Windows Communication Foundation, by Justin Smith, Microsoft Press, 2007 History and Motivations HTTP and XML
More informationSriram Krishnan, Ph.D. NBCR Summer Institute, August 2010
Sriram Krishnan, Ph.D. sriram@sdsc.edu NBCR Summer Institute, August 2010 What are Services Oriented Architectures? What are Web services? WSDL (Web Services Definition Language) Techniques for building
More informationApache Thrift Introduction & Tutorial
Apache Thrift Introduction & Tutorial Marlon Pierce, Suresh Marru Q & A TIOBE Index Programming Language polyglotism Modern distributed applications are rarely composed of modules written in a single language.
More informationWeb Services. Grid Computing (M) Lecture 6. Olufemi Komolafe 19 January 2007
Web Services Grid Computing (M) Lecture 6 Olufemi Komolafe (femi@dcs.gla.ac.uk) 19 January 2007 UDDI registry retrieved from a DTD WSDL service definition XML schema definition is a describes structure
More informationWeb servisai WSDL. Osvaldas Grigas
Web servisai WSDL Osvaldas Grigas Web servisų aprašymas Kiekvienas web servisas yra unikalus Jis turi adresą(arba kelis adresus), kuriuo į jį galima kreiptis. Jis supranta tik tam tikros struktūros įeinančius
More informationIntroduction to Web Service
Introduction to Web Service Sagara Gunathunga ( Apache web Service and Axis committer ) CONTENTS Why you need Web Services? How do you interact with on-line financial service? Conclusion How do you interact
More informationSOAP Specification. 3 major parts. SOAP envelope specification. Data encoding rules. RPC conventions
SOAP, UDDI and WSDL SOAP SOAP Specification 3 major parts SOAP envelope specification Defines rules for encapsulating data Method name to invoke Method parameters Return values How to encode error messages
More informationTelecommunication Services Engineering Lab. Roch H. Glitho
Week #1 (January 4-8) Current Generation Networks: From 2G to 2.5G Week #2 (January 11-15) Value added Services in Current Generation Networks Week #3 (January 18-22) Next Generation Network Vision Session
More informationDave DiFranco Apache Thrift
Dave DiFranco david.difranco@oracle.com ddif@alum.mit.edu Apache Thrift http://thrift.apache.org Goals of Thrift Scalable, cross-language services development Allow developers to use the right language
More informationComparative Survey of Object Serialization Techniques and the Programming Supports
Comparative Survey of Object Serialization Techniques and the Programming Supports Kazuaki Maeda Abstract This paper compares six approaches of object serialization from qualitative and quantitative aspects.
More informationXML Extensible Markup Language
XML Extensible Markup Language Generic format for structured representation of data. DD1335 (Lecture 9) Basic Internet Programming Spring 2010 1 / 34 XML Extensible Markup Language Generic format for structured
More informationC++ programavimo kalba. Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita)
C++ programavimo kalba Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita) Konstruktorius Sukuriant objektą, jo duomenims paprastai turi būti priskiriamos pradinės
More informationIntroduction to RPC, Apache Thrift Workshop. Tomasz Powchowicz
Introduction to RPC, Apache Thrift Workshop Tomasz Powchowicz It is all about effective communication page 2 Synchronous, asynchronous execution Executor Executor A Executor B Executor A Executor B 1 1
More informationStruktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; //
C programavimo kalba 10 paskaita (Struktūros) Struktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; // Gale
More informationOperating Systems. 18. Remote Procedure Calls. Paul Krzyzanowski. Rutgers University. Spring /20/ Paul Krzyzanowski
Operating Systems 18. Remote Procedure Calls Paul Krzyzanowski Rutgers University Spring 2015 4/20/2015 2014-2015 Paul Krzyzanowski 1 Remote Procedure Calls 2 Problems with the sockets API The sockets
More informationINTERNATIONAL TELECOMMUNICATION UNION
INTERNATIONAL TELECOMMUNICATION UNION ITU-T X.691 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (07/2002) SERIES X: DATA NETWORKS AND OPEN SYSTEM COMMUNICATIONS OSI networking and system aspects Abstract
More informationWeb services. In plain words, they provide a good mechanism to connect heterogeneous systems with WSDL, XML, SOAP etc.
Web Services Web Services A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format
More informationExercise SBPM Session-4 : Web Services
Arbeitsgruppe Exercise SBPM Session-4 : Web Services Kia Teymourian Corporate Semantic Web (AG-CSW) Institute for Computer Science, Freie Universität Berlin kia@inf.fu-berlin.de Agenda Presentation of
More informationASN2XML. ASN.1 to XML Translator. Version 2.1. Reference Manual. Objective Systems July 2010
ASN2XML ASN.1 to XML Translator Version 2.1 Reference Manual Objective Systems July 2010 The software described in this document is furnished under a license agreement and may be used only in accordance
More informationMTAT Applied Cryptography
MTAT.07.017 Applied Cryptography Abstract Syntax Notation One (ASN.1) University of Tartu Spring 2014 1 / 20 Abstract Syntax Notation One Notation to describe abstract types and values Describes information
More informationThis tutorial is going to help all those readers who want to learn the basics of WSDL and use its features to interface with XML-based services.
i About the Tutorial This is a brief tutorial that explains how to use to exchange information in a distributed environment. It uses plenty of examples to show the functionalities of the elements used
More informationApache Avro. Sharing and managing data efficiently
Apache Avro Sharing and managing data efficiently Scott Carey Apache Avro PMC Chair Principal Architect, RichRelevance scottcarey@apache.org March 6, 2012 What is Apache Avro? "Apache Avro is a data serialization
More informationASN.1: A Powerful Schema Notation for XML
ASN.1: A Powerful Schema Notation for XML Olivier DUBUISSON ITU-T Q.12/17 (ASN.1) Rapporteur Leader of the ITU-T ASN.1 Project Olivier.Dubuisson@francetelecom.com http://asn1.elibel.tm.fr http://www.itu.int/itu-t/asn1/
More informationXML in the Development of Component Systems. XML Protocols: XML-RPC
XML in the Development of Component Systems XML Protocols: XML-RPC Protocols Distributed computing Components are deployed on different network nodes Object implementations do not share memory Communication
More informationpublic abstract class com.objsys.asn1j.runtime.asn18bitcharstring extends com.objsys.asn1j.runtime.asn1charstring
public abstract class com.objsys.asn1j.runtime.asn18bitcharstring extends com.objsys.asn1j.runtime.asn1charstring This is an abstract base class for holding the ASN.1 8-bit character string types (IA5String,
More informationก. ก ก (krunapon@kku.ac.th) (pongsakorn@gmail.com) ก ก ก ก ก ก ก ก ก ก 2 ก ก ก ก ก ก ก ก ก ก ก ก ก ก ก ก ก ก ก ก ก ก ก 3 ก ก 4 ก ก 1 ก ก ก ก (XML) ก ก ก ก ( HTTP) ก ก Web Services WWW Web services architecture
More informationios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV
ios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV Pagrindas OS X, skirtas ARM įrenginiams Programavimo aplinka: XCode ir Objective-C Programavimo kompiuteris -
More informationArtix ESB. Bindings and Transports, Java Runtime. Version 5.5 December 2008
Artix ESB Bindings and Transports, Java Runtime Version 5.5 December 2008 Bindings and Transports, Java Runtime Version 5.5 Publication date 18 Mar 2009 Copyright 2001-2009 Progress Software Corporation
More informationISO/IEC INTERNATIONAL STANDARD. Information technology ASN.1 encoding rules: Specification of Octet Encoding Rules (OER)
INTERNATIONAL STANDARD ISO/IEC 8825-7 Second edition 2015-11-15 Information technology ASN.1 encoding rules: Specification of Octet Encoding Rules (OER) Technologies de l'information -- Règles de codage
More informationASN.1 and the Connected Vehicle
ASN.1 and the Connected Vehicle Alessandro Triglia sandro@oss.com OSS Nokalva, Inc. 2 nd International Summit on the State of the Connected Vehicle Troy, MI 2010-09-30 ASN.1 ASN.1 = Abstract Syntax Notation
More informationJSON is a light-weight alternative to XML for data-interchange JSON = JavaScript Object Notation
JSON The Fat-Free Alternative to XML { Lecture : 27, Course : CSC375, Days : TTh", Instructor : Haidar Harmanani } Why JSON? JSON is a light-weight alternative to XML for data-interchange JSON = JavaScript
More informationSERIES X: DATA NETWORKS, OPEN SYSTEM COMMUNICATIONS AND SECURITY OSI networking and system aspects Abstract Syntax Notation One (ASN.
7 I n t e r n a t i o n a l T e l e c o m m u n i c a t i o n U n i o n ITU-T X.692 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (08/2015) SERIES X: DATA NETWORKS, OPEN SYSTEM COMMUNICATIONS AND SECURITY
More informationSERVICE TECHNOLOGIES 1
SERVICE TECHNOLOGIES 1 Exercises 1 19/03/2014 Valerio Panzica La Manna valerio.panzicalamanna@polimi.it http://servicetechnologies.wordpress.com/exercises/ Outline Web Services: What? Why? Java Web Services:
More informationIntroduction to the Cisco ANM Web Services API
1 CHAPTER This chapter describes the Cisco ANM Web Services application programming interface (API), which provides a programmable interface for system developers to integrate with customized or third-party
More informationIntroduction to Web Services
20 th July 2004 www.eu-egee.org Introduction to Web Services David Fergusson NeSC EGEE is a project funded by the European Union under contract IST-2003-508833 Objectives Context for Web Services Architecture
More informationMTAT Applied Cryptography
MTAT.07.017 Applied Cryptography Abstract Syntax Notation One (ASN.1) University of Tartu Spring 2017 1 / 19 Abstract Syntax Notation One Notation to describe abstract types and values Describes information
More informationNetwork Management. Raj Jain Raj Jain. Washington University in St. Louis
Network Management Raj Jain Raj Jain Washington University in Saint Louis Saint Louis, MO 63130 Jain@wustl.edu Audio/Video recordings of this lecture are available on-line at: http://www.cse.wustl.edu/~jain/cse473-09/
More informationWeb Applications. Web Services problems solved. Web services problems solved. Web services - definition. W3C web services standard
Web Applications 31242/32549 Advanced Internet Programming Advanced Java Programming Presentation-oriented: PAGE based App generates Markup pages (HTML, XHTML etc) Human oriented : user interacts with
More informationWeb Services Foundations: SOAP, WSDL and UDDI
Web Services Foundations: SOAP, WSDL and UDDI Helen Paik School of Computer Science and Engineering University of New South Wales Alonso Book Chapter 5-6 Webber Book Chapter 3-4 Mike Book Chapter 4-5 References
More informationJava EE 7: Back-end Server Application Development 4-2
Java EE 7: Back-end Server Application Development 4-2 XML describes data objects called XML documents that: Are composed of markup language for structuring the document data Support custom tags for data
More informationSOA SOA SOA SOA SOA SOA SOA SOA SOA SOA SOA SOA SOA SOA
P P CRM - Monolithic - Objects - Component - Interface - . IT. IT loosely-coupled Client : - Reusability - Interoperability - Scalability - Flexibility - Cost Efficiency - Customized SUN BEA IBM - extensible
More informationDeveloping JAX-RPC Web services
Developing JAX-RPC Web services {scrollbar} This tutorial will take you through the steps required in developing, deploying and testing a Web Service in Apache Geronimo. After completing this tutorial
More informationJSON as an XML Alternative. JSON is a light-weight alternative to XML for datainterchange
JSON The Fat-Free Alternative to XML { Lecture : 27, Course : CSC375, Days : TTh", Instructor : Haidar Harmanani } JSON as an XML Alternative JSON is a light-weight alternative to XML for datainterchange
More information@WebService OUT params via javax.xml.ws.holder
@WebService OUT params via javax.xml.ws.holder Example webservice-holder can be browsed at https://github.com/apache/tomee/tree/master/examples/webservice-holder With SOAP it is possible to return multiple
More informationLecture Notes course Software Development of Web Services
Lecture Notes course 02267 Software Development of Web Services Hubert Baumeister huba@dtu.dk Fall 2014 Contents 1 Complex Data and XML Schema 1 2 Binding to Java 8 3 User defined Faults 9 4 WSDL: Document
More informationExternal data representation
External data representation https://developers.google.com/protocol-buffers/ https://github.com/protobuf-c/protobuf-c http://www.drdobbs.com/webdevelopment/after-xml-json-thenwhat/240151851 http://www.digip.org/jansson/
More informationSOAP, WSDL, HTTP, XML, XSD, DTD, UDDI - what the?
SOAP, WSDL, HTTP, XML, XSD, DTD, UDDI - what the? By Aaron Bartell Copyright Aaron Bartell 2013 by Aaron Bartell aaron@mowyourlawn.com Agenda Why are we at this point in technology? XML Holding data the
More informationPolimorfizmas. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.
Polimorfizmas Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2009-2010 m. m. pavasario semestras Dar apie paveldėjimą Java kalboje kiekvienas paveldėtos klasės objektas gali būti naudojamas ten, kur
More informationKerberos V5. Raj Jain. Washington University in St. Louis
Kerberos V5 Raj Jain Washington University in Saint Louis Saint Louis, MO 63130 Jain@cse.wustl.edu Audio/Video recordings of this lecture are available at: http://www.cse.wustl.edu/~jain/cse571-07/ 11-1
More informationX-Road: Protocol for Management Services
X-Road: Protocol for Management Services Technical Document Version: 1.8 09.11.2015 22 pages Doc. ID: PR-MSERV 09.11.2015 1/22 Date Version Description Author 19.08.2015 0.1 Initial version Martin Lind
More informationFuse ESB Enterprise Using the Web Services Bindings and Transports
Fuse ESB Enterprise Using the Web Services Bindings and Transports Version 7.1 December 2012 Integration Everywhere Using the Web Services Bindings and Transports Version 7.1 Updated: 08 Jan 2014 Copyright
More informationElliotte Rusty Harold August From XML to Flat Buffers: Markup in the Twenty-teens
Elliotte Rusty Harold elharo@ibiblio.org August 2018 From XML to Flat Buffers: Markup in the Twenty-teens Warning! The Contenders XML JSON YAML EXI Protobufs Flat Protobufs XML JSON YAML EXI Protobuf Flat
More informationWeb Services Overview
Web Services Overview Using Eclipse WTP Greg Hester Pacific Hi-Tech, Inc. greg.hester.pacifichitech.com 1 September 17, 2008 Agenda Web Services Concepts How Web Services are used Web Services tools in
More informationCase study group setup at catme.org Please respond before Tuesday next week to have better group setup
Notes Case study group setup at catme.org Please respond before Tuesday next week to have better group setup Discussion To boost discussion, one write-up for the whole group is fine Write down the names
More informationThis presentation is a primer on WSDL Bindings. It s part of our series to help prepare you for creating BPEL projects. We recommend you review this
This presentation is a primer on WSDL Bindings. It s part of our series to help prepare you for creating BPEL projects. We recommend you review this presentation before taking an ActiveVOS course or before
More informationSimple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer
Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer Minimal List Common Syntax is provided by XML To allow remote sites to interact with each other: 1. A common
More informationC++ programavimo kalba
C++ programavimo kalba Operatorių perkrovimas (7 paskaita) Operatorių perdengimas Programavimo kalbose naudojami operatoriai pasižymi polimorfizmu (daugiavariantiškumu). Kaip pavyzdys gali būti operatorius
More informationDistributed Systems 8. Remote Procedure Calls
Distributed Systems 8. Remote Procedure Calls Paul Krzyzanowski pxk@cs.rutgers.edu 10/1/2012 1 Problems with the sockets API The sockets interface forces a read/write mechanism Programming is often easier
More informationModulo II WebServices
Modulo II WebServices Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Bibliografia April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 2 1 Ementa History
More informationDelivery Options: Attend face-to-face in the classroom or via remote-live attendance.
XML Programming Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject to GST/HST Delivery Options: Attend face-to-face in the classroom or
More informationThis is a preview - click here to buy the full publication INTERNATIONAL STANDARD
INTERNATIONAL STANDARD lso/iec First edition 1996-03-l 5 Information technology - Language- Independent Procedure Calling (LIPC) Technologies de I information - Appel de procbdure indbpendant du langage
More informationData Formats. Course NDBI040: Big Data Management and NoSQL Databases. Lecture 06: Martin Svoboda
Course NDBI040: Big Data Management and NoSQL Databases Lecture 06: Data Formats Martin Svoboda 10. 11. 2015 Charles University in Prague, Faculty of Mathematics and Physics Outline Data formats JSON JavaScript
More informationWorld-Wide Wide Web. Netprog HTTP
Web Services Based partially on Sun Java Tutorial at http://java.sun.com/webservices/ Also, XML, Java and the Future of The Web, Jon Bosak. And WSDL Tutorial at: http://www.w3schools.com/wsdl wsdl/ 1 World-Wide
More information