Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Case Study CSCI397c OODBMS Fall ’99 by William Yeo.

Similar presentations


Presentation on theme: "A Case Study CSCI397c OODBMS Fall ’99 by William Yeo."— Presentation transcript:

1 A Case Study CSCI397c OODBMS Fall ’99 by William Yeo

2 Outline Introduction GemStone Overview GemStone Data Model References

3 Introduction Modern application needs modern architecture.

4 GemStone Overview Multi-User Object Server Programmable Object Server Programmable Object Server Partitioning of Applications Between Client and Server Partitioning of Applications Between Client and Server Large-Scale Repository Queries and Indexes Transactions and Concurrency Control Transactions and Concurrency Control Connections to Outside Data Sources Connections to Outside Data Sources Object Security and Account Management Object Security and Account Management Services to Manage the GemStone Repository Services to Manage the GemStone Repository

5 Multi-User Object Server Supports over 1000 concurrent users, Repositories of up to 100 gigabytes, Transaction rates of over 100 transactions/sec Server processes manage the system User sessions support individual user activities Distributed repository and server processes Shared memory fully leveraged.

6 Programmable Object Server Data definition, manipulation, & query in GemStone Smalltalk Classes, operators, & control structures comparable to C, C++, or Pascal Transaction control, user authorization, etc accessible from GemStone Smalltalk. Built-in multi-user concurrency and repository management services

7 Application Partitioning Applications written in other languages can access GemStone object methods Done via use of GemBuilder Maintains relationships and propagates changes

8 Large-Scale Repository Can contain over a billion objects Distributed among many different machines and files Unique identifier enables location transparency

9 Queries and Indexes Indexable objects Nestable objects Regular and associative access queries against very large collections

10 Transactions and Concurrency Controls Session defines and maintains a consistent working environment Presents user with a consistent view of the object User changes are kept private Visible to all only when committed Effects of multiple updates minimized Checks for consistency with other users’ changes before committing the transaction

11 Connections to Outside Data Sources Provides a way to attach external code, called userActions, to a GemStone session Developer can access or generate external information and bring it into GemStone as objects Objects can then be committed and made available to other users.

12 Security and Account Management Authentication and authorization part of system security supports its own authentication protocol, as well as the Kerberos scheme

13 Management Services  Flexible backup and restore  Hardware and network failure recovery  Object recovery, when needed  Object server tuning  Accommodate the addition of new machines and processors without recoding the system  Controlled changes to the definition of the business and application objects in the system

14 GemStone Data Model Basic Storage Formats Class Hierarchy and Definition Methods Persistence

15 Basic Data Formats Atomic Named instance variables Indexable instance variables Anonymous instance variables

16 Class Hierarchy & Definition A portion of the class hierarchy.

17 Class Definition Syntax Name_class_receiving subclass: ‘Name-subclass’ instVarNames: ListofInstanceVariables classVars: ListofClassVariables poolDictionaries: ListofCommonVariables inDictionary: DictionaryName constraints: ListofDomainConstraints instancesInvariant: False/True isModifiable: False/True

18 Methods Consists of 2 parts: Method signature Method body e.g. 2 + 8 2 is receiving object + is the method 8 is the argument

19 Persistence Is property of objects How do we do that? Associate an external name Make “reachable” by a persistent object e.g. Set

20 References GemStone Programming Guide Version 5.0 GemStone – The Power to Develop and Deploy Enterprise Applications in Java The GemStone Data Model, Object-Oriented Data Models www.gemstone.com The Most Secure, Integrated Business-to-Business Application Platform, GemStone/J3.0 DataSheet


Download ppt "A Case Study CSCI397c OODBMS Fall ’99 by William Yeo."

Similar presentations


Ads by Google