L6 - March 1, 2006copyright Thomas Pole 2003-2006, all rights reserved 1 Lecture 7: Dynamically Integrable Autonomously Executable Components and Text.

Slides:



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

COM vs. CORBA.
Chapter 13 Review Questions
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Software Architectural Design Software Components Instructor Dr. Lawrence Chung.
Remote Procedure Call (RPC)
Chapter 22 UML Tooks and UML as Blueprint Model-Driven Architecture (MDA) Object-Constraint Language (OCL)
Object Oriented Paradigm An evolutionary path. Programming At Its Infancy A program is a single block of procedural code Disadvantages: Reusability is.
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.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
Course Instructor: Aisha Azeem
Collaborative Systems Developing Collaborative Systems with a Reuse Driven Process.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Lecture # 1 - September 7, 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.
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.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Software Engineering CS3003 Lecture 3 Software maintenance and evolution.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Lecture 15 Introduction to Web Services Web Service Applications.
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.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
January 25, 2006copyright Thomas Pole , all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by.
ARCH-4: The Presentation Layer in the OpenEdge® Reference Architecture Frank Beusenberg Senior Technical Consultant.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
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)
Service Layers Service Oriented Architecture Johns-Hopkins University Montgomery County Center, Spring 2009 Session 6, Lecture 6: March 4, 2009.
L9 - April 5, 2006copyright Thomas Pole , all rights reserved 1 Lecture 9: Reuse Driven Processes and Text Ch. 7: Programming with Models.
1 UNIT –II Architecting Web Service. 2 Why SOA? – business point of view  Information Technology (IT) workers face many challenges, including: Limited.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
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.
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
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.
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.
Collaborative Systems Developing Collaborative Systems with a Reuse Driven Process.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools Jack Greenfield Architect Enterprise Tools Microsoft Corporation.
L5 - February 22, 2006copyright Thomas Pole , all rights reserved 1 Lecture 5: Graphically Based Code Generation and Text Chapter 4: Paradigm.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Java Distributed Computing
CSE791 - Distributed Objects, Spring 2002
CompSci 280 S Introduction to Software Development
CSE775 - Distributed Objects, Spring 2006
Common object request broker
Software Factories - Today and Tomorrow
An Introduction to Software Factories
Designing Software for Ease of Extension and Contraction
Krishnakumar Balasubramanian
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Interpreter Style Examples
A Pattern Language for Software Architecture
Component--based development
Chapter 5 Architectural Design.
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.
Open API and Open Architecture Working Group (OA2-WG) *DRAFT*
CORBA and COM TIP Two practical techniques for object composition
Presentation transcript:

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 7: Dynamically Integrable Autonomously Executable Components and Text Ch. 5: Software Factories, Part II

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 2 Agenda Review Reverse-Quiz #2: Questions Ch 4: “Paradigm Shift” Lecture: Dynamically Integrable Autonomously Executable Components Pre-Mid-Term Review Text: Chapter 5: “Software Factories Exercise #2 review. –As Time Permits Q&A

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 3 Questions and Answers Reverse Quiz #2 Review –As of Monday evening I hadn’t received any questions –I’d like to give you the answers, but I have to get the questions first. Ch 4: Questions from “Paradigm Shift”

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 4 Dynamically Integrable Autonomously Executable (DIAE) Components An extension of last week’s DI component discussion. –Need: a reusable software asset package that minimizes the impact of environmental changes: Programming language, re-compile/re-link dependencies, platform (OS and integration protocols) –Solution DIAE binary components

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 5 Autonomous Execution A problem remained, the component or object life cycle. –When components are built separately, not requiring the component itself, only its interface spec is needed to compile. which component must execute first? if distributed, can a component stop, restart and still integrate? 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 6 DIAE Advantages A component can be updated (bug fix or new feature) and the user (client) doesn’t need to be updated or recompiled. Failover, a component that stops running (server goes down, run time error, etc), can be restarted, and in most cases the user continues running. Multiple copies of a component can be used to improve throughput.

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 7 DIAE Implementations: CORBA and DCOM 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. 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 8 Break 15 minutes Next: –Pre-Mid-Term Review –Text: “Software Factories” –Exercise #2 Review – as time permits. –Questions?

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 9 Pre-Mid-Term Review Material will be covered in class Lectures 1 through 7 Chapters 1 through 4 –We will also cover Chapter 5 in the Mid-Term Chapter 5: Software Factories

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 10 Ch. 5: Software Factories - 1 Industrialization of Software Development –Economics of Reuse versus Economy of scale –Systematic Software Reuse –Integrating the Critical Innovations –Software Factory, what is it? Factory Schemas –Viewpoints Factory Templates Building a Factory versus Building a Product –Example

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 11 Ch 5: Software Factories – 2 Implications of Software Factories –Developing by Assembly –Software Supply Chains –Domain Specific Assets –Organizational Changes –Mass Customization Realizing the Software Factory Vision

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 12 Ex. 2 Review Reusable Asset Design We’ll review your solutions. Mastering the first two exercises is not a pre-requisite for the mid-term, however… –The exercises cover two main skills: Performing Commonality Variability Analysis Capturing Variation Points and Variants –You will need to know the definitions for the mid term. –You will need to be able to tell variation points from variants, and commonalities from variabilities.

L6 - March 1, 2006copyright Thomas Pole , all rights reserved 13 Questions? Read the introduction through chapter 6, “Models and Patterns” for next week. Mid Term will be in class, open text, open notes. –I will accept questions on Mid Term material, but can not guarantee answering before Wednesday unless I receive those questions before 5:00 PM Monday.