Verteilte Systeme (Distributed Systems)

Size: px
Start display at page:

Download "Verteilte Systeme (Distributed Systems)"

Transcription

1 Verteilte Systeme (Distributed Systems) Karl M. Göschka VerteilteSysteme/

2 Some slides based on material from this book (Prentice Hall, 2005) 2

3 Concepts, Paradigms, Technologies Systems Engineering CORBA J2EE COM+.NET Web Services GRID P2P Pervasive Multimedia WWW Databases VoIP... Communication Processes & Concurrency Naming and Discovery Coordination & Agreement Replication & Consistency Dependability and FT Transactions Security (Persistency, Durability) How is naming and discovery realized in COM+ technology? 6

4 Paradigms and Characteristics (1) Classifications mixed and not orthogonal! Focused entity: Data item, tuple, file, document, object, component, service, resource, stream,... Communication mechanisms: Transparency vs. coordination-based Request/reply Message-passing (document exchange) DSM and associative tuple spaces Event and notification systems: publish/subscribe; subject-based, (interupt signaling/exception handling) 7

5 Paradigms and Characteristics (2) Communication patterns: synchronous (blocking) vs. asynchronous (nonblocking) transient vs. persistent Time: real-time vs. non-real-time, sync vs. async,... Coupling: tight vs. loose (temporal, referential,...) Scale and granularity: Client/server pervasive Mobility and topology: Structured, unstructured, ad-hoc, overlay,... Technologies, standards, and big players: OMG, J2EE, Microsoft, IBM, SAP, IETF, ITU,... 8

6 Communication coupling e.g. transient messagepassing; RPC; RMI e.g. persistent message-passing e.g. ad-hoc communication; event and subject-based; publish/subscribe; TIB/Rendevous A taxonomy of coordination models e.g. tuple spaces; persistent DSM; associative; JavaSpaces 9

7 Technology Overview Distributed object-based systems Components and EAI Coordination-based systems WWW, SOA, Grid, P2P Lecture summary

8 Distributed object based systems CORBA ORB IDL (language mapping) DCOM Builds ORPC on top of DCE RPC Integration of binary components from different languages (e.g. Visual Basic, Java, C++) Java RMI Single-language middleware 12

9 CORBA Object Model The general organization of a CORBA system. 16

10 CORBA Language Mapping IDL IDL Compiler Client Code Stub Code Skeleton Code Object Implementation Code In programming language A In programming language B Language A Compiler and Linker Language B Compiler and Linker generates reads Client Stub Object Request Broker Server Object Skeleton 22

11 Portable Object Adapter OID: POA assigned or user assigned Thread per request, connection, object,... Policy Activation explicit or on demand separated from 1. Multiple OIDs single servant 2. One servant for all objects 3. Single servant, many objects and types (DSI) mechanism! Mapping of CORBA object identifiers to servants. a) The POA supports multiple servants. b) The POA supports a single servant. 43

12 Object References The organization of an IOR with specific information for IIOP binding! 46

13 CORBA Services Service Collection Query Concurrency Transaction Event Notification Externalization Life cycle Licensing Naming Property Trading Persistence Relationship Security Time Description A key to success for each technology is the set of services and development support it provides! Facilities for grouping objects into lists, queue, sets, etc. Facilities for querying collections of objects in a declarative manner Facilities to allow concurrent access to shared objects Flat and nested transactions on method calls over multiple objects Facilities for asynchronous communication through events Advanced facilities for event-based asynchronous communication Facilities for marshaling and unmarshaling of objects Facilities for creation, deletion, copying, and moving of objects Facilities for attaching a license to an object Facilities for systemwide name of objects Facilities for associating (attribute, value) pairs with objects Facilities to publish and find the services on object has to offer Facilities for persistently storing objects Facilities for expressing relationships between objects Mechanisms for secure channels, authorization, and auditing Provides the current time within specified error margins Overview of CORBA services. 49

14 COM Object Model DCOM CORBA The difference between language-defined and binary interfaces. 62

15 Type Library and Registry ~ CORBA interface repository ~ CORBA implementation repository The overall architecture of DCOM. 64

16 Java RMI Integrated into the language (homogeneous) interface construct used to define remote objects remote interface indicates remotely callable object Objects are passed between JVMs Marshaling = serialization (homogeneous) rmic = IDL compiler rmid = daemon listening for rmi incoming calls rmiregistry ~ directory service (supports binding) Similar to CORBA but supports only one language Subtle differences local/remote: Cloning (server only), synchronize (proxy only) Remote object passed by reference (refers to proxy implementation) (implementation handle) ( only one language + class loader facility) 78

17 Technology Overview Distributed object-based systems Components and EAI Coordination-based systems WWW, SOA, Grid, P2P Lecture summary

18 Enterprise Application Integration Today we are developing tomorrow s legacy systems, that have to be integrated the next day Approaches to replace N technologies by one new technology usually end up with N+1 technologies Enterprise Application Integration (EAI) is the creation of business solutions by combining applications using common middlewares, interfaces, standards, and toolchains. Integration at presentation, data, or functional layer 84

19 Legacy Systems proven functionality they work tested code often highly efficient and robust historical Investment 85

20 Where can we agree? There will be no consensus on hardware. There will be no consensus on operating system. There will be no consensus on network protocols. There will be no consensus on programming language. There must be consensus on interfaces and interoperability (interaction and composition)! Standards, virtualization, components, services 87

21 Virtualization in Distributed Systems (a) A process virtual machine, with multiple instances of (application, runtime) combinations. E.g., JVM. (b) A virtual machine monitor, with multiple instances of (applications, OS) combinations. E.g., VMware, Xen 88

22 Why use components? Avoid developing software use components OMG Tagung, Wien 2001 Components are for composition C. Szyperski Concentration on the core competence Encapsulation of solutions in components Open for COTS products Re-Use of components Components are wellknown and proven in other domains 93

23 Component-based Software Engineering Buy before build. Reuse before buy Fred Brooks 1975(!) Components: CBSE and Product Lines 94

24 Product Line Components of Mercedes E class cars are 70% equal. Components of Boeing 757 and 767 are 60% equal. most effort is integration istead of development! Application A Application B Quality, time to market, but complexity re-use 95

25 Component vs. Object Component Independent Development Third party development Binary integration Component + Component == Component Connection through composition heterogeneous black-box re-use Object Banana gorilla problem Local development Source integration Object + Object!= Object Connection through references (homogeneous) white-box re-use through inheritance Komponente Klasse 97

26 Component Granularity cost-effectiveness of use and reuse match to requirements, flexibility/speed of change Proportion of application addressed by component 0 100% Routine/ Program/ Coarse-grained Application operation class component package 98

27 Component lifecycle Component Model Component-based Architecture for field devices Component Repository Composition environment Run-time environment 101

28 Enterprise Java Beans: Ziele EJB as integration technology The following concepts are most relevant: EJB Enterprise Java Beans, RMI Remote Method Invocation, JNDI Java Naming and Directory Interface, JMS Java Messaging Service, JDBC Access to databases, SQLJ static embedded SQL for Java, JDO Java Data Objects, J2EE Connector (for Legacy Integration), JTS/JTA Java Transaction Service and Java Transaction Architecture. 110

29 EJB Architecture Run-time environment for beans, life-cycle management, instance pooling, distribution, service interfaces (standard and proprietary), e.g. user administration,... EJB Server Tier 1 EJB Container Tier 3 Client Services: JNDI, JTS, Persistence, JMS, Security Policy,... Enterprise Beans Web Container JSP File Tier 2 Enterprise Beans Servlet Run-time environment for containers, thread management, OS resources, load balancing, directory service,... Database Server 111

30 EJB Roles Client Client Application Assembler EJB EJB Provider <<uses client contracts>> Server EJB Server EJB Container <<Installing EJB using server tools>> EJB Deployer DB EJB Server Provider EJB Container Provider Business Logic 113

31 Technology Overview Distributed object-based systems Components and EAI Coordination-based systems WWW, SOA, Grid, P2P Lecture summary

32 Coordination-based systems To achieve highly scalable and open distributed systems, components must be loosely coupled Explicit communication and coordination of components/activities (instead of transparency) Event-based systems (also called publish/subscribe) attempt to achieve loose coupling through event communication (notifications) Key concept: loose coupling separation between computation and coordination 129

33 Principles of JavaSpaces Temporal and referential uncoupling Tuples with serialized Java objects rich typing (type-safe), methods, subtypes Entries are leased Transactions Persistent or transient (durability) Operations: write Read() is based on template matching read (blocking), readifexists (non-blocking) take (blocking), takeifexists (non-blocking) notify 145

34 Overview of JavaSpaces The general organization of a JavaSpace in Jini. 146

35 Distributed Shared Memory Abstraction for sharing data (without atually sharing physical memory) Effective for parallel applications Less effective for client/server applications DSM runtime support performs message passing and replication/caching Processors actually sharing memory: groups of 4, practical limit is 10, 64 with hierarchy Distributed memory multiprocessors and clusters (high-speed network) typically scale better Scalability of DSM is a well-known problem (similar to replication consistency relaxed) 158

36 Message passing vs. DSM Message passing: marshalling, process protection, heterogeneous, synchronization through messages (agreement problem), programmer is aware of communication costs DSM: direct sharing (even pointers!), processes may interfere, homogeneous, synchronization through locks and semaphores, programmer may be unaware of communication costs Efficiency depends on patterns of data sharing Message passing cannot be avoided altogether in a distributed system! 160

37 Technology Overview Distributed object-based systems Components and EAI Coordination-based systems WWW, SOA, Grid, P2P Lecture summary

38 The World Wide Web Key: Document (A), HTTP, URL, loose coupling 171

39 Architectural Overview The principle of using server-side CGI programs. 176

40 Web Services and SOA motivation EAI Enterprise Application Integration (MoM) (note: Was an argument for CBSE as well) WfMS Workflow Management Systems BPEL CBSE Components are not obsolete! SOA provide a virtual component model WWW Loose coupling: Heterogeneous, flexible, and dynamic orchestration Re-use (note: Was an argument for CBSE, Middleware,...) Interface management (note: - -) Business integration ( business goals with IT ) 200

41 Virtualizing Components Virtual Component Web Service implements (E)JB implements... StP implements Assembly J2EE DBMS Concrete Component.NET 202

42 Web Services introduction Effectiveness of simple protocols Complex applications with service integration Web service!= web server Data representation and marshalling: XML SOAP protocol: How to package messages WSDL: Service description ( IDL ) UDDI: Naming and discovery (did not work) XML Security: Documents signed or encrypted Coordination through explicit protocols 203

43 Organizing Into A Platform Discovery, Negotiation, Agreement Choreography Composite Reliable Messaging Interface + Bindings XML Protocols Security State Atomic Transactions Policy Non-XML Components Quality of Service Description Messaging Transports Transport 204

44 The Bus And Standards Discovery, UDDI, WS-Addressing, Negotiation, Agreement MEX, BPEL Choreography WS-C, Grouping WS-RF State WS-N*, Atomic Composite Reliable WS-AT, WS-RM WS-Security* Security Transactions Messaging WS-BA, Interface WSDL* + Bindings WS-Policy* SOAP, WS-Addressing XML JMS, Non-XML RMI/IIOP,.. HTTP, TCP/IP, Transports SMTP, FTP, Components Quality of Service Description Messaging Transport 205

45 Combinations of web services flight booking a flight booking b Client Travel Agent Service hire car booking a hotel booking a hotel booking b hire car booking b Value-added services from third parties provide new functionality 209

46 Web Services principles (1) Interface offers a collection of operations, provided by a variety of different resources (programs, objects, databases,...) Messages XML-formatted SOAP messages call operations of interfaces REST (representational state transfer): URLs and HTTP messages used to manipulate data resources Amazon, Google, ebay,... offer web services to manipulate their web resources (e.g. Procurement 210

47 Web Services principles (2) Communication patterns asynchronous exchange of documents synchronous request/reply event/notification also available No particular programming model no remote object reference no garbage collection XML representation: more space (human readable?) binary versions available more time to process 211

48 Web Services principles (3) Service references: URL (URI) Activation of services: continous operation activation on demand Transparency: none which need not be bad However, for convenience, handling of XML and SOAP is hidden by APIs and/or tools. Proxies vs. dynamic invocation Conversion to SOAP/XML static or on-the-fly 212

49 What is BPEL A language to specify behavior of business processes Between Web services......and as Web services Same language to define executable processes and business protocols Executable processes Can be performed at all compliant environments (portability) Interoperability between heterogeneous environments Abstract processes Specify constraints of message exchange Are views on internal processes Combination of graph-based language (IBM WSFL) and calculus-based language (Microsoft XLANG) 235

50 Grid motivation Middleware to enable the sharing of resources on a large scale (mainly data or computer power for data-intensive applications). Management coordinates the use of resources. 244

51 Heterogeneous Resources Distributed physical clusters and storage 245

52 The Grid: Virtualizing Resources Service Bus Grid Middleware as GRID middleware Virtual clusters and storage 246

53 Cloud Computing Computing Power as a configurable, payable Service 250

54 Peer to peer (P2P) aims Enable large (global) scale by eliminating (centrally-) managed servers and infrastructures (administration and fault recovery cost, bandwidth bottleneck). Build a reliable resource sharing layer over an unreliable and untrusted collection of (unpredictable) nodes (probabilistic). Exploit available resources and construct applications that are scalable, reliable, and secure. Data and computational resources are contributed by many hosts (nodes) in an unmanaged way to participate in the provision of a uniform service. 252

55 Peer to peer (P2P) challenges All nodes have the same functional capabilities and responsibilities Key problem: Placement of data objects and subsequent provision for access, while balancing workload and availability. Algorithms for placement and retrieval are a key aspect: decentralized self-organising self-balancing (storage and processing load) Most effective with immutable data (file sharing, web caching,...). 253

56 Why P2P - from research point of view Challenges for future Internet applications Scalability (nodes, users) Dynamics (mobility, QoS-aware flexibility) Heterogeneity (scopes of control) Security (anonymity, censorship, availability) Dependability (and performance) Centralized systems single point of failure single point to attack bottleneck 255

57 Why P2P - Reality 256

58 Other systems Mobile and pervasive (ubiquitous) systems: wireless connectivity of portable devices device miniaturization and integration of computing devices with our everyday physical world deal with frequent change! Distributed multimedia Continous streams of data in real-time (Video, VoIP,...) timely processing and delivery Flow specifications and QoS contracts/management Voice-data convergence and service integration 267

59 Technology Overview Distributed object-based systems Components and EAI Coordination-based systems WWW, SOA, Grid, P2P Lecture summary

60 Design goals in distributed systems Resource sharing (collaborative, competitive) Transparency Hiding internal structure, complexity Openness Portability, interoperability,... Services provided by standard rules Separating policy from mechanism Scalability Ability to expand the system easily Concurrency inherently parallel (not just simulated) Fault Tolerance (FT), availability 273

61 Dealing with complexity Abstraction (and modeling) Client, server, service Interface versus implementation Information hiding (encapsulation) Interface design Separation of concerns Layering (filesystem example: bytes, disc blocks, files) Client and server Components (granularity issues) Policy vs. mechanism 277

62 Communication models Multiprocessors: shared memory Multicomputers: message passing Synchronization in shared memory: Semaphores (atomic mutex variable) Monitors an abstract data type whose operations may be invoked by concurrent threads; different invocations are synchronized Synchronization in multicomputers: blocking in message passing 278

63 Architectural Styles Important styles of architecture for distributed systems Layered architectures (OSI) Object-based architectures (and components) Data-centered architectures (file based, database, resourceful WS,...) Event-based architectures... and combinations thereof 279

64 The 8 Fallacies of Distributed Computing 1. The network is reliable 2. Latency is zero 3. Bandwidth is infinite 4. The network is secure 5. Topology doesn't change 6. There is one administrator 7. Transport cost is zero 8. The network is homogeneous Essentially everyone, when they first build a distributed application, makes the above eight assumptions. All prove to be false in the long run and all cause big trouble and painful learning experiences. (Peter Deutsch) 280

65 Concepts of distributed systems Communication Concurrency and operating system support (competitive, cooperative) Naming and discovery Synchronization and agreement Consistency and replication Fault-tolerance Security 281

66 Communication Communication is the distinguishing characteristic of distributed applications Communication mechanisms may be explicit or implicit Different models of communication exist Synchronization and persistence Discrete and continuous media have distinct communication requirements Remote procedures, distributed objects, message queues, and streams are just four types of abstractions that can be used 282

67 Operating System Support Concurrency is naturally present in a distributed system and needs operating system support Concurrency may be exploited in several ways in distributed systems: To improve performance by hiding delays due to blocking To structure high-performance servers To structure clients that hide server replication Other paradigms with different operating system support code migration virtualization 283

68 Naming and discovery Names are organized in name spaces; implemented in hierarchies and layers A naming service provides the mapping (resolution): name attribute (typically address) Consistency of distributed name service depends on update algorithms used Caching and replication increase performance/availability Directory service provides a way to structure a name space according to attributes Discovery service supports ad hoc networks, dynamics, and large-scale (e.g., P2P) Mobility is supported by location services Distributed garbage collection is challenging 284

69 Synchronization and agreement Distributed processes need to synchronize their actions to ensure cooperation or fair competition Lack of a global clock makes synchronization difficult Often, ordering is enough: Logical clocks and vector stamps reduce the cost of synchronization Distributed agreement algorithms are required when processes need to coordinate their actions. Mutex, Election, Global state,

70 Consistency and replication Replication can help to achieve better performance and fault tolerance Chosen replication protocol depends on different parameters: consistency requirements, read/write ratio, number of clients, etc. consistency model update propagation methods Most important protocols: Primary-backup replication Coordinator-cohort/Update-everywhere replication Active replication Quorum-based protocols Epidemic protocols Need to be adopted for domain: distributed object system, file system, database system, service-oriented system, P2P system, etc. 286

71 Dependability and fault tolerance Dependability is a holistic concept Distributed systems can suffer partial failures Distributed systems can provide fault-tolerance Faults can be due to process failures or communication failures Process replication (process groups) can help deal with process failures Reliable communication can be built on top of unreliable communication mechanisms Lost-reply problem has to be dealt with in client/server architectures A reliable multicast (group communication) is in many cases necessary for providing fault-tolerant distributed algorithms 287

72 Security Demand for security (unfortunately) obvious: e- banking, e-government, online auctions, etc. Security services are necessary to protect communications and transactions in open networks Security can be provided by secure channels and authorization services Authorization requires authentication and access control Encryption is used for secure communication Public key and secret key cryptography can be used for authentication (e.g. digital signatures) Distribution of encryption keys must be managed by a trusted third party or out-of-band communication. 288

73 Concepts, Paradigms, Technologies Systems Engineering CORBA J2EE COM+.NET Web Services GRID P2P Pervasive Multimedia WWW Databases VoIP... Communication Processes & Concurrency Naming and Discovery Coordination & Agreement Replication & Consistency Dependability and FT Transactions Security (Persistency, Durability) How is naming and discovery realized in COM+ technology? 292

74 Future Prospects? SOA and Web services (standards-based) Grid and cloud computing (aggregation of nodes) Mobility (portable devices) and ad-hoc (MANET) Voice-data convergence and service integration Pervasive/ambient/ubiquitous computing (billions of nodes and new kinds of applications) Ultra large scale systems (complexity, emerging behaviour) Adaptive (self-*, autonomous) systems Bio-inspired methods 295

75 Continuative lectures Advanced Distributed Systems Dependable Systems Adaptive Systems Autonomic and Bio-inspired systems Application examples: MMOG Technologien Verteilter Systeme Software Architekturen Entwurfsmethoden für Verteilte Systeme More lecturing 306

76 Interested? Join our national and international projects where research meets industry! Praktikum Diplomarbeit Dissertation

Today: Distributed Objects. Distributed Objects

Today: 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 information

Distributed Middleware. Distributed Objects

Distributed 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 information

Electronic Payment Systems (1) E-cash

Electronic 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 information

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan. Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan Reading List Remote Object Invocation -- Tanenbaum Chapter 2.3 CORBA

More information

Distributed Systems. Prof. Dr. Schahram Dustdar Distributed Systems Group Vienna University of Technology. dsg.tuwien.ac.

Distributed Systems. Prof. Dr. Schahram Dustdar Distributed Systems Group Vienna University of Technology. dsg.tuwien.ac. Distributed Systems Prof. Dr. Schahram Dustdar Distributed Systems Group Vienna University of Technology dustdar@dsg.tuwien.ac.at dsg.tuwien.ac.at Outline 1. History 2. What is a distributed system? 3.

More information

Verteilte Systeme (Distributed Systems)

Verteilte 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 organization Lecture schedule (may change!)

More information

Verteilte Systeme (Distributed Systems)

Verteilte 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 4: Operating System Support Processes and

More information

DS 2009: middleware. David Evans

DS 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 information

Distributed Systems. Prof. Dr. Schahram Dustdar Distributed Systems Group Vienna University of Technology. dsg.tuwien.ac.

Distributed Systems. Prof. Dr. Schahram Dustdar Distributed Systems Group Vienna University of Technology. dsg.tuwien.ac. Distributed Systems Prof. Dr. Schahram Dustdar Distributed Systems Group Vienna University of Technology dustdar@dsg.tuwien.ac.at dsg.tuwien.ac.at Outline 1. History 2. What is a distributed system? 3.

More information

Today: Distributed Middleware. Middleware

Today: Distributed Middleware. Middleware Today: Distributed Middleware Middleware concepts Case study: CORBA Lecture 24, page 1 Middleware Software layer between application and the OS Provides useful services to the application Abstracts out

More information

Verteilte Systeme (Distributed Systems)

Verteilte 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 information

(9A05803) WEB SERVICES (ELECTIVE - III)

(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 information

Distributed Systems. Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1

Distributed Systems. Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1 Distributed Systems Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1 Service Oriented Architectures (SOA) A SOA defines, how services are

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

02 - Distributed Systems

02 - 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 information

02 - Distributed Systems

02 - 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 information

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 1 Introduction Modified by: Dr. Ramzi Saifan Definition of a Distributed System (1) A distributed

More information

Advanced Distributed Systems

Advanced Distributed Systems Course Plan and Department of Computer Science Indian Institute of Technology New Delhi, India Outline Plan 1 Plan 2 3 Message-Oriented Lectures - I Plan Lecture Topic 1 and Structure 2 Client Server,

More information

Distributed Object-Based. Systems. Chapter 9

Distributed Object-Based. Systems. Chapter 9 Distributed Object-Based Systems Chapter 9 Overview of CORBA The global architecture of CORBA. Object Model The general organization of a CORBA system. Service Collection Query Concurrency Transaction

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distributed Systems Principles and Paradigms Chapter 09 (version 27th November 2001) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20.

More information

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications Distributed Objects and Remote Invocation Programming Models for Distributed Applications Extending Conventional Techniques The remote procedure call model is an extension of the conventional procedure

More information

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Software Paradigms (Lesson 10) Selected Topics in Software Architecture Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1

More information

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

Announcements.  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 information

1.264 Lecture 16. Legacy Middleware

1.264 Lecture 16. Legacy Middleware 1.264 Lecture 16 Legacy Middleware What is legacy middleware? Client (user interface, local application) Client (user interface, local application) How do we connect clients and servers? Middleware Network

More information

Service Oriented Architectures Visions Concepts Reality

Service Oriented Architectures Visions Concepts Reality Service Oriented Architectures Visions Concepts Reality CSC March 2006 Alexander Schatten Vienna University of Technology Vervest und Heck, 2005 A Service Oriented Architecture enhanced by semantics, would

More information

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR 2011 2012(ODD SEMESTER) QUESTION BANK SUBJECT CODE / NAME: IT1402-MIDDLEWARE TECHNOLOGIES YEAR/SEM : IV / VII UNIT

More information

Distributed Systems Question Bank UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems?

Distributed Systems Question Bank UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems? UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems? 2. What are different application domains of distributed systems? Explain. 3. Discuss the different

More information

Distribution and web services

Distribution 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 information

Introduction to Distributed Systems (DS)

Introduction to Distributed Systems (DS) Introduction to Distributed Systems (DS) INF5040/9040 autumn 2009 lecturer: Frank Eliassen Frank Eliassen, Ifi/UiO 1 Outline What is a distributed system? Challenges and benefits of distributed system

More information

Applications MW Technologies Fundamentals. Evolution. Applications MW Technologies Fundamentals. Evolution. Building Blocks. Summary.

Applications MW Technologies Fundamentals. Evolution. Applications MW Technologies Fundamentals. Evolution. Building Blocks. Summary. Summary Mariano Cilia cilia@informatik.tu-darmstadt.de 1 2 Communication Mechanisms Synchronous Asynchronous 3 4 RPC - Abstraction Remote Procedure (RPC) s System used interface interface definition logic

More information

Outline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems

Outline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems Distributed Systems Outline Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems What Is A Distributed System? A collection of independent computers that appears

More information

Distributed Systems Principles and Paradigms. Chapter 01: Introduction. Contents. Distributed System: Definition.

Distributed Systems Principles and Paradigms. Chapter 01: Introduction. Contents. Distributed System: Definition. Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science Room R4.20, steen@cs.vu.nl Chapter 01: Version: February 21, 2011 1 / 26 Contents Chapter 01: 02: Architectures

More information

Distributed Systems Principles and Paradigms. Chapter 01: Introduction

Distributed Systems Principles and Paradigms. Chapter 01: Introduction Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science Room R4.20, steen@cs.vu.nl Chapter 01: Introduction Version: October 25, 2009 2 / 26 Contents Chapter

More information

Communication. Distributed Systems Santa Clara University 2016

Communication. 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 information

CA464 Distributed Programming

CA464 Distributed Programming 1 / 25 CA464 Distributed Programming Lecturer: Martin Crane Office: L2.51 Phone: 8974 Email: martin.crane@computing.dcu.ie WWW: http://www.computing.dcu.ie/ mcrane Course Page: "/CA464NewUpdate Textbook

More information

Integrating Legacy Assets Using J2EE Web Services

Integrating 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 information

Communication. Overview

Communication. 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 information

Message Passing vs. Distributed Objects. 5/15/2009 Distributed Computing, M. L. Liu 1

Message Passing vs. Distributed Objects. 5/15/2009 Distributed Computing, M. L. Liu 1 Message Passing vs. Distributed Objects 5/15/2009 Distributed Computing, M. L. Liu 1 Distributed Objects M. L. Liu 5/15/2009 Distributed Computing, M. L. Liu 2 Message Passing versus Distributed Objects

More information

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013 Chapter 1: Distributed Systems: What is a distributed system? Fall 2013 Course Goals and Content n Distributed systems and their: n Basic concepts n Main issues, problems, and solutions n Structured and

More information

~ Ian Hunneybell: CBSD Revision Notes (07/06/2006) ~

~ Ian Hunneybell: CBSD Revision Notes (07/06/2006) ~ 1 Component: Szyperski s definition of a component: A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can

More information

Introduction to Web Services & SOA

Introduction to Web Services & SOA References: Web Services, A Technical Introduction, Deitel & Deitel Building Scalable and High Performance Java Web Applications, Barish Service-Oriented Programming (SOP) SOP A programming paradigm that

More information

Overview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36

Overview. 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 information

System types. Distributed systems

System types. Distributed systems System types 1 Personal systems that are designed to run on a personal computer or workstation Distributed systems where the system software runs on a loosely integrated group of cooperating processors

More information

Distributed Objects. Object-Oriented Application Development

Distributed Objects. Object-Oriented Application Development Distributed s -Oriented Application Development Procedural (non-object oriented) development Data: variables Behavior: procedures, subroutines, functions Languages: C, COBOL, Pascal Structured Programming

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distributed Systems Principles and Paradigms Chapter 01 (version September 5, 2007) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20.

More information

Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006

Implementing 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

Lecture 5: Object Interaction: RMI and RPC

Lecture 5: Object Interaction: RMI and RPC 06-06798 Distributed Systems Lecture 5: Object Interaction: RMI and RPC Distributed Systems 1 Recap Message passing: send, receive synchronous versus asynchronous No global Time types of failure socket

More information

Notes. 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. 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 information

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics. Distributed systems Distributed Systems Architectures Virtually all large computer-based systems are now distributed systems. Information processing is distributed over several computers rather than confined

More information

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio)

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio) Introduction to Distributed Systems INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio) August 28, 2018 Outline Definition of a distributed system Goals of a distributed system Implications of distributed

More information

Chapter 4 Communication

Chapter 4 Communication DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI

More information

Introduction to Distributed Systems (DS)

Introduction to Distributed Systems (DS) Introduction to Distributed Systems (DS) INF5040/9040 autumn 2014 lecturer: Frank Eliassen Frank Eliassen, Ifi/UiO 1 Outline Ø What is a distributed system? Ø Challenges and benefits of distributed systems

More information

DISTRIBUTED SYSTEMS [COMP9243] Distributed Object based: Lecture 7: Middleware. Slide 1. Slide 3. Message-oriented: MIDDLEWARE

DISTRIBUTED 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 information

Semantic SOA - Realization of the Adaptive Services Grid

Semantic SOA - Realization of the Adaptive Services Grid Semantic SOA - Realization of the Adaptive Services Grid results of the final year bachelor project Outline review of midterm results engineering methodology service development build-up of ASG software

More information

CORBA (Common Object Request Broker Architecture)

CORBA (Common Object Request Broker Architecture) CORBA (Common Object Request Broker Architecture) René de Vries (rgv@cs.ru.nl) Based on slides by M.L. Liu 1 Overview Introduction / context Genealogical of CORBA CORBA architecture Implementations Corba

More information

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1 Objectives To explain the advantages and disadvantages of different distributed systems architectures

More information

Interprocess Communication Tanenbaum, van Steen: Ch2 (Ch3) CoDoKi: Ch2, Ch3, Ch5

Interprocess 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 information

Advanced Lectures on knowledge Engineering

Advanced Lectures on knowledge Engineering TI-25 Advanced Lectures on knowledge Engineering Client-Server & Distributed Objects Platform Department of Information & Computer Sciences, Saitama University B.H. Far (far@cit.ics.saitama-u.ac.jp) http://www.cit.ics.saitama-u.ac.jp/~far/lectures/ke2/ke2-06/

More information

INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV

INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV INTRODUCTION TO Object Oriented Systems 1 CHAPTER 1 Introduction to Object Oriented Systems Preview of Object-orientation. Concept of distributed object systems, Reasons to distribute for centralized objects.

More information

Client Server & Distributed System. A Basic Introduction

Client Server & Distributed System. A Basic Introduction Client Server & Distributed System A Basic Introduction 1 Client Server Architecture A network architecture in which each computer or process on the network is either a client or a server. Source: http://webopedia.lycos.com

More information

Introduction. Distributed Systems IT332

Introduction. Distributed Systems IT332 Introduction Distributed Systems IT332 2 Outline Definition of A Distributed System Goals of Distributed Systems Types of Distributed Systems 3 Definition of A Distributed System A distributed systems

More information

Advanced Topics in Operating Systems

Advanced Topics in Operating Systems Advanced Topics in Operating Systems MSc in Computer Science UNYT-UoG Dr. Marenglen Biba 8-9-10 January 2010 Lesson 10 01: Introduction 02: Architectures 03: Processes 04: Communication 05: Naming 06:

More information

Middleware: Challenges and Evolution from Procedural to Service Orientation

Middleware: Challenges and Evolution from Procedural to Service Orientation Middleware: Challenges and Evolution from Procedural to Service Orientation Bruno Traverson (bruno.traverson@edf.fr) IWAISE 2008 APRIL 2008 1-1 Middleware [Meeting in the Middle, Ruth Palmer] Contraction

More information

CAS 703 Software Design

CAS 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 information

Application Connectivity Strategies

Application 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 information

SAI/ST course Distributed Systems

SAI/ST course Distributed Systems SAI/ST course Distributed Systems 2013, Sep. 26 Oct 01 Lecture 3: Communication Agenda Overview Concepts Organization in layers IPC primitives Direct communication Indirect communication R.H. Mak 27-9-2013

More information

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 1 Introduction Definition of a Distributed System (1) A distributed system is: A collection of

More information

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve Enterprise Java Introduction Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve Course Description This course focuses on developing

More information

Client/Server-Architecture

Client/Server-Architecture Client/Server-Architecture Content Client/Server Beginnings 2-Tier, 3-Tier, and N-Tier Architectures Communication between Tiers The Power of Distributed Objects Managing Distributed Systems The State

More information

Introduction to Distributed Systems

Introduction to Distributed Systems Introduction to Distributed Systems Other matters: review of the Bakery Algorithm: why can t we simply keep track of the last ticket taken and the next ticvket to be called? Ref: [Coulouris&al Ch 1, 2]

More information

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java EJB Enterprise Java EJB Beans ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY Peter R. Egli 1/23 Contents 1. What is a bean? 2. Why EJB? 3. Evolution

More information

DISTRIBUTED SYSTEMS. Second Edition. Andrew S. Tanenbaum Maarten Van Steen. Vrije Universiteit Amsterdam, 7'he Netherlands PEARSON.

DISTRIBUTED SYSTEMS. Second Edition. Andrew S. Tanenbaum Maarten Van Steen. Vrije Universiteit Amsterdam, 7'he Netherlands PEARSON. DISTRIBUTED SYSTEMS 121r itac itple TAYAdiets Second Edition Andrew S. Tanenbaum Maarten Van Steen Vrije Universiteit Amsterdam, 7'he Netherlands PEARSON Prentice Hall Upper Saddle River, NJ 07458 CONTENTS

More information

Chapter 18 Distributed Systems and Web Services

Chapter 18 Distributed Systems and Web Services Chapter 18 Distributed Systems and Web Services Outline 18.1 Introduction 18.2 Distributed File Systems 18.2.1 Distributed File System Concepts 18.2.2 Network File System (NFS) 18.2.3 Andrew File System

More information

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS Distributed Objects Figure 10-1. Common organization of a remote

More information

Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture

Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture Preface p. xix About the Author p. xxii Introduction p. xxiii Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture

More information

Introduction to Web Services & SOA

Introduction to Web Services & SOA References: Web Services, A Technical Introduction, Deitel & Deitel Building Scalable and High Performance Java Web Applications, Barish Web Service Definition The term "Web Services" can be confusing.

More information

3C05 - Advanced Software Engineering Thursday, April 29, 2004

3C05 - Advanced Software Engineering Thursday, April 29, 2004 Distributed Software Architecture Using Middleware Avtar Raikmo Overview Middleware What is middleware? Why do we need middleware? Types of middleware Distributed Software Architecture Business Object

More information

Application Servers in E-Commerce Applications

Application Servers in E-Commerce Applications Application Servers in E-Commerce Applications Péter Mileff 1, Károly Nehéz 2 1 PhD student, 2 PhD, Department of Information Engineering, University of Miskolc Abstract Nowadays there is a growing demand

More information

Distribution and Integration Technologies

Distribution and Integration Technologies Distribution and Integration Technologies Distributed Architectures Patterns and Styles 1 Distributed applications infrastructure ISP intranet wireless backbone desktop computer: server: laptops: tablets:

More information

CSE 5306 Distributed Systems. Course Introduction

CSE 5306 Distributed Systems. Course Introduction CSE 5306 Distributed Systems Course Introduction 1 Instructor and TA Dr. Donggang Liu @ CSE Web: http://ranger.uta.edu/~dliu Email: dliu@uta.edu Phone: 817-2720741 Office: ERB 555 Office hours: Tus/Ths

More information

Services Oriented Architecture and the Enterprise Services Bus

Services 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 information

Distributed Systems. The main method of distributed object communication is with remote method invocation

Distributed 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 information

Java J Course Outline

Java J Course Outline JAVA EE - J2SE - CORE JAVA After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? CHAPTER 1: INTRODUCTION What is Java? History Versioning The

More information

Software MEIC. (Lesson 20)

Software 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 information

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services

MTAT 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 information

Lecture 06: Distributed Object

Lecture 06: Distributed Object Lecture 06: Distributed Object Distributed Systems Behzad Bordbar School of Computer Science, University of Birmingham, UK Lecture 0? 1 Recap Interprocess communication Synchronous and Asynchronous communication

More information

Module 1 - Distributed System Architectures & Models

Module 1 - Distributed System Architectures & Models Module 1 - Distributed System Architectures & Models System Architecture Defines the structure of the system components identified functions of each component defined interrelationships and interactions

More information

Verteilte Systeme (Distributed Systems)

Verteilte 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 2: Communication (Part 1) Networking Principles

More information

WebSphere 4.0 General Introduction

WebSphere 4.0 General Introduction IBM WebSphere Application Server V4.0 WebSphere 4.0 General Introduction Page 8 of 401 Page 1 of 11 Agenda Market Themes J2EE and Open Standards Evolution of WebSphere Application Server WebSphere 4.0

More information

Distributed Computing

Distributed Computing Distributed Computing 1 Why distributed systems: Benefits & Challenges The Sydney Olympic game system: see text page 29-30 Divide-and-conquer Interacting autonomous systems Concurrencies Transactions 2

More information

Chapter 10 Web-based Information Systems

Chapter 10 Web-based Information Systems Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 10 Web-based Information Systems Role of the WWW for IS Initial

More information

Web-Based Systems. INF 5040 autumn lecturer: Roman Vitenberg

Web-Based Systems. INF 5040 autumn lecturer: Roman Vitenberg Web-Based Systems INF 5040 autumn 2013 lecturer: Roman Vitenberg INF5040, Roman Vitenberg 1 Two main flavors Ø Browser-server WWW application Geared towards human interaction Not suitable for automation

More information

Distributed Systems. Overview. Distributed Systems September A distributed system is a piece of software that ensures that:

Distributed Systems. Overview. Distributed Systems September A distributed system is a piece of software that ensures that: Distributed Systems Overview Distributed Systems September 2002 1 Distributed System: Definition A distributed system is a piece of software that ensures that: A collection of independent computers that

More information

Introduction Distributed Systems

Introduction Distributed Systems Introduction Distributed Systems Today Welcome Distributed systems definition, goals and challenges What is a distributed system? Very broad definition Collection of components, located at networked computers,

More information

Simple 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 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 information

Asynchronous Web Services: From JAX-RPC to BPEL

Asynchronous 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 information

SOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE

SOFTWARE 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 information

C exam. IBM C IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile. Version: 1.

C exam.   IBM C IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile. Version: 1. C9510-319.exam Number: C9510-319 Passing Score: 800 Time Limit: 120 min File Version: 1.0 IBM C9510-319 IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile Version: 1.0 Exam A QUESTION

More information

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p. Acknowledgments p. xvi Introduction p. xvii Overview p. 1 Overview p. 3 The Motivation for Enterprise JavaBeans p. 4 Component Architectures p. 7 Divide and Conquer to the Extreme with Reusable Services

More information

Trading Services for Distributed Enterprise Communications. Dr. Jean-Claude Franchitti. Presentation Agenda

Trading Services for Distributed Enterprise Communications. Dr. Jean-Claude Franchitti. Presentation Agenda Page 1 Trading Services for Distributed Enterprise Communications Dr. Jean-Claude Franchitti Presentation Agenda Enterprise Systems Technology Classifications Naming, Directory, and Trading Services in

More information