Component--based development

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

Web Service Architecture
COM vs. CORBA.
CORBA - Common Object Request Broker Architecture.
Component-based Software Engineering Marcello Bonsangue LIACS – Leiden University Fall 2005 Component Model Comparison.
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
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.
Middleware Technologies compiled by: Thomas M. Cosley.
- 1 - Component Based Development R&D SDM Theo Schouten.
Communication in Distributed Systems –Part 2
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
Common Object Request Broker Architecture (CORBA) CS-328.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 1.
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.
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
©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.
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
1 Distributed Systems Distributed Objects & Remote Invocation II (CORBA VS DCOM) Dr. Sunny Jeong. With Thanks to.
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.
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.
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
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.
Common Object Request Broker Architecture (CORBA) The Common Object Request Broker Architecture (CORBA) is a specification of a standard architecture for.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
CS551 - Lecture 11 1 CS551 Object Oriented Middleware (III) (Chap. 5 of EDO) Yugi Lee STB #555 (816)
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
Notes from Coulouris 5Ed Distributed Systems Notes on Components.
CBSE Component Based Software Engineering cs. upt
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Component-based Software Engineering CBSE seminar, Oslo, 4 Feb Christian Bunse
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Java Distributed Computing
Chapter 17 - Component-based software engineering
Common Object Request Broker Architecture (CORBA)
Java Distributed Computing
Common object request broker
CORBA Alegria Baquero.
Design and Implementation
Introduction to J2EE Architecture
CORBA Within the OS & Its Implementation
Ch > 28.4.
Inventory of Distributed Computing Concepts and Web services
CSE 451: Operating Systems Winter 2006 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Interpreter Style Examples
Introduction to Enterprise JavaBean
CORBA Alegria Baquero.
Component-Based Software Engineering
CSE 451: Operating Systems Autumn 2003 Lecture 16 RPC
Inventory of Distributed Computing Concepts
CSE 451: Operating Systems Winter 2007 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Chapter 7 –Implementation Issues
CSE 451: Operating Systems Winter 2004 Module 19 Remote Procedure Call (RPC) Ed Lazowska Allen Center
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.
Middleware and ORB CS 314 Operating Systems
CSE 451: Operating Systems Winter 2003 Lecture 16 RPC
Copyright 1999 B.Ramamurthy
CSE 451: Operating Systems Messaging and Remote Procedure Call (RPC)
CORBA and COM TIP Two practical techniques for object composition
Presentation transcript:

Component--based development

Component--based development Component--based software engineering (CBSE) is an approach to software development that relies on software reuse. It emerged from the failure of object--oriented development to support effective reuse. Single object classes are too detailed and specific. Components are more abstract than object classes and can be considered to be stand--alone service providers. Independent components specified by their interfaces. Component standards to facilitate component integration. Middleware that provides support for component inter--operability. A development process that is geared to reuse.

Definitions: •• A software component is a software element that conforms to a component model and can be independently deployed and composed without modification according to a composition standard. •• A software component is a unit of composition with contractually 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.

Component models A component model is a definition of standards for component implementation, documentation and deployment. Examples of component models EJB model (Enterprise Java Beans) COM+ model (.NET model) Corba Component Mode

Common Object Request Broker Architecture (CORBA) The Common Object Request Broker Architecture (CORBA) is a specification of a standard architecture for middleware. Using a CORBA implementation, a client can transparently invoke a method on a server object, which can be on the same machine or across a network.

The middleware takes the call, and is responsible for finding an object that can implement the request, passing it the parameters, invoking its method, and returning the results of the invocation. The client does not have to be aware of where the object is located, its programming language, its operating system or any other aspects that are not part of an object’s interface.

CORBA reference model The CORBA reference model called Object Management Architecture (OMA ) The OMA is itself a specification (actually, a collection of related specifications) that defines a broad range of services for building distributed client-server applications.

Functions of Object Request Broker (ORB) ORB is the central component of the CORBA architecture. The main responsibility of ORB is to transmit the client request to the server and get the response back to the client. ORB abstracts out many procedures involved in service invocation and makes service invocation by client seamless and easy. The main responsibilities of ORB are the following: • Server location • Server state management • Communication between clients and servers

The ORB must support a large number of functions in order to operate consistently and effectively. The ORB implements much of these functionality as pluggable modules to simplify the design and implementation of ORB and to make it efficient. ORB allows objects to hide their implementation details from clients. This can include programming language, operating system, host hardware, and object location.

Commercial ORBs There are several ORBs that are commercially available. • Visigenic: This is probably most popular one. Netscape browser supports Visigenic. CORBA applications can be run using Netscape web browser. In other words, Netscape browser can act as client for CORBA applications. Netscape is extremely popular and there are several millions of copies installed on desktops across the world. • IONa • Orbix • Java IDL

Component Object Model (COM) The main idea in the Component Object Model (COM) is that: • Different vendors can sell binary components. • Application can be developed by integrating off-the-shelf and proprietary components. COM runs on a single computer. The concepts used are very similar to CORBA. The components are known as binary objects.

Distributed Component Object Model (DCOM) Distributed Component Object Model (DCOM) is the extension of the Component Object Model (COM). The restriction that clients and servers reside in the same computer is released here. So, DCOM and CORBA both operate on networked computers. Here development is much easier as compared to CORBA development. Many of the things are transparent to the programmer such as proxy generation, service invocation etc.

CORBA vs. COM/DCOM If it is the case that all applications reside on PCs and are to run fully on Microsoft platforms then it will be better to use COM/DCOM because development would be much easier here. • If an application is to be developed for a heterogeneous environment then it will be better to use CORBA. • Microsoft is very strong on desktop applications i.e. GUI-based applications. Whereas, CORBA-based development is stronger on server side. Java Beans promise to overcome the shortcoming on desktop side i.e. the client part.