A Strategic Comparison of Component Standards

Similar documents
Appendix A - Glossary(of OO software term s)

RIKA: Component Architectures

Distributed Middleware. Distributed Objects

Software Components and Distributed Systems

(D)COM Microsoft s response to CORBA. Alessandro RISSO - PS/CO

1.264 Lecture 16. Legacy Middleware

Distributed Objects. Object-Oriented Application Development

Distributed Technologies - overview & GIPSY Communication Procedure

Component models. Page 1

Chapter 16. Layering a computing infrastructure

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

CORBA and COM TIP. Two practical techniques for object composition. X LIU, School of Computing, Napier University

The Jini Architecture Bruno Souza Java Technologist, Sun Microsystems

Today: Distributed Objects. Distributed Objects

Introduction to Web Services & SOA

JavaOne Topics. Keynotes Talks overview Interoperability, jini Real-time and Embedded XML and Java Cool Recommendations

Electronic Payment Systems (1) E-cash

Introduction to Web Services & SOA

Object-Oriented Middleware for Distributed Systems

CICS and the Web: Web-enable your CICS Applications

Application Servers in E-Commerce Applications

Outline. COM overview. DCOM overview. Comparison DCOM and Corba

Oracle Tuxedo. CORBA Technical Articles 11g Release 1 ( ) March 2010

Application Servers G Session 5 - Main Theme Object Management Architectures. Dr. Jean-Claude Franchitti

Distributed Object Bridges and Java-based Object Mediator

Java Beans Component APIs for Java. Graham Hamilton JavaSoft


COMPONENT BASED TECHNOLOGY (IT-1401)

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

JAYARAM. COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli (An approved by AICTE and Affiliated to Anna University)

Distributed Computing

The Umbilical Cord And Alphabet Soup

What we need. Agenda. What s J2EE. Challenges of Enterprise Application Development

JavaPolis 2004 Access Control Architectures: COM+ vs. EJB

Chapter 3 Introduction to Distributed Objects

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services

CORBA (Common Object Request Broker Architecture)

Distributed Programming with RMI. Overview CORBA DCOM. Prepared By: Shiba R. Tamrakar

Introduction to componentbased software development

Trading Services for Distributed Enterprise Communications. Dr. Jean-Claude Franchitti. Presentation Agenda

WHITESTEIN. Agents in a J2EE World. Technologies. Stefan Brantschen. All rights reserved.

Service Oriented Architectures Visions Concepts Reality

Computer and Automation Research Institute Hungarian Academy of Sciences. Jini and the Grid. P. Kacsuk

Page 1. Extreme Java G Session 8 - Sub-Topic 2 OMA Trading Services

Module 1 - Distributed System Architectures & Models

Interoperability of Java-Based Applications and SAP s Business Framework State of the Art and Desirable Developments

CHAPTER 7 COM and.net

Application Servers G Session 11 - Sub-Topic 2 Using Enterprise JavaBeans. Dr. Jean-Claude Franchitti

Introduction. Chapter 1:

Chapter 10 Web-based Information Systems

Java Programming With CORBA (OMG) By Keith Duddy, Andreas Vogel

CPE731 Middleware for Distributed Systems

CS612: IT Technology and Course Overview

Client/Server-Architecture

Highlighting Intrinsyc s Technologies: Intrinsyc J-Integra Bi-Directional Pure Java-COM Bridge

IIOP: Internet Inter-ORB Protocol Make your code accessible even in future, with the next universal protocol

History of Enterprise Java

INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV

P-NET Management with Java based Components

Introduction to Programming

A short introduction to Web Services

Inheritance (Chapter 7)

Lecture 5: Object Interaction: RMI and RPC

Selecting Enterprise JavaBeans Technology

Building Neural Network components

CORBA vs. DCOM. Master s Thesis in Computer Science

Limitations of Object-Based Middleware. Components in CORBA. The CORBA Component Model. CORBA Component

BeanBag. An Extensible Framework. for Describing, Storing. and Querying Components

Introduction and Overview Socket Programming Lower-level stuff Higher-level interfaces Security. Network Programming. Samuli Sorvakko/Nixu Oy

Introduction and Overview Socket Programming Higher-level interfaces Final thoughts. Network Programming. Samuli Sorvakko/Nixu Oy

DCOM CORBA EJB DCOM CORBA CORBA EJB DCOM EJB

Irbid National University, Irbid, Jordan. 1. The concept of distributed corporate systems

A Tutorial on The Jini Technology

CHARLES UNIVERSITY, PRAGUE FACULTY OF MATHEMATICS AND PHYSICS. Master Thesis. Michael Cífka Visual Development of Software Components

Chapter 2 FEATURES AND FACILITIES. SYS-ED/ Computer Education Techniques, Inc.

COMPARATIVE STUDY OF TECHNOLOGIES RELATED TO COMPONENT-BASED APPLICATIONS BASED ON THEIR RESPONSE TIME PERFORMANCE

Erik Dörnenburg JAOO 2003

Quality Prediction for Component-Based Software Development: Techniques and A Generic Environment

Distributed Systems. Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1

POAD Book: Chapter 4: Design Patterns as Components Chapter 5: Visual Design Models

Constructing distributed applications using Xbeans

Mohsin Qasim Syed Abbas Ali

Introduction and Overview Socket Programming Higher-level interfaces Final thoughts. Network Programming. Samuli Sorvakko/Nixu Oy

COM+ OVERVIEW OF MICROSOFTS COM, DCOM AND COM+ COMPONENT TECHNOLOGIES DCOM - COM+ Peter R. Egli peteregli.net. peteregli.net. 1/20 Rev. 1.

Introduction. A. Bellaachia Page: 1

SAP Automation (BC-FES-AIT)

Distributed Systems Principles and Paradigms

Advanced Object-Oriented Programming Introduction to OOP and Java

NetBeans IDE Field Guide

Incorporating applications to a Service Oriented Architecture

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

Object Security. Model Driven Security. Ulrich Lang, Rudolf Schreiner. Protection of Resources in Complex Distributed Systems

09. Component-Level Design

SUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version :

Borland AppServer. Borland

Building the Enterprise

1 PROGRAMMING LANGUAGE INTEROPERABILITY IN DISTRIBUTED COMPUTING ENVIRONMENTS

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java

Connecting ESRI to Anything: EAI Solutions

Transcription:

A Strategic Comparison of Component Standards Prof. Dr. Wolfgang Pree Department of Computer Science cs.uni-salzburg.at Copyright Wolfgang Pree, All Rights Reserved

Contents What is a component? COM :: Java :: Corba Visions 2

What is a component? 3

Remember: What is missing in OO? visual/interactive configuration interoperability 4

What is a component? Not yet clearly defined Is everything a component? macros, mixins, functions, procedures, modules, classes, etc. Conventional, heavy-weight components: operating systems database systems 5

Our definition of the term (software) component A piece of software with a programming interface 6

Wiring standards (I) Interoperability problem: ST Java => wiring standards C++ C 7

Wiring standards (II) Product-driven definition Microsoft s Component Object Model (COM) evolutionary / incrementally originally targeted at the desktop => had to be extended for Internet/Intranet and Enterprise Computing carries some legacy de facto standardization through the market dominance of Microsoft 8

Wiring standards (III) Consortium standardization (OMG) CORBA slow progress (compared to COM and SunSoft s JavaBeans) JavaBeans based on 100% pure Java standards for integrating other components are under development(ejb, ÆCORBA 9

CORBA model of distributed applications main-prg. MOfB(p2) Dyn. Inv. Int. (B s Interface) MOfA(p1) Proxy B Proxy A IR Proxy IR Disp. Impl. Rep. A B C... (D)SOM, Distributed COM RMI OS Client ORB Core, IBM DSOM ObjMgr RMI OS Netz Server 10

Characteristics of components Information Hiding interface described in IDL implementation in any language (Java, ST, C++, C,...) components as binary units (machine-independent byte code is also OK) components can be made persistent 11

Component = Class? Usually, a component (large-grained component) comprises a couple of classes (fine-grained components): client components 12

Beyond Wiring meta-level informationen components can ask others about offered features dynamic loading and linking semantic aspects CORBA: JavaBeans: COM: wiring meta-level (reflection), semantics; for pure Java wiring becomes irrelevant all three aspects 13

Characteristics of component standards 14

Component Object Model (I) COM concepts: interfaces and components (= COM classes) have a unique (128-Bit) ID each COM-Objekt can be asked, which features are supported: interface IUnknown; method QueryInterface 15

Component Object Model (II) A component can have any number of interfaces: Int1 Function1 ptr... FunctionN ptr Function1... FunctionN Int2 Int2 Functions Extension by adding interfaces; existing interfaces remain untouched. 16

JavaBeans Properties ( Setter/Getter methods) are defined interactively in a Beans environment: Events form the communication mechanism: Listener Source Listener Listener 17

Commonalities and differences 18

Commonalities OO (Information Hiding, late Binding, Subtyping) Compound Documents (original meaning of OLE, idea of OpenDoc) component transfer mechanism eg JAR files, COM Structured Storage coupling based on events meta-information persistence 19

Differences memory management binary standards development environments versioning application domains supported platforms and languages 20

Memory management COM: tedious reference counting; should be automated in COM+ Java: garbage collection; distributed GC not compatible to Java-CORBA integration CORBA: no general solution 21

Binary standards core aspect of COM in Java: byte code; partially through Java Native Interface (JNI) CORBA provides no binary standard (compatibility based on language bindings) 22

Development environments COM: solid environments Java/JavaBeans: have to grow up CORBA: quite unsatisfying 23

Versioning COM: solved via freezing of interfaces Java: based on binary compatibility; tedious rules CORBA: not directly supported; unsatisfying version numbers 24

Applications COM: focus on the desktop Java: focus on the Web CORBA: focus on server/enterprise Computing DCOM and EJB aim at server/enterprise Computing ActiveX-components for Windows-Web-Clients 25

Languages and platforms (I) COM: Due to the binary standard, almost any language can be supported efficiently on any platform (DCOM): Visual Basic, C, C++, C#, Java, Smalltalk, Object Pascal, Lightning Oberon, Object Cobol, ML, etc. Java: binary standard based on Java byte code + platform independent (VM per platform) too much biased towards Java not well suited for Ada95, REXX, Oberon; impossible for C++ 26

Languages and platforms (II) CORBA: ORB developers have to provide language bindings for particular languages Thus, only a few languages are supported: C++, (Smalltalk), Java 27

Visions 28

Filling the gap Mega components (SAP, DB systems, operating systems) only a few medium-sized components exist so far very small components (GUI components, etc.) 29

Mechanistic view Currently software components assembly requires exact matching of interfaces: 30

Adaptive architectures Alternative: components configure themselves automatically through testing & fitting.? Sources of inspiration: Sun s Jini, Microsoft s.net agent technology ontologies 31