Software Engineering and Middleware: A Roadmap



Similar documents
Middleware: Past and Present a Comparison

Distributed Systems. Outline. What is a Distributed System?

Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications

Software Engineering and Middleware: A Roadmap

XII. Distributed Systems and Middleware. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Middleware Lou Somers

Distributed Objects and Components

What is Middleware? Software that functions as a conversion or translation layer. It is also a consolidator and integrator.

Ingegneria del Software II academic year: Course Web-site: [

Introduction to CORBA. 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture

Chapter 2: Enterprise Applications from a Middleware Perspective

Web Services. Copyright 2011 Srdjan Komazec

Mobile Computing Middleware

Middleware and Distributed Systems. Introduction. Dr. Martin v. Löwis

OMG/CORBA: An Object-Oriented Middleware

25 May Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy

Infrastructure that supports (distributed) componentbased application development

Chapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models

Invocación remota (based on M. L. Liu Distributed Computing -- Concepts and Application

Enterprise Application Integration

Business Object Facilities. A Comparative Analysis æ

MIDDLEWARE 1. Figure 1: Middleware Layer in Context

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

COM 440 Distributed Systems Project List Summary

Application Service Providers: System Development Using Services over the Net

Component and Service Technology Families

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Middleware. Chapter 8: Middleware

The Service Revolution software engineering without programming languages

Performance Testing of Distributed Component Architectures

Chapter 16 Distributed Processing, Client/Server, and Clusters

Layering a computing infrastructure. Middleware. The new infrastructure: middleware. Spanning layer. Middleware objectives. The new infrastructure

The Advantages of CorBA For Network Based Training Systems

Distributed Internet Applications - DIA. Principles of Object-Oriented Middleware

Ask a network designer what middleware

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

System types. Distributed systems

What Is the Java TM 2 Platform, Enterprise Edition?

Event-based middleware services

Tier Architectures. Kathleen Durant CS 3200

CORBA Component Model(CCM)

Technical Report. Access policies for middleware. Ulrich Lang. Number 564. May Computer Laboratory UCAM-CL-TR-564 ISSN

Module 17. Client-Server Software Development. Version 2 CSE IIT, Kharagpur

Detailed Table of Contents

JDBC Drivers, Bridges and SequeLink. Edward M. Peters Vice President & General Manager DataDirect

How To Write A Network Operating System For A Network (Networking) System (Netware)

Service-Oriented Architecture and Software Engineering

Distributed Systems Architectures

PERFORMANCE MONITORING OF JAVA COMPONENT-ORIENTED DISTRIBUTED APPLICATIONS

Chapter 2: Remote Procedure Call (RPC)

Component Middleware. Sophie Chabridon. INT - INF Department - Distributed Systems team 2006

An Oracle White Paper May Oracle Tuxedo: An Enterprise Platform for Dynamic Languages

A Novel Distributed Network for Ensuring Highly Secure Proposed Enterprise Network Integrated Firewall

E-Commerce Systems Technology Infrastructure

White paper. IBM WebSphere Application Server architecture

App Servers & J2EE Platform. Contents: Transaction Processing Monitors. TP Monitors (cont) TP-Monitors. TP Standards. TP Monitors (cont)

Introduction CORBA Distributed COM. Sections 9.1 & 9.2. Corba & DCOM. John P. Daigle. Department of Computer Science Georgia State University

CORBAservices. Naming. Part of the CORBA Naming Service Interface in IDL. CORBA Naming Service

Who am I? Why use EAI? A little history. Today s Lecture. A little history. Enterprise Application Integration Techniques

The Enterprise Service Bus

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19

EJB Application Development and Deployment

A Review of Distributed Workflow Management Systems

Contracts for Services: Needs and Nonsense!

ENTERPRISE SERVICES. By Paul Fremantle, Sanjiva Weerawarana, and Rania Khalaf

How To Extend The Frescor Distributed Transaction Manager (Dtm) With A Multi-Node Transaction Manager

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

Alternatives to SNMP and Challenges in Management Protocols. Communication Systems Seminar Talk 10 Francesco Luminati

Enterprise Integration Architectures for the Financial Services and Insurance Industries

Business Intelligence and Service Oriented Architectures. An Oracle White Paper May 2007

Adaptable Mobile Applications: Exploiting Logical Mobility in Mobile Computing

Service Oriented Architectures

IBM CICS Transaction Gateway for Multiplatforms, Version 7.0

Interface Definition Language

Client-Server Applications

Enterprise Application Integration Techniques

Enterprise Service Bus: Five Keys for Taking a Ride

How To Write A Microsoft.Net Event Management System (Mnet)

Tools for Testing Software Architectures. Learning Objectives. Context

Designing for Maintainability

Distributed Network Management Using SNMP, Java, WWW and CORBA

Service Oriented Architecture

Elements of Advanced Java Programming

Jini. Kurzfassung als Kapitel für die Vorlesung Verteilte Systeme. (unter Nutzung von Teilen von Andreas Zeidler und Roger Kehr)

Chapter 5 Application Server Middleware

Report of the case study in Sistemi Distribuiti A simple Java RMI application

Overview of the CORBA Component Model. Wang, Schmidt, O Ryan

Virtual machine interface. Operating system. Physical machine interface

A Management Tool for Component-Based Real-Time Supervision and Control Systems

Enterprise Application Integration (EAI) Techniques

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Middleware for Heterogeneous and Distributed Information Systems

Service Oriented Architecture Based Integration. Mike Rosen CTO, AZORA Technologies, Inc.

Architecture of the CORBA Component Model CORBA 3.0

DDS and SOA Interfaces to ESB

CORBA. BY VIRAJ N BHAT

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun

Oracle SOA Suite: The Evaluation from 10g to 11g

Sci.Int.(Lahore),19(3), ,2007 ISSN ,CODEN: SINTE 8 187

Distributed Systems. REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1

Challenges and Opportunities for formal specifications in Service Oriented Architectures

ERP Formatting Tutorial

Transcription:

Software Engineering and Middleware: A Roadmap Wolfgang Emmerich Dept. of Computer Science University College London Gower Street, London WC1E 6BT, UK http://www.cs.ucl.ac.uk/staff/w.emmerich 1 What is Middleware? Component Component 1 Component 1 Component n n Middleware Middleware Network Operating System Network Operating System Hardware Hardware Host Host n-1 2 Component 1 Component n Middleware Network Operating System Hardware Host 1 Network Component 1 Component n Middleware Network Operating System Hardware Host n 2 1

Requirements for Middleware Help implementing non-functional requirements ( ilities ) Network communication Coordination of distributed components Reliable execution of components Scalability to future loads Securing components against intruders Resolving heterogeneity of hardware operating systems network protocols component implementations middleware 3 Middleware Solutions Transaction-Oriented IBM CICS BEA Tuxedo Encina Message-Oriented IBM MQSeries DEC Message Queue NCR TopEnd RPC Systems ANSA Sun ONC OSF/DCE Object-Oriented OMG/CORBA COM Java/RMI Component-Oriented Enterprise Java Beans COM+ CORBA Components 4 2

Message-Oriented Middleware Client enter Request Queue remove Server remove Reply Queue enter 5 Transaction-Oriented Middleware Acc1@bankA :Resource begin() debit() credit() commit() Acc2@bankB :Resource register_resource() register_resource() prepare() prepare() commit() commit() :Coordinator 6 3

Procedural Middleware Caller Called Stub Stub Transport Layer (e.g. TCP or UDP) 7 Object-Oriented Middleware Client Object Implementation Dynamic Invocation Client Stubs ORB Interface Implementation Skeletons Object Adapter ORB Core 8 4

Component-Oriented Middleware Session Container Entity Container Other Container POA POA POA Transactions Security Persistence Notifcation 9 Middleware Research Recent trends in ICDCS, Middleware and EDOC Conferences include Component location by trading (Raymond) Reflexive Middleware (Blair) Non-transparent replication (Tanenbaum) Middleware for real-time systems (Schmid) Middleware for mobile and pervasive computing (Sun, Picco) Will influence middleware solutions 3-5 years down the road 10 5

Trends Middleware incredibly successful in industry because they provide programming and run-time environment for building reliable, secure, scalable, open and distributed software systems Middleware industry has proven track record for efficient transfer of research results into products (e.g. ODP Trading) If software engineering research ignores this our results will be ignored! 11 Basic Research Question Middleware provides the programming support, but what about analysis, architecture, design and testing of middleware-based distributed systems? How do we build on middleware to systematically engineer software systems? 12 6

Requirements Engineering Existing requirements engineering techniques have a strong focus on functional requirements Use case based approaches Formal methods Middleware selection needs to be driven by non-functional requirements How do we specify (and quantify!) nonfunctional requirements? How do we elicit dimensions in which they may change? 13 Software Architecture ADLs will be superseded by the IDLs, CDLs and CIDLs that are provided by middleware Middleware provides connectors How do we select an appropriate middleware as the basis of a distributed software architecture? Difficulties: Complexity of middleware solutions Rapid development of the industry 14 7

Software Architecture Research challenge: Specify / reason on non-functional characteristics of SW architecture Speculative Examples: Performance and Scalability: Queing Theory and Markov Models? Security: Deontic Logic? Coordination: Process algebra? 15 Design Reflection makes various aspects of distribution visible to distributed systems engineers We need design notations, methods and tools that can express concerns such as application-level transport protocols replication strategies scheduling policies location-awareness 16 8

Conclusions Middleware solutions assist in building complex distributed systems right now Middleware research results will extend that support in the future Potential synergies between software engineering middleware research: SE community needs to build on middleware and support requirements, architecture, design and test stages of the distributed systems life cycle 17 Further Information http://www.distributed-objects.com http://www.omg.org http://www.msn.com http://www.cetus-links.org 18 9