1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.

Slides:



Advertisements
Similar presentations
COM vs. CORBA.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Object-Oriented Analysis and Design
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
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.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 16 Object Oriented Design 2.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 16 Object Oriented Design 2.
A First Java ORB Application 1  Object Request Broker (ORB)  This is the object manager in CORBA  Mechanisms for specifying interfaces  Interface Definition.
II. Middleware for Distributed Systems
Introduction to CORBA Organizational Communications and Technologies Prithvi N. Rao H. John Heinz III School of Public Policy and Management Carnegie.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
CS CS 5150 Software Engineering Lecture 16 Object Oriented Design 2.
Copyright © 2003 ProsoftTraining. All rights reserved. Distributed Object Computing Using Java and CORBA.
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.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
1 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
Distributed Systems Architectures
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
CS 501: Software Engineering Fall 1999 Lecture 18 (a) Project Reports (b) Object-Oriented Design III.
Unified Modeling Language, Version 2.0
CS CS 5150 Software Engineering Lecture 17 Object Oriented Design 3.
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
1 Distributed Systems Distributed Objects & Remote Invocation II (CORBA VS DCOM) Dr. Sunny Jeong. With Thanks to.
Information Management NTU Interprocess Communication and Middleware.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 17 Object Oriented Design 3.
Abhishek Bachchan Vishal Patangia
CORBA IS 8030 – Integrated Computing Environments Dr. Hoganson CORBA Common Object Request Broker Architecture Published by Object Management Group (OMG)
CORBA/IDL Common Object Resource Broker Architecture (CORBA) Interface Definition Language (IDL) Object Management Group (OMG) ( Specification.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
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.
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.
The World Leader in Making Software Work Together ™ Copyright IONA Technologies 1999 Building CORBA Applications (On OS/390 ?) Dusty Rivers Enterprise.
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.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Tom Meyer, Iowa State SCT/Pixel Online Workshop June, 2001 CORBA Common Object Request Broker Architecture.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
Basic Characteristics of Object-Oriented Systems
Legacy Systems and Software Reuse CS 560. Economics Software is expensive.  Most software development makes extensive use of existing software.  Developers.
Topic 5: CORBA RMI Dr. Ayman Srour
CS 501: Software Engineering Fall 1999 Lecture 22 (a) Managing the Software Process (b) Software Reuse.
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.
Systems Analysis and Design With UML 2
Systems Analysis and Design With UML 2
Distribution and components
Ch > 28.4.
Inventory of Distributed Computing Concepts and Web services
Quality Assurance for Component-Based Software Development
Copyright 1999 B.Ramamurthy
Presentation transcript:

1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III

2 CS 501 Spring 2002 Administration

3 CS 501 Spring 2002 Software Reuse: Application Packages Package supports a standard application (e.g., payroll, user interface to Internet information, mathematical algorithms) Functionality can be enhanced by: => configuration parameters (e.g., table driven) => extensibility at defined interfaces => custom written source code extensions

4 CS 501 Spring 2002 Reuse: Object Oriented Software Engineering Example: Java is a relatively straightforward language with a very rich set of class hierarchies. Java programs derive much of their functionality from standard classes Learning and understanding the classes is difficult. => Java experts can write complex systems quickly => Inexperienced Java programmers write inelegant and buggy programs

5 CS 501 Spring 2002 Reuse: Objects - Basic Definitions An object is a piece of code that owns attributes and provides services through methods. The methods operate on instance data owned by the object. A class is a collection of like objects.

6 CS 501 Spring 2002 Reuse: Objects - Characteristics Encapsulation. An object has a public interface that defines how other objects or applications can interact with it. methods public instance data Inheritance. Subclasses can be derived from parent classes. They inherit or override the parents' methods and instance data. Polymorphism. The effect of a method can vary depending on the class that implements it (e.g., display_object)

7 CS 501 Spring 2002 Reuse: Objects - Object Binding Binding is the linking of the software interface between two objects. Static binding: The interface is determined at compile or build time. Straightforward Allows type checking Dynamic binding or late binding: The link is established at run time. Flexible and extensible Complex

8 CS 501 Spring 2002 Reuse: Objects - Distributed Objects Objects on separate computers interact through method calls and instance data. Major systems: CORBA (Common Object Request Broker Architecture) Microsoft family: OLE, COM, DCOM, Active X,.net

9 CS 501 Spring 2002 Desirable Properties of Distributed Objects Different languages and operating environments Reusable code: components Architecture can be extensible Future changes can be localized Standard tools used for client/server interactions

10 CS 501 Spring 2002 Object Request Broker (ORB) Objects C C++ Java Other Cobol IDL ClientServer IDL Object Request Broker Interface

11 CS 501 Spring 2002 Example: Fedora IDL A research project to explore extensibility: -- very simple Interface Definition Language -- powerful tools for extensions -- interoperability experiments, Cornell and CNRI

12 CS 501 Spring 2002 Interface Definition Language module { ; interface [: ] { See next slide } interface [: ] {..... } { Naming context Define a class

13 CS 501 Spring 2002 Interface Definition Language (continued) interface [: ] { ; [ ( ) [raises exception] [context];.... [ ( ) [raises exception] [context];.... } Define a class Define a method

14 CS 501 Spring 2002 ORB: Programmer's View Object Request Broker Invoke a on object X Invoke a on object Y Object X a Object Y a ClientServer

15 CS 501 Spring 2002 Object Request Broker (ORB) An ORB lets objects make requests to and receive responses from other objects located locally or remotely. Static and dynamic method invocations High-level language bindings Self-describing system Local/remote transparency Inter-ORB protocols Internet Inter-ORB Protocol (IIOP)

16 CS 501 Spring 2002 ORB: System View Object Request Broker Interface repository Dynamic invocation Client IDL stubs ORB interface Implementation repository Static skeletons Dynamic invocation Object adapter Client Object implementation

17 CS 501 Spring 2002 CORBA Services Naming service Event service Concurrency control service Transaction service Relationship service Externalization service Query service Life cycle service Persistence service Licensing service Properties service Security service Time service

18 CS 501 Spring 2002 Distributed Objects and the System Life-Cycle All large systems change with time. Dynamic binding of objects combined with polymorphism permits the addition of extra object types, incremental changes, etc. to be localized. Development environments change with time. Language bindings and IIOP permit changes. Production environments changes with time. Code can be reused in different environments.

19 CS 501 Spring 2002 Discussion of Pfleeger, Chapter 6 Format: State a question. Ask a member of the class to answer. (Sorry if I pronounce your name wrongly.) Provide opportunity for others to comment. When answering: Stand up. Give your name or NetID. Make sure the TA hears it. Speak clearly so that all the class can hear.

20 CS 501 Spring 2002 Question 1: Class boxes Here is a UML class box. Explain the three sections of this box. Bill Issue_date: Date price() taxes() add_bill (customer, amount)

21 CS 501 Spring 2002 Question 2: Packages Turn to Figure 6.18 on page 281. (a) What is the purpose of a package diagram? (b) Why do you think that some, but not all, of the lines have arrows? (c) What is the significance of the numbers on the line between the Parking and Parking Spaces classes?

22 CS 501 Spring 2002 Question 3: Use cases (a) What is a Use Case? (b) What is an extension to a Use Case? (c) At what stage of the Waterfall Model would you make use of Use Cases? (d) What have Use Cases to do with Object Oriented Design?

23 CS 501 Spring 2002 Question 4: A UML Diagram Explain the following diagram BookBorrower libMem: LibraryMember theCopy:Copy theBook:Book borrow(theCopy) okToBorrow borrow