P SATel Institute for Information Processing University of Pisa SantAnna school Pisa Today trends in Software Engineering 1. Distributed Objects 2. Component.

Slides:



Advertisements
Similar presentations
Distributed Systems Architectures
Advertisements

January 30, 2014 Copyright Jim Farley Beyond JDBC: Java Object- Relational Mappings Jim Farley e-Commerce Program Manager GE Research and Development
Components Alexey Golubev, What is a component? What is a component? The father of components? The father of components? Components and their.
COM vs. CORBA.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 3 – Building.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Technical Architectures
Distributed Systems Architectures
CBSD – Component Based Software Development - Introduction -
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Chapter 13 Physical Architecture Layer Design
Terminal Bridge Extension Over Distributed Architecture MSc. Sami Saalasti.
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
Component Based Systems Analysis Introduction. Why Components? t Development alternatives: –In-house software –Standard packages –Components 60% of the.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Component Technology objects versus components -- definitions interoperability.
CS6320 – J2EE L. Grewe MOTIVATION: E-commerce and Enterprise Computing Models Four models for e-commerce and enterprise computing: Four models for e-commerce.
Component Based Software Development with Java Andrew K Lui School of Science and Technology Open University of Hong Kong.
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
Component Software: A New Software Engineering Course H. Conrad Cunningham, Yi Liu, Pallavi Tadepalli, and Mingxian Fu Software Architecture Research Group.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
Middleware-Based OS Distributed OS Networked OS 1MEIT Application Distributed Operating System Services Application Network OS.
1 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 13: Physical Architecture Layer Design Alan Dennis,
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Wireless Access and Terminal Mobility in CORBA Dimple Kaul, Arundhati Kogekar, Stoyan Paunov.
Slide 1 Physical Architecture Layer Design Chapter 13.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Service Oriented Architectures Presentation By: Clifton Sweeney November 3 rd 2008.
SE-02 COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require.
CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Notes from Coulouris 5Ed Distributed Systems Notes on Components.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Introduction to business component technologies. Component definitions Szyperski: A software component is a unit of composition with contractually specified.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 7: Dynamically Integrable Autonomously Executable Components and Text.
Enterprise Computing Distribution and components.
Creating competitive advantage Copyright © 2003 Enterprise Java Beans Presenter: Wickramanayake HMKSK Version:0.1 Last Updated:
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 Distributed Systems Architectures l Architectural design for software that executes on more than one.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Chapter 12: Architecture
Netscape Application Server
Common object request broker
Distribution and components
Systems Analysis and Design With UML 2
Introduction to J2EE Architecture
Inventory of Distributed Computing Concepts and Web services
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Inventory of Distributed Computing Concepts
Component--based development
Chapter 12: Physical Architecture Layer Design
Component-based Applications
ISpec: A Compositional Approach to Interface Specification
Component Technology Bina Ramamurthy 2/25/2019 B.Ramamurthy.
Quality Assurance for Component-Based Software Development
Presentation transcript:

P SATel Institute for Information Processing University of Pisa SantAnna school Pisa Today trends in Software Engineering 1. Distributed Objects 2. Component Software The applications consist of multiple objects that can be physically dispersed across the network. The applications are formed by the integration of multiple pieces, that can be developed separately and by different people. 1 Roma, 22 novembre

P SATel Distributed Objects 2 State of the practice middleware: Corba (OMG) JavaRMI (Sun) DCOM (Microsoft) Object Request Broker (ORB) Object Services Client ObjectsServer Objects Basic distributed-objects model Roma, 22 novembre

P SATel Why to use Component Software? 3 Roma, 22 novembre Building from scratch large software systems requires enormous financial and time resources It is difficult to obtain high reliability Why not to use components? Basically reusing components requires less time in all phases of software production (then lower costs) Components simplify update Three new roles in software production: 1.Components architect 2.Components developer 3.Components assembler More specialization then better quality

P SATel Component Software 4 What is a software component? A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third parties C. Szyperski Roma, 22 novembre Goal, plug-&-play software but It is difficult to associate the semantic to a Component

P SATel Component Software remarks 5 Roma, 22 novembre Component is not Object!! 1. A Component: is a unit of independent deployment is a unit of third-party composition has no persistent state 2. An Object: is a unit of instantiation; it has a unique identity has a state; this state can be a persistent state encapsulates its state and behaviour Note: Inherent contractual nature of a component Also QoS is important in Component specification

P SATel Middleware in Client/Server Computing 6 Three-tier & n-tier Client/Server Roma, 22 novembre Presentation Layer Processing Layer Data Layer Distributed objects and Components in Client/Server Computing Component model for server side: J2EE - EJB (Sun).Net (Microsoft) CORBA Component Model

P SATel Reliability of Component technology 7 Roma, 22 novembre Ariane 5 exploded during the maiden voyage! Q: Which was the problem? R: No retested software component from Ariane 4 Is it necessary to retest a software component, or the reuse of already tested components guarantees per se reliability? Generally testing is driven by domain use In component technology it is impossibile to know, in advance, all applications domains Then: Customer must consider retesting of components Components must be realized with reuse in mind

P SATel Proposed solutions for reliable reuse 8 Roma, 22 novembre Design by Contract Certification Built-in test Additional information enclosed with the component Information carried by the interface are inadeguate for reuse!! (lacking in semantic) Proposed solution for more reliable reuse:

P SATel Can Monitoring be useful in Component Technology? 9 Roma, 22 novembre Components are extensively instrumented, from vendors, with control obtained from specifications Customers formalize the requirements from the specification for each component New approach: to insert thread monitor Performance?? We can introduce severity levels with assertions and then monitoring levels When components reach sufficient reliability we can reduce the monitoring level