Download presentation
Presentation is loading. Please wait.
Published byShannon Briggs Modified over 9 years ago
1
객체지향시스템 연구실 SNU, OOPSLA Lab1 Chap 10. Standards in OO 서울대학교 컴퓨터공학과 객체지향시스템 연구실 SNU OOPSLA LAB 김 형 주 교수 u Object-orientation by Khoshafian and Abnous
2
객체지향시스템 연구실 SNU, OOPSLA Lab2 Contents 1. Introduction 2. Object Sharing and Interoperability 3. Understanding OMG 4. OLE 2 5. OpenDoc 6. ODMG-93 7. Summary
3
객체지향시스템 연구실 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
4
객체지향시스템 연구실 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
5
객체지향시스템 연구실 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
6
객체지향시스템 연구실 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
7
객체지향시스템 연구실 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
8
객체지향시스템 연구실 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
9
객체지향시스템 연구실 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
10
Application Objects Application Objects Object Request Broker Common Facilities Common Facilities Object Services CORBA Architecture
11
객체지향시스템 연구실 SNU, OOPSLA Lab11 3.2 CORBA- Architecture u 3.2.1 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
12
Client ORB A ORB B Server Logical Request Bridge ORB-to-ORB bridging
13
객체지향시스템 연구실 SNU, OOPSLA Lab13 3.2 CORBA- Architecture u 3.2.2 Application Objects u Specific to end-user application u 3.2.3 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
14
객체지향시스템 연구실 SNU, OOPSLA Lab14 3.2 CORBA- Architecture u 3.2.4 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
15
객체지향시스템 연구실 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
16
객체지향시스템 연구실 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
17
객체지향시스템 연구실 SNU, OOPSLA Lab17 Architecture of OLE 2 (2) u 4.2.2 OLE 2 storage model u Flie system within a file : storage,stream u Transacted storage u Incremental access u Sharable storage
18
Storage Object Substorage Stream Storage Object
19
객체지향시스템 연구실 SNU, OOPSLA Lab19 Architecture of OLE 2 (3) u 4.2.3 Uniform data transfer u Uniform mechanism for transferring any type of data u 4.2.4 Drag and drop u 4.2.5 Embedding object u Component document u 4.2.6 Viewing components u Automatically store and use a graphical image of objects u 4.2.7 Linking and monikers u Moniker: location of source data and code to bind to data u 4.2.8 In-place activation u Only single window to work with the compound document u 4.2.9 Automation u Register a set of commands or functions
20
객체지향시스템 연구실 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
21
객체지향시스템 연구실 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
22
객체지향시스템 연구실 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
23
객체지향시스템 연구실 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”
24
객체지향시스템 연구실 SNU, OOPSLA Lab24 6.1 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
25
객체지향시스템 연구실 SNU, OOPSLA Lab25 6.1 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
26
객체지향시스템 연구실 SNU, OOPSLA Lab26 6.2 The ODMG-93 ODL (1) u Syntax for defining interfaces u Compatible with OMG’s IDL interface :: = interface [:supertype list>] { [ ] };
27
객체지향시스템 연구실 SNU, OOPSLA Lab27 6.2 The ODMG-93 ODL (2) interface SalesPerson: Employee { extent SalesPeople; attribute string District; relationship Set Accounts inverse Account::SalesRep; relationship Set WorksIn; SalesManager Manager;... };
28
객체지향시스템 연구실 SNU, OOPSLA Lab28 6.3 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
29
객체지향시스템 연구실 SNU, OOPSLA Lab29 6.3 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”
30
객체지향시스템 연구실 SNU, OOPSLA Lab30 6.4 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
31
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
32
객체지향시스템 연구실 SNU, OOPSLA Lab32 6.4 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
33
객체지향시스템 연구실 SNU, OOPSLA Lab33 6.4 ODMG-93 and SQL3 u Object Oriented DBMS u OQL/ODL u Relational DBMS u SQL3 u Object oriented features u Programming language features
34
객체지향시스템 연구실 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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.