Download presentation
Presentation is loading. Please wait.
Published byMelinda Hancock Modified over 9 years ago
1
Enterprise Object Framework
2
What is EOF? Enterprise Objects Framework is a set of tools and resources that help you create applications that work with the most popular relational databases—or with your own custom data store. …Enterprise Objects Framework lets you design object-oriented database applications that are easy to build and maintain and that draw upon standard user interface features. [EOF Developer’s Guide.pdf]
3
Problems Addressed SQL + Object Oriented Paradigm ReusabilityMaintainabilityScalabilityInteractivityPortability Transaction Support
4
Business Logic Implementation in 4GL Limited reuse Limited reuse Not maintainable Not maintainable Different implementations Different implementations Poor data integrity Poor data integrity Doesn’t scale well Doesn’t scale well Implementation in DB Limited interactivity Limited interactivity No back-end portability No back-end portability SQL is a poor development language SQL is a poor development language
5
..or Enterprise Object Framework Provides: Encapsulation Encapsulation Reuse Reuse A more natural model of the real world. A more natural model of the real world. Database-to-object mapping Database-to-object mapping Object-to-interface mapping Object-to-interface mapping
6
What is an Enterprise Object? Properties that map to stored or persistent data. Knows how to interact with WebObjects to give and receive values for its properties. Contains business logic for an application. Provides an access layer for an application that resides just above the database.
7
From Database to Object Correspondence between database tables and enterprise object classes. Database rows map to instances of the appropriate class.
8
Flexibility Objects can map to tables, subsets of tables, or across tables. Object properties can map to one column, or to a derived column. Object inheritance hierarchy can be mapped to one or more database tables. to-one and to-many relations provided.
9
Relations To-oneTo-many
10
Uniquing Ensures that the mapping of each enterprise object to row in a database table is one-to-one. Limits memory usage. Ensures data integrity.
11
Uniquing Example
12
Relationships and Faulting Resolution of relationships during fetching Faults as stand-ins Tuning relationship resolution Pre-fetching Pre-fetching Batch faulting Batch faulting
13
From Objects to Database Validation Referential integrity enforcement To-one: Mandatory vs. Optional To-one: Mandatory vs. Optional Delete: cascading vs. nullify vs. deny Delete: cascading vs. nullify vs. deny Automatic primary and foreign key generation Transaction management Locking Pessimistic, optimistic, on-demand Pessimistic, optimistic, on-demand
14
From Objects to Interface Changes made from the interface by the user are automatically synchronized with the enterprise objects. Changes made to the enterprise objects automatically updates the user interface to reflect these changes.
15
Ingredients for an EOF Application A user interface A model Enterprise Objects EOF’s classes and interfaces A database server and adapter.
16
Ingredients (Cont.)
17
Components involved Access layer – Fetches rows from the database and tranforms them into enterprise objects. Registers the enterprise objects with the control layer. Control layer – Manages the graph of enterprise objects in memory, tracking changes made to them, and messaging the access layer to commit changes.
18
Components (Cont.) Interface layer – Maps data between the control layer and the application’s user interface as designed with an SDK (such as Java or AppKit from Apple). WebObjects – Combines the use of an interface SDK and the interface layer to present the application with an HTML interface over the web.
19
Access Layer Adapter layer – Classes that connect with specific databases. Database layer – Classes that create enterprise objects from the data source. Modeling classes – Supplies database login information and database to object mappings.
20
Control Layer EOObjectStoreCoordinator – manages interactions with the access layer EOEditingContext – manages graphs of enterprise objects and track changes made.
21
EOModeler ApplicationAutomationDemonstration
22
References [1]http://developer.apple.com/techpubs/webobjects/WebObjects_4.5 /System/Documentation/Developer/EnterpriseObjects/DevGuide/EO FDevGuide.pdf http://developer.apple.com/techpubs/webobjects/WebObjects_4.5 /System/Documentation/Developer/EnterpriseObjects/DevGuide/EO FDevGuide.pdfhttp://developer.apple.com/techpubs/webobjects/WebObjects_4.5 /System/Documentation/Developer/EnterpriseObjects/DevGuide/EO FDevGuide.pdf [2]http://developer.apple.com/techpubs/webobjects/WebObjects_4.5 /System/Documentation/Developer/EnterpriseObjects/EOTools/EOT oolsAndTech.pdf http://developer.apple.com/techpubs/webobjects/WebObjects_4.5 /System/Documentation/Developer/EnterpriseObjects/EOTools/EOT oolsAndTech.pdfhttp://developer.apple.com/techpubs/webobjects/WebObjects_4.5 /System/Documentation/Developer/EnterpriseObjects/EOTools/EOT oolsAndTech.pdf [3]http://developer.apple.com/techpubs/webobjects/WebObjectsOve rview/WebObjects_Overview.pdf http://developer.apple.com/techpubs/webobjects/WebObjectsOve rview/WebObjects_Overview.pdfhttp://developer.apple.com/techpubs/webobjects/WebObjectsOve rview/WebObjects_Overview.pdf [4]http://developer.apple.com/techpubs/webobjects/DiscoveringWO/ webobjectsforhtml.pdf http://developer.apple.com/techpubs/webobjects/DiscoveringWO/ webobjectsforhtml.pdfhttp://developer.apple.com/techpubs/webobjects/DiscoveringWO/ webobjectsforhtml.pdf [5]http://developer.apple.com/techpubs/webobjects/GettingStartedO nWindows/WOGettingStarted.pdf http://developer.apple.com/techpubs/webobjects/GettingStartedO nWindows/WOGettingStarted.pdfhttp://developer.apple.com/techpubs/webobjects/GettingStartedO nWindows/WOGettingStarted.pdf All images presented from [1]
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.