Release 10.1A: OpenEdge Development:
ProDataSets

> ## ProDataSet goals

> Overall, the fundamental goal is to define a representation of a set of related records that:

> - Constitute the data for a single business object.

> - Provide a convenient, powerful, and consistent way to separate application data access from the specifics of the underlying data definition or data access mechanism.

> - Define not only the data but the relationships between tables that together make up the object.

> - Can be marshaled between procedures or between sessions as a single object, using a single parameter, extending the way temp-tables and their data are marshaled today.

> - Can be passed as parameters to .NET and other open technologies, and mapped to .NET data objects (and potentially other third-party objects).

> - Can be represented by a single handle, with all the elements of the ProDataSet accessible through that handle.

> - Can be updated on either client or server in such a way that changes, adds, and deletions are captured, marshaled efficiently to the server, and written to the database or other data source under flexible transaction control.

> - Reuse and combine to the greatest extent possible existing objects in the 4GL, including queries, buffers, and temp-tables, in order to provide a programming experience that is familiar to today’s developers and a convenient extension of existing procedures and programming techniques.

> - Can be represented as either a static or dynamic object, in a way consistent with other objects such as temp-tables.

> - Support events that allow developers to define business logic for the ProDataSet and its elements that is executed consistently and more or less transparently whenever that ProDataSet object is populated or updated.

> - Provide a migration strategy for the SDOs and SBOs of the ADM2 and Progress Dynamics®, improving performance while reusing business logic defined for those objects with minimal change.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095