Persistent State Service 1  Concept  Persistence is the ability of an object state to survive termination of the process in which the object executes.

Slides:



Advertisements
Similar presentations
Exolab.org OpenORB Enterprise Suite : An OpenSource CORBA platform Jérôme DANIEL OReilly Conference Santa.
Advertisements

An Object/Relational Mapping tool Free and open source Simplifies storage of object data in a relational database Removes the need to write and maintain.
Chapter 10: Designing Databases
Database System Concepts and Architecture
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
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.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Persistent State Service 1 CORBA Component  Component model  Container programming model  Component implementation framework  Component packaging and.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Lecture 5: Distributed Objects.
1 Introduction to CS Agenda Syllabus Schedule Lecture: the management of complexity.
II. Middleware for Distributed Systems
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Data Abstraction and Object- Oriented Programming CS351 – Programming Paradigms.
Fundamentals, Design, and Implementation, 9/e Chapter 16 Object-Oriented Database Processing.
Object Oriented Databases - Overview
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Object and Object- Relational Databases.
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
DATABASE MANAGEMENT SYSTEM ARCHITECTURE
Advanced Database CS-426 Week 2 – Logic Query Languages, Object Model.
Database Environment 1.  Purpose of three-level database architecture.  Contents of external, conceptual, and internal levels.  Purpose of external/conceptual.
Introduction to Object-oriented Programming CSIS 3701: Advanced Object Oriented Programming.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Common Object Request Broker Architecture (CORBA) CS-328.
DBMS Lecture 9  Object Database Management Group –12 Rules for an OODBMS –Components of the ODMG standard  OODBMS Object Model Schema  OO Data Model.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
1 J2EE Components. 2 Application Servers relieve the programming burden for business distributed components. They provide support for system level services.
CST203-2 Database Management Systems Lecture 2. One Tier Architecture Eg: In this scenario, a workgroup database is stored in a shared location on a single.
CHAPTER 14 USING RELATIONAL DATABASES TO PROVIDE OBJECT PERSISTENCE (ONLINE) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
EJB Framework.  As we know, EJB is the center of the J2EE architecture that provides a sturdy framework for building enterprise applications. The major.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Information Management NTU Interprocess Communication and Middleware.
Chapter 1 : Introduction §Purpose of Database Systems §View of Data §Data Models §Data Definition Language §Data Manipulation Language §Transaction Management.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
© 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 14 Using Relational Databases to Provide Object Persistence (Overview) Modern Database.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
CSSE501 Object-Oriented Development. Chapter 4: Classes and Methods  Chapters 4 and 5 present two sides of OOP: Chapter 4 discusses the static, compile.
JPA / HIBERNATE CSCI 6370 Nilayan Bhattacharya Sanket Sable.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
DATABASE MANAGEMENT SYSTEM ARCHITECTURE
The World Leader in Making Software Work Together ™ Copyright IONA Technologies 1999 Building CORBA Applications (On OS/390 ?) Dusty Rivers Enterprise.
Apr. 8, 2002Calibration Database Browser Workshop1 Database Access Using D0OM H. Greenlee Calibration Database Browser Workshop Apr. 8, 2002.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 26 - Java Object-Based Programming Outline 26.1Introduction.
Object Oriented Programming
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
© D. Wong Security and User Authorization in SQL 8.7 pp. 410  Authorization ID = user name  Special authorization ID: PUBLIC  Privileges for:
Object storage and object interoperability
CHAPTER 3 MODELING COMPONENT-LEVEL DESIGN.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
E.Bertino, L.Matino Object-Oriented Database Systems 1 Chapter 9. Systems Seoul National University Department of Computer Engineering OOPSLA Lab.
Object orientation and Packaging in Java Object Orientation and Packaging Introduction: After completing this chapter, you will be able to identify.
EJB Enterprise Java Beans JAVA Enterprise Edition
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Chapter 12 Outline Overview of Object Database Concepts Object-Relational Features Object Database.
1 10 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 10 Designing Databases.
Hibernate Java Persistence API. What is Persistence Persistence: The continued or prolonged existence of something. Most Applications Achieve Persistence.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Databases and DBMSs Todd S. Bacastow January 2005.
Chapter 2 Database System Concepts and Architecture
Chapter 12 Outline Overview of Object Database Concepts
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Introduction to Database Systems
Chapter 2 Database Environment Pearson Education © 2009.
Data, Databases, and DBMSs
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 2 Database Environment Pearson Education © 2009.
Presentation transcript:

Persistent State Service 1  Concept  Persistence is the ability of an object state to survive termination of the process in which the object executes  State objects have attributes in their interfaces, and instance variables in their implementation  Stateless objects  Server object designer/programmer implement persistence  Persistent state service hide the details of data stores from server objects  PSS is not an interface to a complete, object-oriented database management system  PSS offers an OO data definiton language called PSDL that is much more appropriate for persisting object state than SQL  Persistence is transparent to client

Persistent State Service 2  Concept  Object states, a conflict with encapsulation?  Need for persistence  Persistence-related details of data model without implementation language specific features  PSDL (Persistent State Definition Language), declarative, independent of a data store  Super set of IDL  Second layer of abstraction between abstract interface and concrete implementation  PSDL compiler  Datastore  Storage homes  Storage home incarnation  Storage objects  Storage object incarnations  Catalog

Persistent State Service 3  Concept DataStore Storage Objects Storage Homes Storage Object Incarnation Storage Home Incarnation Sessions Catalog

Persistent State Service 4  Concept  Datastores are storage technologies that are used to achieve persistence of data.  Storage types define the representation of storage objects  Storage type specifications are interfaces to storage objects  A storage object incarnation is a programming language representation of a storage object  A storage home manages the life cycle of types of storage objects. Its interfaces defined in a storage home specification  Storage home incarnations are programming language representations of storage homes.  A key is an attribute of a storage object that uniquely identifies the storage object within its storage home.  A session is a logical connection between a datastore and a process that executes a server object

Persistent State Service 5 Storage Objects  Storage objects  Have types declared statically in PSDL  Have individual identities  Resides in storage homes  Globally accessible  Not CORBA objects, cannot be accessed using CORBA invocations  represent the persistent sate of individual CORBA objects, with which they are associated  Client representative  Storage object instance  Storage object instance can be connected to a storage object in the datastore  incarnation: changes affect the data in the datastore  Can be disconnected

Persistent State Service 6 Storage Homes  Storage homes  Have types declared statically in PSDL  For any given type, there can be only a single storage home within a datastore  For any storage home, it contains storage object of one type only  For any given storagetype, there can only be a single storage home in a datastore  Storage homes and storage objects live in datastores  Storage home client representative  Instance  Incarnation  Catalogs  Scope for storage homes  Client representative of datastore  Can be defined in PSDL

Persistent State Service 7  CORBA Persistent State Service  PSSDL  Superset of IDL  Extends IDL with mechanisms to specify storage objects, storage homes and keys  Transparent to client  Programming language bindings: storage home and storage object specifications are mapped to java interfaces.  Server object programmer subclass the generated classes to add specific behavior  Integration with Object Adapter  Storage home keys can be used in CORBA object identifiers.  Multiple storage objects can be executed in one server process.

Persistent State Service 8  Persistent State Service Architecture Connection & Session Management API Server Object Implementation Storage Object Incarnations & Storage Home Incarnations Datastore AP Storage Object & Storage Home Schema Datastore Run-Time

Persistent State Service 9  Architecture Components and Their Interactions  Datastore APIs are independent of storage types  Session management of the persistent state service has to be integrated with the session management of the datastore  A schema is a type definition of information that is defined in a language specific to the datastore  Server object implementations are independent of schemas and thus not dependent on particular datastore technology  Storage object and storage home implementations are dependent on datastore technology

Persistent State Service 10 Persistent State Service  Generating Architecture Components  Storage object and storage home incarnations can be generated automatically PSSDL Compiler Storage Home and Storage Type Specification (PSSDL) Storage Home and Storage Type Incarnations (Prog-Lan) Storage Home and Storage Type schema

Persistent State Service 11 Persistent State Service  Datastore Technology for Persistence  Persistence in file systems  CORBA externalization service: standardize interfaces that enable CORBA objects to write their state into a sequential byte stream and to read the state from the byte stream.  No concurrency control and transactional access  Persistence in relational databases  Mapping objects into tables  Object-relational mappings are complicated due to the mismatch rational and object-oriented paradigms  Persistence in object database

Persistent State Service 12 The Persistent State Definition Language  Declarative language  Stateful, non-CORBA object  Superset of IDL  Abstract storagetypes // file: employee.psdl Abstract storagetype Person { state string full_name; readonly state long ssn; readonly state ref spouse; void marry(in ref the_spouse); }; Abstract storagetype Employee: Person{ state string phone_number; state string office; };

Persistent State Service 13 The Persistent State Definition Language  Embedded storagetype: state member itself is a storagetype  Reference types: state member references to other storagetypes  Operations declared in an abstract storagetype follow the same rule as the operations in IDL interface  Arguments must be storagetypes  Storagetypes can inherit from each other  The base is CosPersistentState

Persistent State Service 14 CosPersistentState Module CosPersistentState{ typedef CORBA::OctetSeq Pid; typedef CORBA:OctetSeq ShortPid; abstract storagetype StorageObject { void destroy_object(); // associated object is destroyed, not the incarnation bolean object_exists(); Pid get_pid(); ShortPid get_short_pid(); StorageHomeBase get_storage_home(); };

Persistent State Service 15 Abstract Storage Homes abstract storagehome PersonHome of Person { factory create_person(in string name, in long ssn); key ssn_key social_security_number; }; abstract storagehome EmployeeHome of Employee: PersonHome{ factory create_employee(in string name, in long ssn, in string phone, in string office); };

Persistent State Service 16 Catalogs  Catalogs are the units of session management in the PSS  Applications access datastores through sessions  Catalogs define the scope of a session in terms of the storage homes that can be accessed  Catalogs can define local operations catalog HumanResources { provides PersonHome persons; provides EmployeeHome employees; };

Persistent State Service 17 Key Points  Stateless and stateful server objects  Persistence only needs to be implemented for stateful server object  Persistence is transparent to client  Persistence state service keeps implementation of persistence independent of datastore  PSDL  File, relational db, oo db for store object state