L6 - March 1, 2006copyright Thomas Pole 2003-2006, all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.

Slides:



Advertisements
Similar presentations
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Advertisements

COM vs. CORBA.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Component-based Software Engineering Marcello Bonsangue LIACS – Leiden University Fall 2005 Component Model Comparison.
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
Distributed Systems Architectures
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Course Instructor: Aisha Azeem
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Lecture # 1 - September 7, 2004.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2004 Session 6 Lecture # 5 – October 12, 2004.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
ASP.NET The.NET Framework. The.NET Framework is Microsoft’s distributed run-time environment for creating, deploying, and using applications over the.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Lecture 15 Introduction to Web Services Web Service Applications.
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
January 25, 2006copyright Thomas Pole , all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by.
L10 - April 12, 2006copyright Thomas Pole , all rights reserved 1 Lecture 10: Software Assets and Text: Ch. 8: Language Anatomy and Ch 9: Families.
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.
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
Software Engineering, Lecture 4 Mohamed Elshaikh.
L9 - April 5, 2006copyright Thomas Pole , all rights reserved 1 Lecture 9: Reuse Driven Processes and Text Ch. 7: Programming with Models.
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.
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #23.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
CORBA (Common Object Request Broker Architechture) Aniket Prabhune Varun Saini Balaprasuna Chennupati Lally Singh.
February 8, 2006copyright Thomas Pole , all rights reserved 1 Lecture 3: Reusable Software Packaging: Source Code and Text Chapter 2: Dealing.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2004 Session 5 Lecture # 4 – October 5, 2004.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Session 4 Lecture # 3 - September 28, 2004.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 7: Dynamically Integrable Autonomously Executable Components and Text.
Lecture 21: Component-Based Software Engineering
Introduction to Service Orientation MIS 181.9: Service Oriented Architecture 2 nd Semester,
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
L5 - February 22, 2006copyright Thomas Pole , all rights reserved 1 Lecture 5: Graphically Based Code Generation and Text Chapter 4: Paradigm.
1/30/2003 Los Alamos National Laboratory1 A Migration Framework for Legacy Scientific Applications  Current tendency: monolithic architectures large,
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Java Distributed Computing
CSE791 - Distributed Objects, Spring 2002
CSE775 - Distributed Objects, Spring 2006
Ch > 28.4.
Inventory of Distributed Computing Concepts and Web services
Service-centric Software Engineering
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Interpreter Style Examples
Component-Based Software Engineering
Lecture 1: Multi-tier Architecture Overview
Component--based development
Quality Assurance for Component-Based Software Development
COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require understanding.
Presentation transcript:

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch. 4: Paradigm Shift, Part II Ch. 5: Software Factories, Part I

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 2 Agenda Review Reverse-Quiz #1: Questions Ch 4: Paradigm Shift, through page 124 Lecture: Dynamically Integrable Components Text: “Software Factories” –part 2: Critical Innovations Text: Chapter 5: “Software Factories part 1 –Paradigm Shift Exercise #2 review. Q&A

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 3 Questions and Answers Reverse Quiz #1 Review –Answers are available on the web site. Ch 4: Questions from “Paradigm Shift”, part I

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 4 Lecture 6: Dynamically Integrable Components The problem to be solved History of the solution space The Dynamically Integrable Component –The design –Implementation Examples –Remaining problems –Complete Solution

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 5 Component Based Software Engineering Component-based Software Engineering (CBSE) is concerned with the development of software intensive systems from reusable parts (components), the development of reusable parts, and system maintenance and improvement by means of component replacement and customization. From the Sigsoft Symposium CBSE 2005 Call for Papers The problem to be solved: –A packaging mechanism to support the assembly of components which minimizes the effort to “glue” components together as independent as possible of programming language, operating system, etc.

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 6 History of the Solution Space Language Specific, operating system specific components –Intermediate forms, object code Language Independent, operating system specific components –Shared Libraries (Unix) –Dynamic Link Libraries (Windows DLLs)

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 7 Dynamically Integrable Components DI Concept, the mechanism for DI assembly Design –A generic design for DI Components Implementation Examples –Integration Protocols Remaining Problems A More Complete Solution –Autonomous Execution

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 8 DI Concept: The Mechanism Requirements, Design and Specification –Capture the interface contract in a programming language specific form. (IDL) Component Creation –Compile, Link and Deploy Reusable Components independently of their Consumers Application Creation –Create application without requiring the reusable component. –Application integration points are defined by IDL

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 9 DI Component Design Independence of Programming Language –Separation of Interface and Implementation languages. –Interface Definition Languages OMG IDL, Microsoft MIDL Independence of Operating System –Logical Machines span multiple physical machines, components on separate machines are semi-independent of the local OS.

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 10 DI Implementations: CORBA Object Management Group’s (OMG) Common Object Request Broker Architecture (CORBA) –CORBA Interface Definition Language –C++ like grammar –Explicit input, output, in/out parameters –User Defined types can be marshalled across CORBA component boundaries.

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 11 DI Implementations: DCOM Microsoft’s Distributed COM (DCOM) is COM “on a long wire” –Microsoft Interface Definition Language (MIDL) –Programming Language independent IDL –Explicit input, output, in/out parameters –C++ like grammar –Multiple interfaces per component

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 12 Autonomous Execution A problem remained, component or object life cycle. When components are built separately, not requiring the component but only its spec to be able to integrable with it, which component must execute first, which controls the others execution? Solution: Components execute autonomously A component (e.g. server) can run without a user (e.g. client)

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 13 Break 15 minutes Next: “Paradigm Shift” –part 2 Critical Innovations and “Software Factories” –Part 1

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 14 Text Book Ch 4: Paradigm Shift part 2 Ch 5: Software Factories part 1

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 15 Ex. 2 Review Reusable Asset Design Due tonight We’ll review the solutions next week

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 16 Questions? Read the introduction through chapter 6, “Models and Patterns” for next week.