객체지향시스템 연구실 SNU, OOPSLA Lab1 Chap 10. Standards in OO 서울대학교 컴퓨터공학과 객체지향시스템 연구실 SNU OOPSLA LAB 김 형 주 교수 u Object-orientation by Khoshafian and Abnous.

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.
Databases CIS 422. Lifetime of Data Transient results to the evaluations of expression Variables involved in procedure activation Global variables Dynamically.
Seminar „Web Services“
II. Middleware for Distributed Systems
ODMG Standard: Object Model1 OBJECT-ORIENTED DATABASE SYSTEMS ODMG Standard: Object Model Susan D. Urban and Suzanne W. Dietrich Department of Computer.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
CORBA - Common Object Request Broker Architecture.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
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)
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Middleware Technologies compiled by: Thomas M. Cosley.
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.
Object Oriented Databases - Overview
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Advanced Database CS-426 Week 2 – Logic Query Languages, Object Model.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
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.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
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 -
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11Slide 1 Chapter 11 Distributed Systems Architectures.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
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.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Introduction to COM and DCOM Organizational Communications and Technologies Prithvi N. Rao H. John Heinz III School of Public Policy and Management Carnegie.
1 Distributed Systems Distributed Objects & Remote Invocation II (CORBA VS DCOM) Dr. Sunny Jeong. With Thanks to.
Information Management NTU Interprocess Communication and Middleware.
Object_Oriented Databases, by Dr. Khalil 1 Object-Oriented DBMSs Dr. Awad Khalil Computer Science Department AUC.
E.Bertino, L.Matino Object-Oriented Database Systems 1 Chapter.1 Introduction Seoul National University Department. of Computer Engineering OOPSLA Lab.
Information System Development Courses Figure: ISD Course Structure.
CORBA IS 8030 – Integrated Computing Environments Dr. Hoganson CORBA Common Object Request Broker Architecture Published by Object Management Group (OMG)
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Distributed Object Frameworks DCE and CORBA. Distributed Computing Environment (DCE) Architecture proposed by OSF Goal: to standardize an open UNIX envt.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
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.
Electronic Payment Systems (1)
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.
Netprog: Corba Object Services1 CORBA 2.0 Object Services Ref: The Essential Distributed Objects Survival Guide: Orfali, Harky & Edwards.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
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.
Seminarium on Component-based Software Engineering Feraaz Imami LIACS – Leiden University Fall 2005 Component Object Model (COM)
Tom Meyer, Iowa State SCT/Pixel Online Workshop June, 2001 CORBA Common Object Request Broker Architecture.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
E.Bertino, L.Matino Object-Oriented Database Systems 1 Chapter 9. Systems Seoul National University Department of Computer Engineering OOPSLA Lab.
1 Distributed Programming low level: sending data among distributed computations higher level: supporting invocations among distributed computations network.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
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.
Ch > 28.4.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Inventory of Distributed Computing Concepts and Web services
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Inventory of Distributed Computing Concepts
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Introduction to Web Services
Quality Assurance for Component-Based Software Development
Copyright 1999 B.Ramamurthy
Presentation transcript:

객체지향시스템 연구실 SNU, OOPSLA Lab1 Chap 10. Standards in OO 서울대학교 컴퓨터공학과 객체지향시스템 연구실 SNU OOPSLA LAB 김 형 주 교수 u Object-orientation by Khoshafian and Abnous

객체지향시스템 연구실 SNU, OOPSLA Lab2 Contents 1. Introduction 2. Object Sharing and Interoperability 3. Understanding OMG 4. OLE 2 5. OpenDoc 6. ODMG Summary

객체지향시스템 연구실 SNU, OOPSLA Lab3 1. Introduction u Object sharing and interoperability u Same or different heterogeneous machine u OMG CORBA u MS OLE 2 u CILabs OpenDoc u Next Generation Databases u SQL3 u ODMG-93

객체지향시스템 연구실 SNU, OOPSLA Lab4 2. Object Sharing and Interoperability (1) u Component software u A reusable piece of s/w can be plugged into other components u Compound documents u Contain components pertaining to different applications u Located on physically distributed sites in a network u Figure 10.1 u graphics package, spreadshet, word processor, groupware u bitmap image, vector graphics, text, voice, video

객체지향시스템 연구실 SNU, OOPSLA Lab5 Object Sharing and Interoperability (2) u Standardization u MS OLE 2, CI Labs OpenDoc u Binary representation of the objects u Ability of components to be written in different languages u Microsoft Component Object Model (COM) u IBM System Object Model (SOM) u User interface standard u Interaction with the component document u Presentation, creation, menus, integration of parts

객체지향시스템 연구실 SNU, OOPSLA Lab6 Object Sharing and Interoperability (3) u Storage representation standard u Standards for storing compound document part u Hierarchical containment storage structure u Distributed and collaborative computing u Interaction of components in a distributed collaborative environment

객체지향시스템 연구실 SNU, OOPSLA Lab7 Major Stream Standards Major Stream Standards u Compound document sharing u MS OLE2 u CI Labs (IBM + Apple) Open Doc u MS COM u IBM SOM u Distributed/Collaborative computing u MS DCOM u IBM DSOM u OMG (SUN, HP, DEC) CORBA

객체지향시스템 연구실 SNU, OOPSLA Lab8 3. Understanding OMG u “To help reduce complexity, lower costs, and hasten the introduction of new software architecture” (OMG Guide, 1992)  Define the architecture for modularized software applications by defining the standard infrastructure and framework required to support such applications in a heterogeneous distributed network of computers u HP, Digital, SUN, IBM, and more 1000 computer related organizations in the world

객체지향시스템 연구실 SNU, OOPSLA Lab9 CORBA (1) u 3.1 CORBA Overview  Common Object Request Broker Architecture u Framework and specification for object collaboration and sharing across heterogeneous networks of machines and applications u CORBA Object Model u Object u Operations u Types u Subtyping

Application Objects Application Objects Object Request Broker Common Facilities Common Facilities Object Services CORBA Architecture

객체지향시스템 연구실 SNU, OOPSLA Lab CORBA- Architecture u Object Request Broker u Backbone of CORBA u Corba programming: u IDL + API ==> client/server object interaction u ORB clients u Applications or objects can send message to any other CORBA-compliant objects u Static interface u Precompiled IDL stubs to invoke object services u Dynamic interface u Request an ORB, retrieve its method name, dynamically invoke the object’s method u Object adaptor u Services for managing objects within an ORB server u Functionality to instantiate objects, generate and manage object references, route client requests to server methods, broadcast the presence of object servers

Client ORB A ORB B Server Logical Request Bridge ORB-to-ORB bridging

객체지향시스템 연구실 SNU, OOPSLA Lab CORBA- Architecture u Application Objects u Specific to end-user application u Common Facilities u General purpose components u Horizontal u Presentation of data u retrieval and storage of information u system/task management u Vertical u Health, finance, legal etc

객체지향시스템 연구실 SNU, OOPSLA Lab CORBA- Architecture u Object Services u Event notification services u Interface for registering and delivering events u Persistence services u Interface for storing objects u Life-cycle management services u Define how to manage objects u Transaction services : Two phase commit protocol u Concurrency control services : Locking u Relationships services :Link u Externalization services u Object stream interface

객체지향시스템 연구실 SNU, OOPSLA Lab15 4. OLE 2 u Since 1993 u OLE automation allows one application to interact with and use the services of another application u MS claims u 1980 ==> personalization of computing u 1990 ==> componentization of computing u OLE2 will transform the way software is producd and used u Container, Component technology u Compound document sharing: Object Linking and Embedding u Another O/S: more than 100 API functions

객체지향시스템 연구실 SNU, OOPSLA Lab16 OLE2: Component Object Model u Interoperability u Marshalling: synchronous rpc mechanism In-Place Activatoin Embedding Linking Compound Document Drag and Drop Uniform Data Transfer Compound Files Automation Monikers Component Object Model

객체지향시스템 연구실 SNU, OOPSLA Lab17 Architecture of OLE 2 (2) u OLE 2 storage model u Flie system within a file : storage,stream u Transacted storage u Incremental access u Sharable storage

Storage Object Substorage Stream Storage Object

객체지향시스템 연구실 SNU, OOPSLA Lab19 Architecture of OLE 2 (3) u Uniform data transfer u Uniform mechanism for transferring any type of data u Drag and drop u Embedding object u Component document u Viewing components u Automatically store and use a graphical image of objects u Linking and monikers u Moniker: location of source data and code to bind to data u In-place activation u Only single window to work with the compound document u Automation u Register a set of commands or functions

객체지향시스템 연구실 SNU, OOPSLA Lab20 5. OpenDoc (1) u CI Labs: Component Integration Laboratories u IBM and Apple (since 1994) u 5.1 Document or content-based model u A document is a structural collection of parts u 5.2 Parts : object pertaining to a different application u Root part u Content objects u 5.3 Part handlers (application programs) u Displaying the part u Editing the part u Managing storage for the part

객체지향시스템 연구실 SNU, OOPSLA Lab21 OpenDoc (2) u 5.4 Editors and viewers u Part editors and part viewers u 5.5 In-place editing u One context of compound document and edit in-place u 5.6 Frames and layout u Compound document parts can be wrapped with built-in frames and layouts u 5.7 Linking: Parts can be embedded in other parts u 5.8 Storage u Persistent multipart documents u concurrent accesses by multiple part handlers

객체지향시스템 연구실 SNU, OOPSLA Lab22 OpenDoc (3) u 5.9 Run time: the document shell for each document u the persistent storage system u the window and its associated state u the event dispatcher u an arbitration registry u 5.10 Sharing and distributed objects u Concurrently sharing compound documents u Versioning u Distributed objects: remote object invocation u DSOM

객체지향시스템 연구실 SNU, OOPSLA Lab23 6. Standardization for OODB: ODMG-93 u Relational u SQL, SQL-92 (SQL2), ODBC, SQL3 u Object-oriented database standard:ODMG93 u Object Design, ONTOS, O2, Versant, Objectivity, HP, POET, Itasca, Intellitic, DEC, Servio, TI, etc u Main goal : “To put forward a set of standards allowing an ODBMS customer to write portable applcations, i.e, applications that could run on more than one ODBMS product”

객체지향시스템 연구실 SNU, OOPSLA Lab The ODMG-93 Object Model u Types u One interface, several implementations u A subtype can specialize a supertype u Object identity u Literals u Atomic values, structured atomic values

객체지향시스템 연구실 SNU, OOPSLA Lab The ODMG-93 Object Model (cont’d) u Structured objects u Structure construct u Collection type u Set,Bag,List,Array u Relationships u One-to-one, one-to-many, many-to-many u Inverse of relationship

객체지향시스템 연구실 SNU, OOPSLA Lab The ODMG-93 ODL (1) u Syntax for defining interfaces u Compatible with OMG’s IDL interface :: = interface [:supertype list>] { [ ] };

객체지향시스템 연구실 SNU, OOPSLA Lab The ODMG-93 ODL (2) interface SalesPerson: Employee { extent SalesPeople; attribute string District; relationship Set Accounts inverse Account::SalesRep; relationship Set WorksIn; SalesManager Manager;... };

객체지향시스템 연구실 SNU, OOPSLA Lab The ODMG-93 OQL (1) u Standardize a number of OO database language concepts u Support both values and identity u Constructor type, set operator, collection expression, aggregate

객체지향시스템 연구실 SNU, OOPSLA Lab The ODMG-93 OQL (2) BNF form select from in where select struct(ManagerName: x.Manager.name, DepartmentName: y.Name) from x in SalesPeople, y in x.WorksIn where y.Location.City = “NY”

객체지향시스템 연구실 SNU, OOPSLA Lab The ODMG-93 C++ Bindings u Descriptions and specifications for the C++ ODL/OML constructs in the ODMG standard u C++ ODL u Binding u Through a class library u C++ OML u Classes and OQL functions

C++ ODL Delcarations C++ ODL Delcarations ODL Preprocessor ODL Preprocessor C++ Compiler C++ Compiler Object Code Object Code ODBMS RunTime ODBMS RunTime Linker Executable Application Executable Application Preprocessor Generated C++ Header X Source Files Preprocessor Generated C++ Header X Source Files User Source and Header C++ Files User Source and Header C++ Files ODBMS Data MetaData Object DBMS The Step involved in generating executable applications from C++ODL

객체지향시스템 연구실 SNU, OOPSLA Lab OMG and ODMG-93 (1) u ODMG/OM (object model) u A superset of the OMG/OM u Interoperability and portability u ODMG/ODL (object definition language) u A superset of IDL u ORB and ODMG-93 u Object Database Adaptor u Handling client objects registered through an ORB interface

객체지향시스템 연구실 SNU, OOPSLA Lab ODMG-93 and SQL3 u Object Oriented DBMS u OQL/ODL u Relational DBMS u SQL3 u Object oriented features u Programming language features

객체지향시스템 연구실 SNU, OOPSLA Lab34 Summary u Object sharing and interoperability u Allow applications to share objects u Major Standards u OMG CORBA u Microsoft OLE 2 u CILab OpenDoc u Database u ODMG-93 u Provide a framework for interoperability for OODBMS applications