RPC VS. REST VS. GraphQL
|
|
- Arron Webster
- 5 years ago
- Views:
Transcription
1 RPC VS. REST VS. GraphQL An API throwdown February 27, 2018
2 WHICH API STYLE IS BEST? {
3 THE DEBATE IS STILL RAGING
4 DEBATES MISS THE POINT
5 API DESIGN EVOLUTION? NOT QUITE. REST RPC
6 Coupling Chattiness Client complexity Cognitive complexity Caching Discoverability Versioning { MANY DESIGN CONSIDERATIONS
7 GOAL: Understand the practical tradeoffs
8 RPC Remote procedure call
9 "Call a function on another server" Fundamental unit: function
10 RPC API EXAMPLE Service definition listconversations(); listmessages(int conversationid); sendmessage(int conversationid, string body);
11 RPC API EXAMPLE Service definition GET /listconversations GET /listmessages?id=123 POST /sendmessage?id=123
12 RPC API EXAMPLE Get all conversations GET /listconversations [ { "id": 2, "title": "vi or emacs?", "author": 1008,... ]
13 RPC API EXAMPLE Get all messages in a conversation GET /listmessages?id=2 [ { "id": 100, "message": "Atom", "author": 3001, { "id": 101, "message": "Real programmers use Notepad.", "author": 3009 ]
14 RPC API EXAMPLE Reply to conversation POST /sendmessage?id=2 { "body": "Editor debates are silly"
15 Cutting edge of RPC Apache Thrift grpc Twirp
16 ADVANTAGES OF RPC Simple and easy to understand Lightweight payloads High performance
17 PROBLEMS WITH RPC Tight coupling No discoverability Function explosion
18 FUNCTION EXPLOSION /listconversations /listconversationsv2 /listmessages /sendmessage /sendmessagertl /checksendstatus /getauthordetails /getauthordetailsv2 /getfullauthordetailsv3 /deletemessage /deletemessageadmin /gettopconversations /gettopconversationsv2 /getsystemstatus
19 REST Representational state transfer
20 "Here are some resources and what you can do with them" Fundamental unit: resource
21 { "conversations": { "href": " "rel": [ "collection" ], "desc": "View all conversations", "messages:" { "href": " "rel": [ "collection" ] REST API EXAMPLE Entry point GET
22 REST API EXAMPLE Get all conversations GET { "count": 2, "value": [ { "href": " "title": "vim or emacs?", "author": " "messages": " ]
23 REST API EXAMPLE Get all messages in a conversation GET { "count": 3, "value": [ { "href": " "conversation": " "text": "Real programmers use Notepad.", "author": " ]
24 REST API EXAMPLE Describe operations on resources "create": { "href": " "method": "POST", "desc": "Reply to conversation", "value": [ { "name": "text", "desc": "Your reply" ]
25 REST API EXAMPLE Reply to a conversation POST { "text": "Editor debates are silly"
26 REST API EXAMPLE Get author info GET { "href": " "name": "Joe Brogrammer", "location": "None of your business", "messages": { "href": " "rel" [ "collection" ], "desc": "View user's messages"
27 REST API EXAMPLE Get recent conversations + replies + authors GET GET GET GET GET GET GET
28 REST!= JSON over HTTP REST!= "RESTful procedure call"
29 Hypertext As The Engine Of Application State Goal: decouple the client and server
30 Cutting edge of REST HAL JSON-API Ion
31 ADVANTAGES OF REST Decoupled client and server API can evolve over time Reuses HTTP
32 PROBLEMS WITH REST No single spec Big payloads and "chattiness"
33 REST API "CHATTINESS" GET GET GET GET GET GET GET
34 GraphQL Graph query language
35 "Ask for exactly what you want" Fundamental unit: query
36 GRAPHQL API EXAMPLE Schema definition type Query { listconversations: [Conversation] type Mutation { sendmessage(text: String): Message type Conversation { id: Int title: String messages: [Message] type Message { id: ID text: String author: User type User { id: ID name: String
37 GRAPHQL API EXAMPLE Get all conversations and messages { listconversations { title, messages { text { "data": { "listconversations": [ { "title": "vim or emacs?", "messages": [ { "text": "Real programmers use Notepad." ] ]
38 GRAPHQL API EXAMPLE Get all conversations + messages + author names { listconversations { title, messages { text, author { name { "data": { "listconversations": [ { "title": "vim or emacs?", "messages": [ { "text": "Real programmers use Notepad." "author": { "name": "Joe Brogrammer" ] ]
39 GRAPHQL API EXAMPLE Reply to a conversation mutation { sendmessage(text: "vscode is best") { id { "data": { "sendmessage": { "id": "103"
40 ADVANTAGES OF GRAPHQL Low network overhead Typed schema Fits graph-like data very well
41 Complexity PROBLEMS WITH GRAPHQL Caching Versioning Still early
42 DESIGN CONSIDERATIONS Coupling Chattiness Client complexity Cognitive complexity Caching Discoverability Versioning RPC Functions High Medium Low Low Custom Bad Hard REST Resources Low High Medium Low HTTP Good Easy GraphQL Queries Medium Low High High Custom Good???
43 THE DEBATE IS STILL RAGING WHICH API STYLE IS BEST? WHO USES MY API?
44 USE CASE: MANAGEMENT API Focus on objects or resources Many varied clients Discoverability and documentation Consider: REST (Ion, HAL, JSON-API)
45 USE CASE: COMMAND API Action-oriented Simple interactions Consider: RPC
46 USE CASE: MICROSERVICES High message rate Low overhead Consider: RPC (grpc, Twirp) or REST
47 USE CASE: DATA OR MOBILE API Data is graph-like Optimize for high latency Consider: GraphQL
48 NO SILVER BULLET
49 LEARN MORE YouTube: Les Hazlewood on REST API design YouTube: Eric Baer on GraphQL Phil Sturgeon's blog:
SERVICE API SPECIALIST Certification. Service API Specialist
SERVICE API SPECIALIST Certification Service API The new generation SOACP program from Arcitura is dedicated to excellence in the fields of contemporary service-oriented architecture, microservices, service
More informationLOG8430: Architecture logicielle et conception avancée
LOG8430: Architecture logicielle et conception avancée Microservices, REST and GraphQL Automne 2017 Fabio Petrillo Chargé de Cours This work is licensed under a Creative 1 Commons Attribution-NonCommercialShareAlike
More information{ REST } vs. Battle of API s
{ REST } vs Battle of API s Software Engineer at Sensedia Who am I? MBA in java projects Java and microservice enthusiastic Microservices Agenda REST grpc Demo Questions Moving to Microservices Monolith
More informationInternet of Things Workshop ST 2015/2016
Internet of Things Workshop ST 2015/2016 Architecture Johan Lukkien John Carpenter, 1982 1 Architectural styles (patterns) Remember: An architecture is the fundamental organization of a system embodied
More informationThe EHRI GraphQL API IEEE Big Data Workshop on Computational Archival Science
The EHRI GraphQL API IEEE Big Data Workshop on Computational Archival Science 13/12/2017 Mike Bryant CONNECTING COLLECTIONS The EHRI Project The main objective of EHRI is to support the Holocaust research
More informationThe Future of the Realtime Web BETTER APIS WITH GRAPHQL. Josh
The Future of the Realtime Web BETTER APIS WITH GRAPHQL Josh Price @joshprice STEPPING STONES TO FP Language (Elixir) Strongly-Typed APIs (GraphQL) GRAPHQL WAS HERE? http://whiteafrican.com/2008/05/12/crossing-the-mapping-chasm/
More informationBUILDING MICROSERVICES ON AZURE. ~ Vaibhav
BUILDING MICROSERVICES ON AZURE ~ Vaibhav Gujral @vabgujral About Me Over 11 years of experience Working with Assurant Inc. Microsoft Certified Azure Architect MCSD, MCP, Microsoft Specialist Aspiring
More informationGraphQL: Mind Your Ps and QLs
GraphQL: Mind Your Ps and QLs Misha Kotov Sr. Product Manager @mish_capish Cristian Partica MTS 1, Software Engineer @magento_chris The Beginning GraphQL Data query language developed internally by Facebook
More informationManaging Data at Scale: Microservices and Events. Randy linkedin.com/in/randyshoup
Managing Data at Scale: Microservices and Events Randy Shoup @randyshoup linkedin.com/in/randyshoup Background VP Engineering at Stitch Fix o Combining Art and Science to revolutionize apparel retail Consulting
More information04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6
04 Webservices Web APIs REST Coulouris chp.9 Roy Fielding, 2000 Chp 5/6 Aphrodite, 2002 http://www.xml.com/pub/a/2004/12/01/restful-web.html http://www.restapitutorial.com Webservice "A Web service is
More informationBasic Concepts of the Energy Lab 2.0 Co-Simulation Platform
Basic Concepts of the Energy Lab 2.0 Co-Simulation Platform Jianlei Liu KIT Institute for Applied Computer Science (Prof. Dr. Veit Hagenmeyer) KIT University of the State of Baden-Wuerttemberg and National
More informationRESTful API Design APIs your consumers will love
RESTful API Design APIs your consumers will love Matthias Biehl RESTful API Design Copyright 2016 by Matthias Biehl All rights reserved, including the right to reproduce this book or portions thereof in
More informationGraphQL - when REST API is not
GraphQL - when REST API is not GraphQL - when RESTlearned API is enough - lessons not enough - Marcin lessons Stachniuk learned Marcin Stachniuk Marcin Stachniuk mstachniuk.github.io /mstachniuk/graphql-java-example
More informationWeb APIs that Developers Love. Kai
1 Web APIs that Developers Love Kai Spichale @kspichale 2 Communication among developers Decoupling from implementation Client API Implementation Operations with input and output Integration & reuse 3
More informationOCF Specification Overview Core Technology Specification. OCF 2.0 Release June 2018
OCF Specification Overview Core Technology Specification OCF 2.0 Release June 2018 Core Framework Topics Outline (1 of 2) Objectives RESTful Architecture OCF Roles Resources Basic Operations Organization
More informationTools of the Trade Web Development at Fairfax Media
Tools of the Trade Web Development at Fairfax Media Who am I? George Wright Technology Director - Metro Publishing Fairfax Media Janette Chiu Software Engineer - Metro Publishing Fairfax Media I am responsible
More informationHow we build TiDB. Max Liu PingCAP Amsterdam, Netherlands October 5, 2016
How we build TiDB Max Liu PingCAP Amsterdam, Netherlands October 5, 2016 About me Infrastructure engineer / CEO of PingCAP Working on open source projects: TiDB: https://github.com/pingcap/tidb TiKV: https://github.com/pingcap/tikv
More informationMongoDB Web Architecture
MongoDB Web Architecture MongoDB MongoDB is an open-source, NoSQL database that uses a JSON-like (BSON) document-oriented model. Data is stored in collections (rather than tables). - Uses dynamic schemas
More informationWeb Services Week 10
Web Services Week 10 Emrullah SONUÇ Department of Computer Engineering Karabuk University Fall 2017 1 Recap BPEL Process in Netbeans RESTful Web Services Introduction to Rest Api 2 Contents RESTful Web
More informationAlbis: High-Performance File Format for Big Data Systems
Albis: High-Performance File Format for Big Data Systems Animesh Trivedi, Patrick Stuedi, Jonas Pfefferle, Adrian Schuepbach, Bernard Metzler, IBM Research, Zurich 2018 USENIX Annual Technical Conference
More informationA Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles Jørgen Thelin Chief Scientist Cape Clear Software Inc. Abstract The three common software architecture styles
More informationMicroservices. Webservices with Scala (II) Microservices
Microservices Webservices with Scala (II) Microservices 2018 1 Content Deep Dive into Play2 1. Database Access with Slick 2. Database Migration with Flyway 3. akka 3.1. overview 3.2. akka-http (the http
More informationWriting REST APIs with OpenAPI and Swagger Ada
Writing REST APIs with OpenAPI and Swagger Ada Stéphane Carrez FOSDEM 2018 OpenAPI and Swagger Ada Introduction to OpenAPI and Swagger Writing a REST Ada client Writing a REST Ada server Handling security
More informationGoal: Offer practical information to help the architecture evaluation of an SOA system. Evaluating a Service-Oriented Architecture
Evaluating a Service-Oriented Architecture Paulo Merson, SEI with Phil Bianco, SEI Rick Kotermanski, Summa Technologies May 2007 Goal: Offer practical information to help the architecture evaluation of
More information416 Distributed Systems. RPC Day 2 Jan 11, 2017
416 Distributed Systems RPC Day 2 Jan 11, 2017 1 Last class Finish networks review Fate sharing End-to-end principle UDP versus TCP; blocking sockets IP thin waist, smart end-hosts, dumb (stateless) network
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 informationDiscover GraphQL with Python, Graphene and Odoo. FOSDEM Stéphane Bidoul Version 1.0.4
Discover GraphQL with Python, Graphene and Odoo FOSDEM 2019-02-03 Stéphane Bidoul Version 1.0.4 2 / 47 A short story Why this talk 3 / 47 /me in a nutshell @sbidoul CTO of (https://acsone.eu)
More informationIntroduction to GraphQL and Relay. Presenter: Eric W. Greene
Introduction to GraphQL and Relay Presenter: Eric W. Greene Welcome to the Webinar! Welcome to the webinar on GraphQL and Relay!!! We will review a few slides, then experiment with GraphQL and review GraphQL
More information416 Distributed Systems. RPC Day 2 Jan 12, 2018
416 Distributed Systems RPC Day 2 Jan 12, 2018 1 Last class Finish networks review Fate sharing End-to-end principle UDP versus TCP; blocking sockets IP thin waist, smart end-hosts, dumb (stateless) network
More informationInvestigating Source Code Reusability for Android and Blackberry Applications
Investigating Source Code Reusability for Android and Blackberry Applications Group G8 Jenelle Chen Aaron Jin 1 Outline Recaps Challenges with mobile development Problem definition Approach Demo Detailed
More informationWeb-APIs. Examples Consumer Technology Cross-Domain communication Provider Technology
Web-APIs Examples Consumer Technology Cross-Domain communication Provider Technology Applications Blogs and feeds OpenStreetMap Amazon, Ebay, Oxygen, Magento Flickr, YouTube 3 more on next pages http://en.wikipedia.org/wiki/examples_of_representational_state_transfer
More informationDS 2009: middleware. David Evans
DS 2009: middleware David Evans de239@cl.cam.ac.uk What is middleware? distributed applications middleware remote calls, method invocations, messages,... OS comms. interface sockets, IP,... layer between
More informationService Oriented Architectures (ENCS 691K Chapter 2)
Service Oriented Architectures (ENCS 691K Chapter 2) Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ The Key Technologies on Which Cloud
More informationSemantic Interoperability Requires Self-describing Interaction Models
Semantic Interoperability Requires Self-describing Interaction Models IRTF T2TRG Meeting, San Jose, CA, USA, 2016 Matthias Kovatsch (kovatsch@inf.ethz.ch) Klaus Hartke (hartke@tzi.org) 1 Information Model
More informationLayered UI and Adaptation Policies for Ubiquitous Web Applications
Layered UI and Adaptation Policies for Ubiquitous Web Applications Centering ideas for upcoming standards 25 October 2007 José M. Cantera.- Telefónica I+D jmcf@tid.es Introduction Introduction Developing
More informationSOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE
SOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE Tomas Cerny, Software Engineering, FEE, CTU in Prague, 2014 1 ARCHITECTURES SW Architectures usually complex Often we reduce the abstraction
More informationGraphQL in Python and Django. Patrick
GraphQL in Python and Django Patrick Arminio @patrick91 Who am I Patrick Arminio Backend Engineer @ Verve Chairperson at Python Italia @patrick91 online GraphQL? WEB 1.0 WEB 2.0 REST APIs While REST
More informationShackbus. interconnecting your Shack. Tobias
Shackbus interconnecting your Shack Tobias Wellnitz @DH1TW Today we have: - Proprietary Protocols - Legacy Hardware - No / very limited interoperability What we want: Interconnected devices in our Shacks!
More informationRemote Procedure Calls
CS 5450 Remote Procedure Calls Vitaly Shmatikov Abstractions Abstractions for communication TCP masks some of the pain of communicating over unreliable IP Abstractions for computation Goal: programming
More informationTowards a Zero-Configuration Wireless Sensor Network Architecture for Smart Buildings
Towards a Zero-Configuration Wireless Sensor Network Architecture for Smart Buildings By Lars Schor, Philipp Sommer, Roger Wattenhofer Computer Engineering and Networks Laboratory ETH Zurich, Switzerland
More informationREST Easy with Infrared360
REST Easy with Infrared360 A discussion on HTTP-based RESTful Web Services and how to use them in Infrared360 What is REST? REST stands for Representational State Transfer, which is an architectural style
More informationSemantic Web Systems Introduction Jacques Fleuriot School of Informatics
Semantic Web Systems Introduction Jacques Fleuriot School of Informatics 11 th January 2015 Semantic Web Systems: Introduction The World Wide Web 2 Requirements of the WWW l The internet already there
More informationDistributed File Systems II
Distributed File Systems II To do q Very-large scale: Google FS, Hadoop FS, BigTable q Next time: Naming things GFS A radically new environment NFS, etc. Independence Small Scale Variety of workloads Cooperation
More informationArchitectural Code Analysis. Using it in building Microservices NYC Cloud Expo 2017 (June 6-8)
Architectural Code Analysis Using it in building Microservices NYC Cloud Expo 2017 (June 6-8) Agenda Intro to Structural Analysis Challenges addressed during traditional software development The new world
More informationArchitectural patterns and models for implementing CSPA
Architectural patterns and models for implementing CSPA Marco Silipo THE CONTRACTOR IS ACTING UNDER A FRAMEWORK CONTRACT CONCLUDED WITH THE COMMISSION Application architecture Outline SOA concepts and
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 informationImplementing a Ground Service- Oriented Architecture (SOA) March 28, 2006
Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006 John Hohwald Slide 1 Definitions and Terminology What is SOA? SOA is an architectural style whose goal is to achieve loose coupling
More informationXML: the document format of the future?
Arco User Conference 99 XML: the document format of the future? Hans C. Arents senior IT market analyst I.T. Works Guiding the IT Professional Innovation Center, Technologiepark 3, B-9052 Gent (Belgium),
More informationCDMI for Cloud IPC David Slik NetApp, Inc.
CDMI for Cloud IPC David Slik NetApp, Inc. 2011 Storage Developer Conference. Insert Your Company Name. All Rights Reserved. Session Agenda A Brief Overview of CDMI What is IPC CDMI Queues Common IPC Design
More informationINF5750. RESTful Web Services
INF5750 RESTful Web Services Recording Audio from the lecture will be recorded! Will be put online if quality turns out OK Outline REST HTTP RESTful web services HTTP Hypertext Transfer Protocol Application
More informationTalend Component tgoogledrive
Talend Component tgoogledrive Purpose and procedure This component manages files on a Google Drive. The component provides these capabilities: 1. Providing only the client for other tgoogledrive components
More informationREST API s in a CA Plex context. API Design and Integration into CA Plex landscape
REST API s in a CA Plex context API Design and Integration into CA Plex landscape Speaker Software Architect and Consultant at CM First AG, Switzerland since 2008 having 30+ years of experience with the
More informationOwn change. TECHNICAL WHITE PAPER Data Integration With REST API
TECHNICAL WHITE PAPER Data Integration With REST API Real-time or near real-time accurate and fast retrieval of key metrics is a critical need for an organization. Many times, valuable data are stored
More informationAnnouncements. Next week Upcoming R2
Announcements Next week Upcoming R2 APIs & Web Services SWEN-343 Today Need for APIs Webservices Types SOAP & REST SOA Microservices API (High-Level) Definition Application Program Interface A set of routines,
More informationANGEL CITY INTERACTIVE
ANGEL CITY INTERACTIVE Security API Guide Version 1.0 18 September 2017 Angel City Interactive 1117 10 th St., Apt. 2 626.202.6728 aidan@aidanatwork.com - http://demo.aidanatwork.com Preface Intended Audience
More informationOData: What s New with REST APIs for Your Database. Sanjeev Mohan, Gartner Nishanth Kadiyala, Progress Mark Biamonte, OData TC Member, Progress
OData: What s New with REST APIs for Your Database Sanjeev Mohan, Gartner Nishanth Kadiyala, Progress Mark Biamonte, OData TC Member, Progress Audio Bridge Options & Question Submission 2 OData: What s
More informationInternet Content Distribution
Internet Content Distribution Chapter 1: Introduction Jussi Kangasharju Chapter Outline Introduction into content distribution Basic concepts TCP DNS HTTP Outline of the rest of the course Kangasharju:
More informationDistribution and web services
Chair of Software Engineering Carlo A. Furia, Bertrand Meyer Distribution and web services From concurrent to distributed systems Node configuration Multiprocessor Multicomputer Distributed system CPU
More informationSpace Details. Available Pages
Key: Space Details extremescale Name: WebSphere extreme Scale and DataPower XC10 Appliance Wiki Description: Creator (Creation Date): dwblogadmin (Apr 09, 2009) Last Modifier (Mod. Date): carriemiller
More informationRedfish OpenAPI Support (Work-In-Progress) Mike Raineri (Dell), Redfish Forum Co-Chair June 2018
Redfish OpenAPI Support (Work-In-Progress) Mike Raineri (Dell), Redfish Forum Co-Chair June 2018 Disclaimer The information in this presentation represents a snapshot of work in progress within the DMTF.
More informationWeb Applications. Software Engineering 2017 Alessio Gambi - Saarland University
Web Applications Software Engineering 2017 Alessio Gambi - Saarland University Based on the work of Cesare Pautasso, Christoph Dorn, Andrea Arcuri, and others ReCap Software Architecture A software system
More informationTeach your (micro)services speak Protocol Buffers with grpc.
Teach your (micro)services speak Protocol Buffers with grpc. Mihai Iachimovschi @mishunika mihai.iachimovschi@gmail.com What s inside? What s inside? Message serialization and deserialization What s inside?
More informationAbout the Tutorial. Audience. Prerequisites. Disclaimer & Copyright. Avro
About the Tutorial Apache Avro is a language-neutral data serialization system, developed by Doug Cutting, the father of Hadoop. This is a brief tutorial that provides an overview of how to set up Avro
More informationNOSQL Databases and Neo4j
NOSQL Databases and Neo4j Database and DBMS Database - Organized collection of data The term database is correctly applied to the data and their supporting data structures. DBMS - Database Management System:
More informationWhy AI Frameworks Need (not only) RDMA?
Why AI Frameworks Need (not only) RDMA? With Design and Implementation Experience of Networking Support on TensorFlow GDR, Apache MXNet, WeChat Amber, and Tencent Angel Bairen Yi (byi@connect.ust.hk) Jingrong
More informationBig Data Integration Patterns. Michael Häusler Jun 12, 2017
Big Data Integration Patterns Michael Häusler Jun 12, 2017 ResearchGate is built for scientists. The social network gives scientists new tools to connect, collaborate, and keep up with the research that
More informationIntroduction to Big Data. NoSQL Databases. Instituto Politécnico de Tomar. Ricardo Campos
Instituto Politécnico de Tomar Introduction to Big Data NoSQL Databases Ricardo Campos Mestrado EI-IC Análise e Processamento de Grandes Volumes de Dados Tomar, Portugal, 2016 Part of the slides used in
More informationArchitectural Design. CSCE Lecture 12-09/27/2016
Architectural Design CSCE 740 - Lecture 12-09/27/2016 Architectural Styles 2 Today s Goals Define what architecture means when discussing software development. Discuss methods of documenting and planning
More informationSpring, 2010 CIS 455 / 555. Internet and Web Systems. Assignment 3 Due April 5, 2010
Spring, 2010 CIS 455 / 555 Internet and Web Systems Assignment 3 Due April 5, 2010 Introduction In this assignment, you will explore Web services and distributed hash tables by building a caching system
More informationSOA Architect. Certification
SOA Architect Certification SOA Architect The new generation SOACP program from Arcitura is dedicated to excellence in the fields of contemporary service-oriented architecture, microservices, service APIs
More informationLightweight Remote Procedure Call
Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, Henry M. Levy ACM Transactions Vol. 8, No. 1, February 1990, pp. 37-55 presented by Ian Dees for PSU CS533, Jonathan
More informationMaking Sense of The API Economy By Joseph Gulla, Ph.D.
Making Sense of The API Economy By Joseph Gulla, Ph.D. joseph.g.gulla@gmail.com LINKEDIN profile at https://www.linkedin.com/in/joseph-gulla-ph-d-ba5b9515/ Abstract In this paper, the author presents a
More informationCommunication in Distributed Systems
Communication in Distributed Systems Sape J. Mullender Huygens Systems Research Laboratory Universiteit Twente Enschede 1 Introduction Functions of Communication Transport data between processes, machines,
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 informationUnderstanding and Documenting Web APIs
Understanding and Documenting Web APIs tekom 2017, Stuttgart, Germany Oct 24-26 2017 Anne Tarnoruder SAP Labs Israel Ltd. anne.tarnoruder@sap.com https://www.linkedin.com/in/annetarnoruder/ Part 1. Understanding
More informationCyberattack Analysis and Information Sharing in the U.S.
Cyberattack Analysis and Information Sharing in the U.S. Promoting the sharing and utilization of the Analyzed Information Sean Barnum February 2013 Sponsored by the US Department of Homeland Security
More informationThe decoupled CMS in financial services. Preston So 8 Nov 2017 Open Source Strategy Forum 2017
The decoupled CMS in financial services Preston So 8 Nov 2017 Open Source Strategy Forum 2017 Welcome! Preston So has been a web developer and designer since 2001, a creative professional since 2004, and
More informationInteractive XML Visualization - using XSLT 2.0 on the Browser. Phil Fearon - Saxonica
Interactive XML Visualization - using XSLT 2.0 on the Browser Phil Fearon - Saxonica Big XML Theme Big data Large scale searching Processing large volumes at high speed Crunching big XML files Open Linked
More informationBaasBox. Open Source Backend as a Service. Otto Hylli
BaasBox Open Source Backend as a Service Otto Hylli Overview (1/2) Developed by BaasBox an Italian startup company Project was declared started on 1st of July 2012 on the BaasBox blog Open source under
More informationJava EE Architecture, Part Two. Java EE architecture, part two 1
Java EE Architecture, Part Two Java EE architecture, part two 1 Content Requirements on the Business layer Framework Independent Patterns Transactions Frameworks for the Business layer Java EE architecture,
More informationDistributed Applications
Distributed Applications Software Engineering 2017 Alessio Gambi - Saarland University Based on the work of Cesare Pautasso, Christoph Dorn, and other sources ReCap Software Architecture A software system
More information{json:api} chris-guzman.com/jsonapi.pdf
{json:api} @speaktochris @NexmoDev chris-guzman.com/jsonapi.pdf Ruby! & Android "! {json:api} A specification for building APIs in JSON {json:api} A specification for building APIs in JSON (duh) {json:api}
More informationAngular 2 and Hexo. Static Meets Dynamic For the Best of Both Worlds! Copyright 2016 Code Career Academy
Angular 2 and Hexo Static Meets Dynamic For the Best of Both Worlds! Who am I? Jeff Ammons Microsoft MVP Pluralsight Author CEO/Chief Instructor at Code Career Academy 25 Years Professional Experience
More informationIntegrating Oracle Databases with NoSQL Databases for Linux on IBM LinuxONE and z System Servers
Oracle zsig Conference IBM LinuxONE and z System Servers Integrating Oracle Databases with NoSQL Databases for Linux on IBM LinuxONE and z System Servers Sam Amsavelu Oracle on z Architect IBM Washington
More informationSecuring Modern API and Microservice Based Applications by Design A closer look at security concerns for modern applications Farshad Abasi / Forward
Securing Modern API and Microservice Based Applications by Design A closer look at security concerns for modern applications Farshad Abasi / Forward Security / 2018-11-22 About Me Farshad Abasi Based in:
More informationcom.walmartlabs/lacinia-pedestal Documentation
com.walmartlabs/lacinia-pedestal Documentation Release 0.10.1 Walmartlabs Sep 14, 2018 Contents 1 Overview 3 2 Request Format 5 2.1 GET................................................... 5 2.2 POST (application/json).........................................
More informationUnderstanding the Web Design Environment. Principles of Web Design, Third Edition
Understanding the Web Design Environment Principles of Web Design, Third Edition HTML: Then and Now HTML is an application of the Standard Generalized Markup Language Intended to represent simple document
More informationDraft Requirements Document for the Development of the ICE2 Specification
Draft Requirements Document for the Development of the ICE2 Specification Published by: The ICE-AG February 2002 This effort is a sanctioned engagement of the Information and Content Exchange Authoring
More informationCSCI 3130 Software Architectures 1/3. February 5, 2013
CSCI 3130 Software Architectures 1/3 February 5, 2013 Software Architecture What is a Software Architecture? The description of the structure of a software system, which is composed of software elements,
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 informationKepware Whitepaper. IIoT Protocols to Watch. Aron Semle, R&D Lead. Introduction
Kepware Whitepaper IIoT Protocols to Watch Aron Semle, R&D Lead Introduction IoT is alphabet soup. IIoT, IoE, HTTP, REST, JSON, MQTT, OPC UA, DDS, and the list goes on. Conceptually, we ve discussed IoT
More informationOntologies and Database Schema: What s the Difference? Michael Uschold, PhD Semantic Arts.
Ontologies and Database Schema: What s the Difference? Michael Uschold, PhD Semantic Arts. Objective To settle once and for all the question: What is the difference between an ontology and a database schema?
More informationTufts COMP 150-IDS Test #1
October 3, 2012 Student name: Login: Tufts COMP 150-IDS Test #1 This test is closed book. In most cases, answers of no more than 2-3 sentences should be sufficient. If you need more space or need to cross
More informationYandex.Classifieds. Vadim Tsesko
YoctoDB @ Yandex.Classifieds Vadim Tsesko incubos@ About Backend infrastructure team Services Libraries Frameworks @ Yandex.Classifieds auto.ru auto.yandex.ru rabota.yandex.ru realty.yandex.ru travel.yandex.ru
More informationSTANDARD REST API FOR
STANDARD REST API FOR EMAIL Kalana Guniyangoda (118209x) Dissertation submitted in partial fulfillment of the requirements for the degree Master of Science Department of Computer Science & Engineering
More informationSuricata File Extraction API SuriCon 2016 Zach Rasmor Lockheed Martin
Suricata File Extraction API SuriCon 2016 Zach Rasmor Lockheed Martin CIRT @ZachRasmor 2016 Lockheed Martin Corporation. All Rights Reserved. 1 whoami ~2 year member of Lockheed Martin CIRT Software Engineer
More informationImproving Drupal search experience with Apache Solr and Elasticsearch
Improving Drupal search experience with Apache Solr and Elasticsearch Milos Pumpalovic Web Front-end Developer Gene Mohr Web Back-end Developer About Us Milos Pumpalovic Front End Developer Drupal theming
More informationLeveraging the Social Web for Situational Application Development and Business Mashups
Leveraging the Social Web for Situational Application Development and Business Mashups Stefan Tai stefan.tai@kit.edu www.kit.edu About the Speaker: Stefan Tai Professor, KIT (Karlsruhe Institute of Technology)
More informationPostgreSQL as REST API Server without coding. Priya
PostgreSQL as REST API Server without coding Priya Ranjan @ranjanprj API Future of Application Development APIs are prerequisite for innovation Microservices provide APIs in a bounded context Existing
More informationConnecting ESRI to Anything: EAI Solutions
Connecting ESRI to Anything: EAI Solutions Frank Weiss P.E., ESRI User s Conference 2002 Agenda Introduction What is EAI? Industry trends Key integration issues Point-to-point interfaces vs. Middleware
More information