Distribution and Integration Technologies

Similar documents
Introduction to Distributed Computing

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

CAS 703 Software Design

Introduction to Distributed Systems

Module 1 - Distributed System Architectures & Models

Appendix A - Glossary(of OO software term s)

02 - Distributed Systems

02 - Distributed Systems

Today: Distributed Objects. Distributed Objects

Introduction. Distributed Systems IT332

Modulo II Introdução Sistemas Distribuídos

TDP3471 Distributed and Parallel Computing

Introduction to Web Services & SOA

Software Architecture Patterns

N-Tiered Enterprise Styles. Example 1. Key Concepts. Component-Based Software Engineering. ECE493-Topic 4 Winter 2006

Patterns Architectural Styles Archetypes

Distributed Systems Development

Client/Server-Architecture

Software MEIC. (Lesson 20)

Identität und Autorisierung als Grundlage für sichere Web-Services. Dr. Hannes P. Lubich IT Security Strategist

Chapter 2 System Models

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

System models for distributed systems

Distributed Objects. Object-Oriented Application Development

Web Services. Lecture I. Valdas Rapševičius. Vilnius University Faculty of Mathematics and Informatics

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS

Agent-Enabling Transformation of E-Commerce Portals with Web Services

DS 2009: middleware. David Evans

Evolution of Service Oriented Architectures

INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV

Service-Oriented Architecture (SOA)

Topics on Web Services COMP6017

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

Building the Digital Media Workstream: From project pitch to program purchase

1.264 Lecture 16. Legacy Middleware

Basic Properties of Styles

Developing Windows Communication Foundation Solutions with Microsoft Visual Studio 2010

Introduction to Web Services & SOA

- Intranet, extranet, internet

Overview SENTINET 3.1

Distributed Systems. Bina Ramamurthy. 6/13/2005 B.Ramamurthy 1

Enterprise Architecture Deployment Options. Mark Causley Sandy Milliken Sue Martin

Web Services. Lecture I. Valdas Rapševičius Vilnius University Faculty of Mathematics and Informatics

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

Verteilte Systeme (Distributed Systems)

Advanced Topics in Operating Systems

Introduction & RMI Basics. CS3524 Distributed Systems Lecture 01

Lecture 5: Object Interaction: RMI and RPC

Distributed Systems Conclusions & Exam. Brian Nielsen

Developing Windows Communication Foundation Solutions with Microsoft Visual Studio 2010

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Chapter 6 Enterprise Java Beans

Semantic SOA - Realization of the Adaptive Services Grid

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.

CS 454/654 Distributed Systems. Course Objective

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

Module Day Topic. 1 Definition of Cloud Computing and its Basics

Web Serving Architectures

Incorporating applications to a Service Oriented Architecture

OPENEDGE TRAINING SYNOPSES course synopses for OpenEdge Training.

Structured communication (Remote invocation)

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

CORBA (Common Object Request Broker Architecture)

Distributed Systems Conclusions & Exam. Brian Nielsen

04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6

Architecture of distributed systems

Architecture of distributed systems

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views

Chapter 5: Distributed objects and remote invocation

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

Software Components and Distributed Systems

Distribution and web services

Advanced WCF 4.0 .NET. Web Services. Contents for.net Professionals. Learn new and stay updated. Design Patterns, OOPS Principles, WCF, WPF, MVC &LINQ

Sentinet for BizTalk Server SENTINET

Chapter 13: Architecture Patterns

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

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

SOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE

Application Servers in E-Commerce Applications

CHAPTER - 4 REMOTE COMMUNICATION

Enterprise JavaBeans (I) K.P. Chow University of Hong Kong

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

SOA = Same Old Architecture?

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

(9A05803) WEB SERVICES (ELECTIVE - III)

Contents. Mobile Middleware Course. Introduction and Overview Sasu Tarkoma. Lecture Outline. Course Book. Mobile Evolution.

Oracle SOA Suite 11g: Build Composite Applications

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

A Framework Supporting Quality of Service for SOA-based Applications

Sentinet for Windows Azure VERSION 2.2

Software Design COSC 4353/6353 DR. RAJ SINGH

API, DEVOPS & MICROSERVICES

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

DRAFT. University of Colorado Advanced Technology Series. Bob Marcus

Overview. System architectures Software layers Architectural models. Design requirements. client-server, peer processes, mobile code, agents,...

Chapter 2 Distributed Information Systems Architecture

ebusiness Suite goes SOA

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

XBS Application Development Platform

Unit Wise Questions. Unit-1 Concepts

Transcription:

Distribution and Integration Technologies Distributed Architectures Patterns and Styles 1

Distributed applications infrastructure ISP intranet wireless backbone desktop computer: server: laptops: tablets: smartphones: network link: wireless link: satellite link Mobile inside an organization (intranet) with external clients between organizations 2

Ubiquitous computing / spontaneous network gateway Music service Alarm service Internet Discovery service Hotel / Shopping wireless network Camera TV/PC Laptop Mobile Guests devices 3

Characteristics / challenges Heterogeneity Use: many OSs, hardware, programming languages, frameworks, Extensibility Easy integration of new services, components, nodes, Security Protection: confidentiality, integrity, authentication, availability, Scalability Architecture: allow more users with more resources without degrading Fault tolerance and treatment Response to communication, node, service faults and failures, Concurrency Several simultaneous clients and users Transparency To the user and to the programmer 4

Enterprise applications Front-office Departments Sales Marketing Client Services CRM Production IT Human Resources ERP Stock Management Account Management Product Distribution Back-office 5

Application logic architecture Client tier Middle tier Data tier Interface Business Logic Data 6

Presentation User Interface Business Logic Data Access Data Management and Storage Tiered architecture Interface Logic Data Presentation Interface design and data visualization/input UI Interaction and data transport to the business logic layer Business Data validation, manipulation, processing and security Access Data encapsulation and transformation to storage models/formats. Extraction and storage actions. Storage DBMS s and access drivers 7

Data Layer Business Layer Services Layer Cross Cutting Security Communication Presentation Layer An enterprise application (detail) UI Components Presentation Logic Components Presentation Entities External Applications Service Interfaces Message Formats Application Façade Business Workflows Business Components Business Entities Data Access Components Data Utilities Service Agents Data External Services 8

Workflows / BPM Services and Activities orchestration to form a business process Service Interface Business Workflow Component Service Agent Service Interface 9

Distributed architecture styles (1) Client / Server One half of the application (Client) emits requests to the other half (Server) Workstation Server Client and Server execute in different processes in the same or different machines Server can be client of other Servers Clients can obtain answers concurrently This style exists practically in every distributed application APM@FEUP Distributed Architecture 10

Distributed architecture styles (2) Component based architecture The application is decomposed in functional and reusable portions exposing a known and defined interface The components can generally be installed in different processes and can be remotely invoked Client Comp A Comp C Comp B Process 2 Process 1 Comp D Process 3 11

Components Interface 1: method 1 method 2 Interface 2: method 3 method 4 Interface 3: method 5 method 6 Interface 4: method 7 method 8 Remote class 1 Remote class 2 Installation unit: component (executable code file) properties (general OO): encapsulation inheritance polymorphism component composition: contention aggregation other properties: binary specification language independence localization independence A middleware provides a functionality set allowing the easy creation of new instances of the remote classes and the invocation of their methods 12

Distributed architecture styles (3) Domain Driven Models the application following the business process and the intervenient entities. The main application objects represent the entities, with their state and behavior in the business process (business entities or business objects) Business objects 13

Business objects State Behavior Interface Entities from the application logical model Remote entity P1 Use of a P2 Creation remote entity Transport channel Initialization Serialization Entity class code Entity class code 14

Distributed architecture styles (4) Layered Multi-Tiered Architecture The layered architecture divides the application functionality in stacked groups that can communicate between them. A layer becomes a tier if it can be installed in a separate machine. Browser Web Server Web Server Web Server Presentation Presentation Presentation Application Server Application Server Application Server Business Business Logic Business Logic Logic Database Server Database Replication Database Server Database 15

Distributed architecture styles (5) Message bus Applications are built in a way that can consume and expose functionalities through message sending and receiving. They must know only the message format and meaning and not the specific details of the senders and receivers. Application C Application A Application B 16

Distributed architecture styles (6) Service Oriented Architecture (SOA) The applications are built in a way to expose and consume functionalities presented as services, using well defined contracts (interfaces) and messages Service A Application Service B Service D Service C Service E 17

Integration ways Applications DBs Presentation Interface Logic Logic Data Access Presentation Interface Logic Data Access Presentation Interface Logic Logic Data Access Messages or Services Messages or Services 18

Distribution models and ways Shared memory SMP systems, global variables, multithreading --- OpenMP Distributed shared memory Difficult to implement But simple programming Mobile code Mobile agents, where code and data can move from node to node Message passing Needs a communication channel Explicit sending and receiving Remote invocation RPC Function invocation, similar to local calls Data is moved as parameters and results OO paradigm easy to achieve 19

Remote invocation mechanism... var = func_a(... ).. func_a( )..... proxy of func_a(... ) marshalling dispatcher of func_a(... ) communication channel Client Remote function 20

Distributed platform architecture Applications Middleware communications Operating System High level abstractions: RMI, events,... Names and location Protocols for calls and responses External data representation Hardware Middleware: - Implements a distributed programming model above processes, communication channels and message passing; - Isolates the hardware and the operating system, allowing interoperability between different platforms; - Supplies a high level of programming transparency, emulating a local programming model; 21

Middleware function Application Application Application standard API Middleware Middleware Middleware specific API Operating System Operating System Operating System Communication Network APM@FEUP Distributed Architecture 22