Distributed Applications
|
|
- Walter Hart
- 5 years ago
- Views:
Transcription
1 Distributed Applications Software Engineering 2017 Alessio Gambi - Saarland University Based on the work of Cesare Pautasso, Christoph Dorn, and other sources
2 ReCap
3 Software Architecture A software system s architecture is the set of principal design decisions made about the system. N. Taylor et al. Abstraction Communication Visualization and Representation Quality Attributes
4 What designers want Every system a software architecture has
5 Design Architectural Styles Architectural Patterns Building Blocks - Software Components - Component API/Interfaces - Software Connectors
6 3-Tier Architecture Presentation Web Browser Business logic Data source Front End App Server Back End
7 UI Page Submit Logic Static Resources ArticleView Skinning Localization ArticleEdit Parser Writes Reads Backend
8 UI Page Cached Submit Logic Loader Static Resources HTML File Cache ArticleView Skinning Localization Cached ArticleEdit Parser Cache Job Queue Job Runner Writes Parser Reads Writes Backend Precompile/Recompile Regenerate/Invalidate
9 Distributed Applications
10 Client/Server Many clients, active, close to users One server, passive, close to data Single point of failure, scalability Security, scalability
11 Distribution and Lifecycle In distributed applications the lifecycle of remote objects is disjoint from the local ones. We must explicitly design the lifecycle of those remote entities
12 Distribution and Lifecycle In distributed applications the lifecycle of remote objects is disjoint from the local ones. We must explicitly design the lifecycle of those remote entities Static and Lazy instances Leasing Per-request instances Pooling Client-dependent instances Passivation
13 Static Instances Process A Server Process Client 2) invoke Object Process B Client 3) invoke Machine Boundary Server Application n-1) shutdown 1) create n) destroy Remote object instances exist independently of any clients They last as long as their container (server)
14 Lazy Instances Process A Client 3) Invoke on Obj X Invoker Server Process 4) create 5) invoke Servant for Obj X Machine Boundary 1) create Server Application 2) register Object X Instantiate object upon first request Save computational resources
15 Per-request Instances Process A Client 2) Invoke on Obj X Invoker Server Process 2a) create 2b) invoke 2c) destroy Servant for Obj X Process B Client 3) Invoke on Obj X Machine Boundary 1) create Server Application 3a) create 3b) invoke 3c) destroy Servant for Obj X Each request processed by a fresh instance Provide max logical isolation (but high cost)
16 Client-dependent Instances 3) invoke 4) invoke Process A Client 2a) new Instance Remote Factory Server Process 2b) create Object Process B Client 5a) new Instance 1) create Server Application 5b) create Object 6) invoke Requests from the same client processed by the same instance (but there might be a one-to-many mapping) Remote objects extend client logic and share its state
17 Leasing Process A Client 4) Invoke on Obj X Server Process Invoker 5) invoke Object X 3) create lease 4) renew lease 2) create 1) Create X Lifecycle Manager After lease expired: 6) destroy Avoid removal of per-client objects when not used by periodically renew the lease
18 Pooling Process A Client 4) Invoke on Obj X Server Process Invoker 6) invoke 7) put servant back Servant Servant for Servant X for Servant X for X for X 3) register pooled instance X 5) get idle servant 2) create Machine Boundary Server Application 1) create Object Pool X Maintain a (possibly dynamic) set of generic objects to serve clients requests Clean up state before returning to the pool
19 Passivation Process A Client 1a,4) Invoke on Obj X Server Process Invoker 1b,8) invoke 5) activate (objid) Servant for X 7a) create 7b) activate 3) storestate (objid) Lifecycle Manager 6) getstate (objid) After timeout 2a) passivate 2b) destroy Save resources by freezing per-client objects Objects are reactivated upon first request
20 (A)Synchronization Remote invocations can be either synchronous or asynchronous. For asynchronous invocations we must handle the evolution of the distributed state across the nodes. One-way Patterns Two-way Patterns Fire and Forget Poll Object Sync with Server Callback
21 Fire and Forget Process A Process B 1) invoke Requestor 2b) send Invoker Client 2a) return Machine Boundary Best effort (or nobody cares) semantics
22 Sync with Server Process A Process B 1) invoke Client Requestor 3b) return 2) send 3a) reply Invoker 3c) invoke Object Requestor ensures that the request correctly arrived to server (but not processed) Delivery confirmation semantics
23 Poll Object (or Future) Process A Process B 1) invoke Requestor 3) isavailable = false Client Poll Object 5) isavailable = true 6) getresult 2) invoke 4) storeresult Invoker Local stub on client s machine checks if results are ready
24 Callback Process A Process B 2) invoke Requestor 3) invoke Invoker Client 1) create Callback Object 5) execute 4) finished(result) Execute code whenever the remote request returns
25 Publish/Subscribe Subscription to queues or topics Loose coupling
26 Pub/Sub vs Event-Driven
27 Pub/Sub vs Event-Driven no specific roles local/distributed
28 Pub/Sub vs Event-Driven opposite roles mostly distributed no specific roles local/distributed
29 Message Bus Publish Subscribe Notify
30 MOM Message-Oriented Middleware Messaging Middleware Receive Message Sender Send Message Queue Queue Receiver Receiver Receive Reply Receiver Send Reply
31 MOM Message-Oriented Middleware Sender Send Message Receive Reply Messaging Middleware Queue Queue Receive Message Receiver Receiver Receiver Processing always on consumer Queues provide persistence and decoupling (async) Send Reply
32 Reply or don t reply? MOMs enable both request-only and request-reply interactions despite sender/receiver do not know each other addresses
33 Reply or don t reply? MOMs enable both request-only and request-reply interactions despite sender/receiver do not know each other addresses Uniquely identify a request message (ID) + MessageType=REQUEST REPLY & MessageID = ID = Correlation between the requests and replies
34 Handling Messages Routing Content-based, Dynamic Filtering Message filter Transforming messages Splitter, Aggregator Transforming messages content Normalizer, Content Enricher, Content Filter Transforming message envelope Envelope wrapper
35 Content-based Routing Destination decided using the payload
36 Dynamic Routing Destination not fixed but chosen using rules
37 Message Filter Remove un-needed messages
38 Splitter Decompose a composite message in parts
39 Aggregator Use the parts to create a composite message
40 Content Filter Filter from a composite message unneeded payload
41 Content Enricher Use additional data to augment messages
42 Normalizer Route messages to translators which transform the to a common format
43 Enveloper Wrapper Bridged delivery via wrapping messages into other messages
44 Messaging Bridge link multiple messaging systems to make messages exchanged on one also available on the others
45 Pipe & Filter Clean separation: filter process, pipe transport Heterogeneity and distribution Only batch processing, serializable data Composability, Reuse
46
47 Stream Send Receive
48 Streaming Infinite sequence of messages simple/primitive, complex Discrete - Messages stock markets, twitter Continuous - Data video, audio
49 Streaming and Data Analytics Streaming Sink Streaming Source MW Streaming Sink Streaming Sink Unicast or multicast communication channels No discrete unit of interaction (request/response) Low overhead, but mostly transport/communication
50 Sync/Async Streams Synchronous Time matters (e.g., minimum transfer rate) Asynchronous Sequence matters (e.g., no specific transfer rate)
51 Sync/Async Streams Synchronous Time matters (e.g., minimum transfer rate) Asynchronous Sequence matters (e.g., no specific transfer rate) Isochronous Time is essence (e.g., both min and max transfer rate)
52 Processing Model Complex Event Processor Application-specific data processing Incoming streams Output complex messages Streaming data m m3 m2 m1 m3 m2 m1 Streaming data s s3 s2 s1 s3 s2 s1 Complex stream/multiple streams data processing
53 Processing Model Complex Event Processor Event representation POJO, Maps, Object-Arrays, XML, etc.. Continuous processing events processes as they arrive and sent to output Listeners and notifications both incoming and outgoing events Domain specific languages (DSL) describe conditions, transformations, etc.
54 EPL Event Processing Language Specify interests on certain types of events event-patterns, correlations of events, and more High-level language SQL-like standard and new clauses Streams replace tables; events replace rows it s just an analogy Statements target single and multiple data streams
55 EPL Event Processing Language Standard clauses SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY Re-casted clauses INSERT INTO New clauses RETAIN, MATCHING, OUTPUT
56 EPL Event Processing Language Retain virtual window (constraint amount of data) Matching sequence of events (logical and temporal operators) Output control/stabilize the output rate
57 Event Processing Incoming events processed through sliding windows - incremental, one event - batched, chunks of events Size of window limits the maximum number of events or the maximum amount of time to keep them - time - length Conditions expressed on the window and events
58 Sliding Window with Length
59 Filter & Slide
60 Slide & Filter
61 Sliding Window with Time
62 Batched Window with Time
63 Service Oriented Components outside control Standard connectors, precise interfaces Interface compatibility problem Loose coupling, reuse
64
65
66 Components Services Tight coupling Client requires library Client / Server Extendable Fast Small/Medium Buy and install Local Loose coupling Message exchanges Peer-to-peer Composable Some overhead Medium/Large Pay-per-use Remote
67 Composition/Orchestration build systems out of the composition of existing ones
68 Business Processes Many alternative notations and languages WSCI, BPML, BPEL4WS, BPSS, XPDL Standard protocols and technologies WSDL, XML, HTTP, JSON, SMTP, FTP, Two BIG players SOAP + WS-*, HTTP+RESTFul
69
70 Messaging Bridge link multiple messaging systems to make messages exchanged on one also available on the others
71 Software Architecture Work Flow Engine Enterprise BUS
72
73 Say what what? In the cloud!
74 Heavy vs Light Old vs New
75 Layered View SOAP (WS-*)... JSON SMTP HTTP MQ... HTTP GET HTTP POST HTTP PUT HTTP DEL Endpoint URI Application Resource URI Application
76 Process View
77 Summary Understand the size and complexity of your system and distribute functions and data (lifecycle) Embrace diversity: not only RPC, not only sync Aim at satisfy your the requirements with the right method (different patterns/styles for different parts)
78 Additional Readings - Sam Newman, Building Microservices, principles-of-microservices-ndc Markus Völter et al.: Remoting Patterns Foundation of Enterprise, Internet and Realtime Distributed Object Middleware, Wiley Series in Software Design Patterns, Thomas Erl: Service-Oriented Architecture Concepts, Technology and Design, Prentice Hall, Roy Fielding s PhD thesis on REST: top.htm - Martin Fowler s blog: - Fay Chang et al. Bigtable: a distributed storage system for structured data. (OSDI 06) - Eric Redmond and Jim R. Wilson: Seven Databases in Seven Weeks A Guide to Modern Databases and the NoSQL Movement - CAP: - Eventual consistency: - Java Message Service: - Integration patterns:
Web 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 informationPatterns of Software Architecture
Patterns of Software Architecture Software Engineering Alessio Gambi - Saarland University Based on the work of Cesare Pautasso, Christoph Dorn, and their students Software Architecture A software system
More informationMOM MESSAGE ORIENTED MIDDLEWARE OVERVIEW OF MESSAGE ORIENTED MIDDLEWARE TECHNOLOGIES AND CONCEPTS. MOM Message Oriented Middleware
MOM MESSAGE ORIENTED MOM Message Oriented Middleware MIDDLEWARE OVERVIEW OF MESSAGE ORIENTED MIDDLEWARE TECHNOLOGIES AND CONCEPTS Peter R. Egli 1/25 Contents 1. Synchronous versus asynchronous interaction
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 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 informationMTAT Enterprise System Integration. Lecture 2: Middleware & Web Services
MTAT.03.229 Enterprise System Integration Lecture 2: Middleware & Web Services Luciano García-Bañuelos Slides by Prof. M. Dumas Overall view 2 Enterprise Java 2 Entity classes (Data layer) 3 Enterprise
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 informationNotes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title
Notes Ask course content questions on Slack (is651-spring-2018.slack.com) Contact me by email to add you to Slack Make sure you checked Additional Links at homework page before you ask In-class discussion
More informationInterprocess Communication Tanenbaum, van Steen: Ch2 (Ch3) CoDoKi: Ch2, Ch3, Ch5
Interprocess Communication Tanenbaum, van Steen: Ch2 (Ch3) CoDoKi: Ch2, Ch3, Ch5 Fall 2008 Jussi Kangasharju Chapter Outline Overview of interprocess communication Remote invocations (RPC etc.) Message
More informationRESTful Web Services vs. Big Web Services: Making the Right Architectural Decision
ful Web Services vs. Big Web Services: Making the Right Architectural Decision Cesare Pautasso Olaf Zimmermann Frank Leymann University of Lugano IBM Zurich Research Lab University of Stuttgart Switzerland
More informationCAS 703 Software Design
Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction
More informationChapter 2 Distributed Computing Infrastructure
Slide 2.1 Web Serv vices: Princ ciples & Te echno ology Chapter 2 Distributed Computing Infrastructure Mike P. Papazoglou mikep@uvt.nl Slide 2.2 Topics Distributed computing and Internet protocols The
More informationJava Enterprise Edition
Java Enterprise Edition The Big Problem Enterprise Architecture: Critical, large-scale systems Performance Millions of requests per day Concurrency Thousands of users Transactions Large amounts of data
More informationActive Endpoints. ActiveVOS Platform Architecture Active Endpoints
Active Endpoints ActiveVOS Platform Architecture ActiveVOS Unique process automation platforms to develop, integrate, and deploy business process applications quickly User Experience Easy to learn, use
More informationIEC : Implementation Profile
The Standards Based Integration Company Systems Integration Specialists Company, Inc. IEC 61968 100: Implementation Profile CIM University Prague, Czech Republic May 10, 2011 Margaret Goodrich, Manager,
More informationRESTful Service Composition with JOpera
RESTful Service Composition with JOpera Cesare Pautasso Faculty of Informatics, USI Lugano, Switzerland c.pautasso@ieee.org http://www.pautasso.info http://twitter.com/pautasso 21.5.2010 Abstract Next
More informationVerteilte Systeme (Distributed Systems)
Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture 3: Communication (Part 2) Remote Procedure
More information02 - Distributed Systems
02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/60 Definition Distributed Systems Distributed System is
More informationIntroduction to Messaging using JMS
Introduction to Messaging using JMS Evan Mamas emamas@ca.ibm.com IBM Toronto Lab Outline Basic Concepts API Architecture API Programming Model Advanced features Integration with J2EE Simple applications
More informationChapter 2 Architectures. Software Architectures
Chapter 2 Architectures Software architectures of distributed systems System architectures of distributed systems 1 Software Architectures Software architecture describes how the software components are
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 informationAn Introduction to Software Architecture. David Garlan & Mary Shaw 94
An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data
More informationAsynchronous Web Services: From JAX-RPC to BPEL
Asynchronous Web Services: From JAX-RPC to BPEL Jonathan Maron Oracle Corporation Page Agenda Loose versus Tight Coupling Asynchronous Web Services Today Asynchronous Web Service Standards WS-Reliability/WS-ReliableMessaging
More information02 - Distributed Systems
02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/58 Definition Distributed Systems Distributed System is
More informationCommunication. Overview
Communication Chapter 2 1 Overview Layered protocols Remote procedure call Remote object invocation Message-oriented communication Stream-oriented communication 2 Layered protocols Low-level layers Transport
More informationToday: Distributed Objects. Distributed Objects
Today: Distributed Objects Case study: EJBs (Enterprise Java Beans) Case study: CORBA Lecture 23, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy.
More informationSoftware Architecture
Software Architecture Software Engineering - 2017 Alessio Gambi - Saarland University These slides are based the slides from Cesare Pautasso and Christoph Dorn, and updated from various sources. Architecture
More informationCommunication. Distributed Systems Santa Clara University 2016
Communication Distributed Systems Santa Clara University 2016 Protocol Stack Each layer has its own protocol Can make changes at one layer without changing layers above or below Use well defined interfaces
More informationWhen the Servlet Model Doesn't Serve. Gary Murphy Hilbert Computing, Inc.
When the Servlet Model Doesn't Serve Gary Murphy Hilbert Computing, Inc. glm@hilbertinc.com Motivation? Many decision makers and programmers equate Java with servlets? Servlets are appropriate for a class
More informationCommunication. Distributed Systems IT332
Communication Distributed Systems IT332 2 Outline Fundamentals Layered network communication protocols Types of communication Remote Procedure Call Message Oriented Communication Multicast Communication
More informationElectronic Payment Systems (1) E-cash
Electronic Payment Systems (1) Payment systems based on direct payment between customer and merchant. a) Paying in cash. b) Using a check. c) Using a credit card. Lecture 24, page 1 E-cash The principle
More informationSolace JMS Broker Delivers Highest Throughput for Persistent and Non-Persistent Delivery
Solace JMS Broker Delivers Highest Throughput for Persistent and Non-Persistent Delivery Java Message Service (JMS) is a standardized messaging interface that has become a pervasive part of the IT landscape
More informationRESTful Web Service Composition with JOpera
RESTful Web Service Composition with JOpera Cesare Pautasso Faculty of Informatics University of Lugano (USI), Switzerland http://www.pautasso.info 1 University of Lugano, Switzerland Faculty of Informatics
More information: ESB Implementation Profile
The Standards Based Integration Company Systems Integration Specialists Company, Inc. 61968 1-1: ESB Implementation Profile CIM University CESI/TERNA Milan, Italy June 15, 2010 Margaret Goodrich, Manager,
More informationEnterprise Integration Using IEC
Enterprise Integration Using IEC 61968-100 Scott Neumann, UISOL Margaret Goodrich, SISCO Michael Johnson, Elster CIMug Meeting Introduction The purpose of this presentation is to describe enterprise integration
More informationProduced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar
Design Patterns MSc in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie)! Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie
More informationNaming & Design Requirements (NDR)
The Standards Based Integration Company Systems Integration Specialists Company, Inc. Naming & Design Requirements (NDR) CIM University San Francisco October 11, 2010 Margaret Goodrich, Manager, Systems
More informationToday CSCI Remote Method Invocation (RMI) Distributed Objects
Today CSCI 5105 Remote Method Invocation (RMI) Message-oriented communication Stream-oriented communication Instructor: Abhishek Chandra 2 Remote Method Invocation (RMI) RPCs applied to distributed objects
More informationAzure Integration Services
Azure Integration Services 2018 Microsoft Corporation. All rights reserved. This document is provided "as-is." Information and views expressed in this document, including URL and other Internet Web site
More informationIndirect Communication
Indirect Communication To do q Today q q Space and time (un)coupling Common techniques q Next time: Overlay networks xkdc Direct coupling communication With R-R, RPC, RMI Space coupled Sender knows the
More informationIntegrating Legacy Assets Using J2EE Web Services
Integrating Legacy Assets Using J2EE Web Services Jonathan Maron Oracle Corporation Page Agenda SOA-based Enterprise Integration J2EE Integration Scenarios J2CA and Web Services Service Enabling Legacy
More informationData Management in Application Servers. Dean Jacobs BEA Systems
Data Management in Application Servers Dean Jacobs BEA Systems Outline Clustered Application Servers Adding Web Services Java 2 Enterprise Edition (J2EE) The Application Server platform for Java Java Servlets
More informationData Acquisition. The reference Big Data stack
Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Data Acquisition Corso di Sistemi e Architetture per Big Data A.A. 2016/17 Valeria Cardellini The reference
More informationSun Java TM Composite Applications Platform Suite Implementing Selected EAI Patterns
Sun Java TM Composite Applications Platform Suite Implementing Selected EAI Patterns Michael Czapski, Enterprise Architect, Sun Microsystems Frank Kieviet, Senior Staff Engineer, Sun Microsystems TS-5301
More informationAnnouncements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris
Announcements Email me your survey: See the Announcements page Today Conceptual overview of distributed systems System models Reading Today: Chapter 2 of Coulouris Next topic: client-side processing (HTML,
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 informationXML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web
Web Services. XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web Platform: Windows COM Component Previously
More informationPatterns for Asynchronous Invocations in Distributed Object Frameworks
Patterns for Asynchronous Invocations in Distributed Object Frameworks Patterns for Asynchronous Invocations in Distributed Object Frameworks Markus Voelter Michael Kircher Siemens AG, Corporate Technology,
More informationThe Myx Architectural Style
The Myx Architectural Style The goal of the Myx architectural style is to serve as an architectural style that is good for building flexible, high performance tool-integrating environments. A secondary
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 informationCS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University
CS 555: DISTRIBUTED SYSTEMS [MESSAGING SYSTEMS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey Distributed Servers Security risks
More informationDISTRIBUTED SYSTEMS [COMP9243] Distributed Object based: Lecture 7: Middleware. Slide 1. Slide 3. Message-oriented: MIDDLEWARE
DISTRIBUTED SYSTEMS [COMP9243] Distributed Object based: KINDS OF MIDDLEWARE Lecture 7: Middleware Objects invoke each other s methods Slide 1 ➀ Introduction ➁ Publish/Subscribe Middleware ➂ Map-Reduce
More informationExecution Architecture
Execution Architecture Software Architecture VO (706.706) Roman Kern Institute for Interactive Systems and Data Science, TU Graz 2018-11-07 Roman Kern (ISDS, TU Graz) Execution Architecture 2018-11-07
More information(9A05803) WEB SERVICES (ELECTIVE - III)
1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available
More informationWeb Design and Applications
Web Design and Applications JEE, Message-Driven Beans Gheorghe Aurel Pacurar JEE, Message-Driven Beans Java Message Service - JMS Server JMS is a standard Java API that allows applications to create, send,
More informationProgramming Without a Call Stack: Event-driven Architectures
Programming Without a Call Stack: Event-driven Architectures Gregor Hohpe Google www.eaipatterns.com Gregor Hohpe Programming Without a Call Stack: Event-driven Architectures Slide 1 About Me Distributed
More informationSoftware Architecture Patterns
Software Architecture Patterns *based on a tutorial of Michael Stal Harald Gall University of Zurich http://seal.ifi.uzh.ch/ase www.infosys.tuwien.ac.at Overview Goal Basic architectural understanding
More informationArchitectural Styles I
Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts
More informationEnterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions Chapter 1: Solving Integration Problems Using Patterns 2 Introduction The Need for Integration Integration Challenges
More informationWeb Services - Concepts, Architecture and Applications Part 3: Asynchronous middleware
Web Services - Concepts, Architecture and Applications Part 3: Asynchronous middleware Gustavo Alonso and Cesare Pautasso Computer Science Department ETH Zürich alonso@inf.ethz.ch http://www.inf.ethz.ch/~alonso
More informationOverview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36
Communication address calls class client communication declarations implementations interface java language littleendian machine message method multicast network object operations parameters passing procedure
More informationSoftware MEIC. (Lesson 20)
Software Architecture @ MEIC (Lesson 20) Last class C&C styles Multi-tier style Dynamic reconfiguration style Peer-to-Peer style Today C&C styles Publish-subscribe style Service-oriented architecture style
More informationLast Class: RPCs and RMI. Today: Communication Issues
Last Class: RPCs and RMI Case Study: Sun RPC Lightweight RPCs Remote Method Invocation (RMI) Design issues Lecture 9, page 1 Today: Communication Issues Message-oriented communication Persistence and synchronicity
More informationDistributed Systems. Messaging and JMS Distributed Systems 1. Master of Information System Management
Distributed Systems Messaging and JMS 1 Example scenario Scenario: Store inventory is low This impacts multiple departments Inventory Sends a message to the factory when the inventory level for a product
More informationAIM Enterprise Platform Software IBM z/transaction Processing Facility Enterprise Edition 1.1.0
z/tpf EE V1.1 z/tpfdf V1.1 TPF Toolkit for WebSphere Studio V3 TPF Operations Server V1.2 IBM Software Group TPF Users Group Spring 2007 TPF Users Group Spring 2007 z/tpf Web Services Update Name: Barry
More informationIntelligent Event Processing in Quality of Service (QoS) Enabled Publish/Subscribe (Pub/Sub) Middleware
Intelligent Event Processing in Quality of Service (QoS) Enabled Publish/Subscribe (Pub/Sub) Middleware Joe Hoffert jhoffert@dre.vanderbilt.edu http://www.dre.vanderbilt.edu/~jhoffert/ CS PhD Student Vanderbilt
More informationChapter 1: Distributed Information Systems
Chapter 1: Distributed Information Systems Contents - Chapter 1 Design of an information system Layers and tiers Bottom up design Top down design Architecture of an information system One tier Two tier
More informationApplication Connectivity Strategies
Connectivity Strategies Max Dolgicer Director of Technical Services mdolgicer@isg-inc.com Gerhard Bayer Senior Consultant gbayer@isg-inc.com International Systems Group (ISG), Inc 32 Broadway, Suite 414
More informationUsing the SDACK Architecture to Build a Big Data Product. Yu-hsin Yeh (Evans Ye) Apache Big Data NA 2016 Vancouver
Using the SDACK Architecture to Build a Big Data Product Yu-hsin Yeh (Evans Ye) Apache Big Data NA 2016 Vancouver Outline A Threat Analytic Big Data product The SDACK Architecture Akka Streams and data
More informationReactive Microservices Architecture on AWS
Reactive Microservices Architecture on AWS Sascha Möllering Solutions Architect, @sascha242, Amazon Web Services Germany GmbH Why are we here today? https://secure.flickr.com/photos/mgifford/4525333972
More information6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views
1 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES Outline for Today 2 Architecture views C&C Views 1 Components and Connectors (C&C) Styles 3 Elements Relations Properties
More informationRESTful Web service composition with BPEL for REST
RESTful Web service composition with BPEL for REST Cesare Pautasso Data & Knowledge Engineering (2009) 2010-05-04 Seul-Ki Lee Contents Introduction Background Design principles of RESTful Web service BPEL
More informationChapter 5: Distributed objects and remote invocation
Chapter 5: Distributed objects and remote invocation From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 Figure 5.1 Middleware layers Applications
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 informationDistributed Middleware. Distributed Objects
Distributed Middleware Distributed objects DCOM CORBA EJBs Jini Lecture 25, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy. Lecture 25, page 2 Distributed
More informationdescribe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution
1 of 9 10/9/2013 1:38 AM WCF and WF Learning Objectives After completing this topic, you should be able to describe the functions of Windows Communication Foundation describe the features of the Windows
More informationJAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP
2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries
More informationDistributed Systems. The main method of distributed object communication is with remote method invocation
Distributed Systems Unit III Syllabus:Distributed Objects and Remote Invocation: Introduction, Communication between Distributed Objects- Object Model, Distributed Object Modal, Design Issues for RMI,
More informationTransactum Business Process Manager with High-Performance Elastic Scaling. November 2011 Ivan Klianev
Transactum Business Process Manager with High-Performance Elastic Scaling November 2011 Ivan Klianev Transactum BPM serves three primary objectives: To make it possible for developers unfamiliar with distributed
More informationConnect Applications and Services Together with the Enterprise Service Bus
Connect s and Services Together with the On Demand Insurance Business Problems 1. We lose customers because we process new policy applications too slowly. 2. Our claims processing is time-consuming and
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 informationIntegration and Extensibility
Integration and Extensibility The OpenEdge Strategy Mike Marriage Senior Principal Product Manager mmarriag@progress.com Agenda Introduction Data, Data Everywhere The Tools Of The Trade Final Thoughts
More information1 Software Architecture
Some buzzwords and acronyms for today Software architecture Design pattern Separation of concerns Single responsibility principle Keep it simple, stupid (KISS) Don t repeat yourself (DRY) Don t talk to
More informationSoftware Components and Distributed Systems
Software Components and Distributed Systems INF5040/9040 Autumn 2017 Lecturer: Eli Gjørven (ifi/uio) September 12, 2017 Outline Recap distributed objects and RMI Introduction to Components Basic Design
More informationCHAPTER 2. Introduction to Middleware Technologies
CHAPTER 2. Introduction to Middleware Technologies What is Middleware? General Middleware Service Specific Middleware Client/Server Building blocks RPC Messaging Peer to Peer Java RMI. BHUSHAN JADHAV 1
More informationCommunication Paradigms
Communication Paradigms Nicola Dragoni Embedded Systems Engineering DTU Compute 1. Interprocess Communication Direct Communication: Sockets Indirect Communication: IP Multicast 2. High Level Communication
More informationCOPYRIGHTED MATERIAL. Table of Contents. Foreword... xv. About This Book... xvii. About The Authors... xxiii. Guide To The Reader...
Table of Contents Foreword..................... xv About This Book... xvii About The Authors............... xxiii Guide To The Reader.............. xxvii Part I Some Concepts.................. 1 1 On Patterns
More informationUnit 7: RPC and Indirect Communication
SR (Systèmes Répartis) Unit 7: RPC and Indirect Communication François Taïani Outline n Remote Procedure Call è First Class RPC è Second Class RPC (RMI) n Indirect Communication è Group Communication è
More informationServices Oriented Architecture and the Enterprise Services Bus
IBM Software Group Services Oriented Architecture and the Enterprise Services Bus The next step to an on demand business Geoff Hambrick Distinguished Engineer, ISSW Enablement Team ghambric@us.ibm.com
More informationIndirect Communication
Indirect Communication Today l Space and time (un)coupling l Group communication, pub/sub, message queues and shared memory Next time l Distributed file systems xkdc Indirect communication " Indirect communication
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 informationGustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2
Chapter 1: Distributed Information Systems Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ Contents - Chapter 1 Design
More informationWebSphere MQ Update. Paul Dennis WMQ Development 2007 IBM Corporation
WebSphere MQ Update Paul Dennis WMQ Development dennisps@uk.ibm.com Corporation SOA Entry Points Help Customers Get Started People What is it? Deliver role-based interaction and collaboration through services
More informationCommunication. Outline
COP 6611 Advanced Operating System Communication Chi Zhang czhang@cs.fiu.edu Outline Layered Protocols Remote Procedure Call (RPC) Remote Object Invocation Message-Oriented Communication 2 1 Layered Protocols
More informationPatterns Architectural Styles Archetypes
Patterns Architectural Styles Archetypes Patterns The purpose of a pattern is to share a proven, widely applicable solution to a particular problem in a standard form that allows it to be easily reused.
More informationMiddleware definitions and overview
Middleware definitions and overview Chantal Taconet CCN/CSC7321 octobre 2017 Revision : 545 Outline 1 Which middleware?............................................................. 3 2 Families of middleware..........................................................
More informationRemote Invocation. Today. Next time. l Overlay networks and P2P. l Request-reply, RPC, RMI
Remote Invocation Today l Request-reply, RPC, RMI Next time l Overlay networks and P2P Types of communication " Persistent or transient Persistent A submitted message is stored until delivered Transient
More informationCOMP28112 The Integration Game. Lecture 16
COMP28112 The Integration Game Lecture 16 Architecture Matters! Technology independent Which house would you live in? Service is the idea that links requestor and provider Semantic descriptions are needed
More informationCOMP28112 The Integration Game
COMP28112 The Integration Game Lecture 16 Architecture Matters! Technology independent Which house would you live in? Service is the idea that links requestor and provider Semantic descriptions are needed
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 information