Object orientation and persistent objects Dragos Chirila Finsiel Romania Copenhagen, 24 May 2004.

Slides:



Advertisements
Similar presentations
Supporting Persistent Objects In Python Jeremy Hylton
Advertisements

EIONET Training Searching and categorizing content Miruna Bădescu Finsiel Romania Copenhagen, 27 October 2003.
Object-Oriented Programming Basics Prof. Ankur Teredesai, Computer Science Department, RIT.
Lecture 10: Part 1: OO Issues CS 540 George Mason University.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Chapter 10: Introduction to Inheritance
DESIGNING A PUBLIC KEY INFRASTRUCTURE
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Object-Oriented PHP (1)
Object-Oriented Databases v OO systems associated with – graphical user interface (GUI) – powerful modeling techniques – advanced data management capabilities.
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
OOP in Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Object Oriented Databases - Overview
OOP in Java Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
C++ fundamentals.
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
Object-Oriented Analysis and Design
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.
Microsoft Visual Basic 2008 CHAPTER ELEVEN Multiple Classes and Inheritance.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Database Management System Prepared by Dr. Ahmed El-Ragal Reviewed & Presented By Mr. Mahmoud Rafeek Alfarra College Of Science & Technology Khan younis.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
11 1 Chapter 11 Object Oriented Databases Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
CSCI-383 Object-Oriented Programming & Design Lecture 13.
1 Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill Chapter 2: Object Basics Object-Oriented Systems Development Using the Unified Modeling.
Inheritance Building one object from another. Background Object-oriented programming is normally described has offering three capabilities Encapsulation:
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
ITEC 3220A Using and Designing Database Systems Instructor: Prof Z. Yang Course Website: 3220a.htm
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
Microsoft Visual Basic 2008 CHAPTER ELEVEN Multiple Classes and Inheritance.
Introduction to Java Chapter 7 - Classes & Object-oriented Programming1 Chapter 7 Classes and Object-Oriented Programming.
08 Encapsulation and Abstraction. 2 Contents Defining Abstraction Levels of Abstraction Class as Abstraction Defining a Java Class Instantiating a Class.
Object-Oriented Programming Chapter Chapter
1 OOP - An Introduction ISQS 6337 John R. Durrett.
Inheritance CSI 1101 Nour El Kadri. OOP  We have seen that object-oriented programming (OOP) helps organizing and maintaining large software systems.
Lecture 2: Review of Object Orientation. © Lethbridge/La ganière 2005 Chapter 2: Review of Object Orientation What is Object Orientation? Procedural.
Chapter 20 Concepts for Object-Oriented Databases Copyright © 2004 Pearson Education, Inc.
Author: DoanNX Time: 45’.  OOP concepts  OOP in Java.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
OOP Basics Classes & Methods (c) IDMS/SQL News
1 Inheritance One of the goals of object oriented programming is code reuse. Inheritance is one mechanism for accomplishing code reuse. It allows us to.
The Enhanced Entity- Relationship (EER) Model
Business System Development
The Movement To Objects
Inheritance ITI1121 Nour El Kadri.
CHAPTER 5 GENERAL OOP CONCEPTS.
Object-Oriented Programming Basics
Objects as a programming concept
Object-Oriented Analysis and Design
Object-Oriented Database Management System (ODBMS)
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
Chapter 12 Outline Overview of Object Database Concepts
UML Class Diagrams: Basic Concepts
Object oriented vs procedural programming
ISC321 Database Systems I Chapter 10: Object and Object-Relational Databases: Concepts, Models, Languages, and Standards Spring 2015 Dr. Abdullah Almutairi.
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Java Programming, Second Edition
ITEC 3220A Using and Designing Database Systems
Copyright 2007 Oxford Consulting, Ltd
Object-Oriented Programming
Object-Oriented PHP (1)
Programming For Big Data
Appendix A Object-Oriented Analysis and Design
Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?
Chapter 4 System Modeling.
Appendix A Object-Oriented Analysis and Design
Presentation transcript:

Object orientation and persistent objects Dragos Chirila Finsiel Romania Copenhagen, 24 May 2004

OO overview n It is a technique of modeling a real-world system in software, based on objects n It is used in many programming languages such as C++, Java, Python n Allows developers to design programs based on higher concepts rather than bits, streams and numbers n Almost anything can be modeled as an object

OO concepts (I) n Class u description of a set of objects that share common attributes and behavior u describes all attributes and methods that implement the behavior n Instance/object u the basic unit of OO u is an entity that has attributes, behavior and identity u objects are members of a class

OO concepts (II) n Attributes – used to store data that describe the object n Methods – the set of actions which an object may perform (synonyms: function, operation and service) n Messages – how objects communicate with each other n Lifetime – the time an object exists, from its instantiation in its constructor until the object no longer exists; controlled by programmer or user of the system in which the objects live n Inheritance – a mechanism that allows one class (subclass) to share attributes and behaviors of another class (superclass); it defines a is-a relationship between classes.

OO concepts (III) n Abstract classes – a class that has no instances n Concrete class – a class that is completely specified and can have instances n Visibility – the ability of one class to see and use the resources of another class (attributes, methods) u public, private and protected u getters and setters – allow outside world to modify/return the value of an class attribute

Persistence n about storing objects for later use without losing their identity, type etc. n serialization – process that turns (saves) arbitrarily complex objects into textual or binary representations of those objects n the ability to restore the serialized form of an object back into an object that is the same as the original u e.g. in Python the serialization process is called pickling

ZODB (I) n is a OO database system capable of storing and managing arbitrarily complex Python objects with transaction support and concurrency support. n relies upon Pythons native serialization capability n spreads object storage over multiple records u each stored persistent object has its own database record u each object has an unique id that identifies it and is used to lookup object data in the database

ZODB (II) n has a single designated root object, which provides access to application root objects by name n all other objects, besides root object, are accessed through object traversal from the root

Zope n everything is object - Root Folder, Control_Panel, acl_users are objects n Select type to add… allows you to create new objects n can be extended by creating Products that defines their own types of objects

Root Folder n top-level system object its a subclass of Folder class n almost each tab can be associated with a class that Folder class extends u Content – ObjectManager contains other objects u Properties – PropertyManager is a collection of typed attributes called properties which can be managed through the web or via DTML u Security – RoleManager has configurable permissions u Undo, Ownership – SimpleItem is a base class for simple, non-container objects Find – FindSupport locate Zope objects based on different criteria