exchange in real time dev-06: the prodataset in openedge™ 10 john sadd progress fellow and...
Post on 15-Jan-2016
220 Views
Preview:
TRANSCRIPT
Exc
hang
e in
Rea
l Tim
eE
xcha
nge
in R
eal T
ime
DEV-06:The ProDataSet inOpenEdge™ 10
DEV-06:The ProDataSet inOpenEdge™ 10
John SaddProgress Fellow and OpenEdge Evangelist
© 2005 Progress Software Corporation2Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Agenda
Distributed Data Management in Version 9 ProDataSet Overview Syntax Specifics and Demo ProDataSet Directions
© 2005 Progress Software Corporation3Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Temp-Table Parameters
Define a temp-table – Based on a database table or not
Populate the temp-table on the server– One row or many
Pass the temp-table as a parameter– One parameter for each table
Modify the temp-table on the client and pass it back
© 2005 Progress Software Corporation4Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Temp-Table Limitations
Separate table and parameter for each two-dimensional data definition
Parent-child and other relationships need multiple parameters
No standard mechanism to record changes
© 2005 Progress Software Corporation5Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
SDOs and SBOs
SmartDataObjects in the ADM and Progress Dynamics® handle:– Distributed data management– Keeping track of changes– Automated update support – Standard events for validation and
business logic SmartBusinessObjects do the same for
multiple related tables
© 2005 Progress Software Corporation6Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
The direction
Push valuable SDO/SBO behavior down into the 4GL
Define a core 4GL object to represent complex data relationships– One handle, one parameter
Associate validation and other business logic– Built-in events
Map directly to data objects on other platforms
© 2005 Progress Software Corporation7Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Agenda
Distributed Data Management in Version 9 ProDataSet Overview Syntax Specifics and Demo ProDataSet Directions
© 2005 Progress Software Corporation8Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
ProDataSet
The ProDataSet
Data-Relation1
CustomerTT
1 Lift Line Skiing2 Urpon Frisbee3 Hoops Croquet
OrderTT
6 1 01/05/9336 1 01/19/9379 1 02/10/93
Database
Customer
Lift Line SkiingUrpon FrisbeeHoops Croquet
Order
1 53 01/01/932 81 01/04/933 66 01/04/93
Event LogicDataset:Before-fillBuffer:Before-fillBefore-row-fillRow-AddRow-Delete…
Data-Source1Field Map
CustNumNameContact
Data-Source2Field Map
OrderNumCustNum
OrderDate
Query…Q1 forCustomer
Query…Q2 forOrder
© 2005 Progress Software Corporation9Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
OpenEdgeBusiness Logic
PO ProDataSet
The Bigger Picture – Today and Tomorrow
Purchase Order Business Logic
HeaderData
DetailData
OtherData
PurchaseOrderProxy
.NET User Interface
Jonas Grumby
110 Desert Isle Path
Minnow, HI
OK
Cancel
C#
OpenEdge.NET Interface
ProDataSets become a driving force in OpenEdge Applications
4GL or
WebSpeed
Interface
WebClient / HTML
User InterfaceJonas Grumby
110 Desert Isle Path
Minnow, HI
OK
Cancel
OpenEdge4GL Interface
4GL
OpenEdgeWeb Services Interface
© 2005 Progress Software Corporation10Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
ProDataSet to ADO.NET DataSet
ProDataSet is a Progress in-memory data store
ProDataSet maps directly to an ADO.NET DataSet, allowing you to:– Design a .NET™ interface in terms of .NET
DataSets
– Pass data back and forth to Progress AppServer™
© 2005 Progress Software Corporation11Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Agenda
Distributed Data Management in Version 9 ProDataSet Overview Syntax Specifics and Demo Futures
© 2005 Progress Software Corporation12Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
A ProDataSet is made of Temp-Tables
Define temp-tables in the usual way
DEFINE TEMP-TABLE ttOrder
/* fields from Order db table */
FIELD OrderTotal AS DECIMAL
FIELD CustName LIKE Customer.Name
FIELD RepName LIKE SalesRep.RepName.
DEFINE TEMP-TABLE ttOrderLine…
DEFINE TEMP-TABLE ttItem…
© 2005 Progress Software Corporation13Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Define the DataSet
Define the DataSet in terms of the temp-tables it combines
DEFINE DATASET dsOrder FOR ttOrder, ttOline, ttItem
DATA-RELATION OrderLine FOR ttOrder, ttOline
RELATION-FIELDS (OrderNum, OrderNum)
DATA-RELATION LineItem FOR ttOline, ttItem
RELATION-FIELDS (ItemNum, ItemNum) REPOSITION.
© 2005 Progress Software Corporation14Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Data-Relations
Data-Relations define the relationship between parent-child tables
The Relation-Fields define fields in parent and child to use for selection
…DATA-RELATION OrderLine FOR ttOrder, ttOline
RELATION-FIELDS (OrderNum, OrderNum)…
Relation-Fields are used to determine how to populate the DataSet by default
They also tell Progress how to navigate the DataSet by default
© 2005 Progress Software Corporation15Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Populating with Data-Relations
When a DataSet is populated, Progress retrieves children of the current parent
…DATA-RELATION OrderLine FOR ttOrder, ttOline
RELATION-FIELDS (OrderNum, OrderNum)…
ProDataSet
Data-Relation
OrderTT
6 1 01/05/9336 1 01/19/9379 1 02/10/93
OrderLineTT
6 1 000096 2 000096 3 00011
36 1 0000936 2 0000936 3 00011
© 2005 Progress Software Corporation16Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Navigating with Data-Relations
When a DataSet is navigated, Progress filters on children of the current parent
…DATA-RELATION OrderLine FOR ttOrder, ttOline
RELATION-FIELDS (OrderNum, OrderNum)…
ProDataSet
Data-Relation
OrderTT
6 1 01/05/9336 1 01/19/9379 1 02/10/93
OrderLineTT
6 1 000096 2 000096 3 00011
36 1 0000936 2 0000936 3 00011
© 2005 Progress Software Corporation17Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Defining Data-Sources
You can define a Data-Source for each temp-table buffer in the DataSet
Each Data-Source can define database buffers or a query or both
Data-Source is separate from any DataSet
Database
Order OrderLine
1 53 01/01/932 81 01/04/933 66 01/04/93
Data-Source
SrcOrder
Data-Source
SrcOline
Query…Q1 forOrder
Query…Q2 forOrderLine
1 53 01/01/932 81 01/04/933 66 01/04/93
ProDataSetOrderTT
OrderLineTT
© 2005 Progress Software Corporation18Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Defining a Data-Source with a Query Define a query for a top-level table
– For example, which Order(s) to start with
– Or to define a join between buffers
DEFINE QUERY qOrder FOR Order, Customer, SalesRep.
DEFINE DATA-SOURCE srcOrder FOR QUERY qOrder Order KEYS (OrderNum), Customer KEYS (CustNum), SalesRep KEYS (SalesRep).
QUERY qOrder:QUERY-PREPARE("FOR EACH Order WHERE Order.OrderNum = " + STRING(iOrderNum) + ", FIRST Customer OF Order, FIRSTSalesRep OF Order").
© 2005 Progress Software Corporation19Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Defining a Data-Source without a Query If there’s a Data-Relation, its fields can tell Progress
how to construct a query
DEFINE DATA-SOURCE srcOline FOR OrderLine
KEYS (OrderNum).
…DATA-RELATION OrderLine FOR ttOrder, ttOline
RELATION-FIELDS (OrderNum, OrderNum)…
ProDataSet
OrderLineTTData-Relation
OrderTT
6 1 01/05/9336 1 01/19/9379 1 02/10/93
6 1 000096 2 000096 3 00011
© 2005 Progress Software Corporation20Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Attaching Data-Sources
Data-Sources are defined separately from the DataSet– You can attach a particular Data-Source
without changing the DataSet definition
– Data-Sources do not travel with the DataSet
DatabaseOrder
Data-Source
SrcOrderQuery…
Q1 forOrder
1 53 01/01/932 81 01/04/933 66 01/04/93
ProDataSetOrderTT
6 1 01/05/9336 1 01/19/9379 1 02/10/93
© 2005 Progress Software Corporation21Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
ATTACH-DATA-SOURCE Method Relates a Data-Source to a DataSet buffer Optional arguments:
– Field mapping for fields with different names– Except-list to skip unwanted fields, or– Include-list to include only certain fields
BUFFER ttOrder:ATTACH-DATA-SOURCE
(DATA-SOURCE srcOrder:HANDLE,
"Customer.Name,CustName").
BUFFER ttOline:ATTACH-DATA-SOURCE
(DATA-SOURCE srcOline:HANDLE).
BUFFER ttItem:ATTACH-DATA-SOURCE
(DATA-SOURCE srcItem:HANDLE).
© 2005 Progress Software Corporation22Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Populating a ProDataSet
Use the FILL method to populate the DataSet FILL on the DataSet fills every table starting
with top-level buffers FILL on a buffer fills that table and its
descendents FILL-MODE
– NO-FILL – skip this table– EMPTY – empty the table first– APPEND – add more records to the table– MERGE – add recs & eliminate dups– REPLACE – replace existing recs
© 2005 Progress Software Corporation23Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Event Callback Procedures
You can define event procedures for:– Before and After FILL of the ProDataSet– Before and After FILL of any temp-table
buffer– Before and After FILL of any record
Use ProDataSet events to prepare queries, attach Data-Sources, etc.
Use Buffer events to manipulate the table Use Record events to populate calculated
fields You can use these events when
there is no Data-Source at all
© 2005 Progress Software Corporation24Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Record-level Event Procedure
Fills a calculated OrderTotal fieldhBuff:SET-CALLBACK-PROCEDURE
("AFTER-ROW-FILL","postRecordFill",THIS-PROCEDURE).
PROCEDURE postRecordFill:
DEFINE INPUT PARAMETER DATASET FOR dsOrder.
hBuff = hDset:GET-BUFFER-HANDLE(“ttOrder”). FOR EACH OrderLine WHERE OrderLine.OrderNum = INTEGER(hBuff:BUFFER-FIELD("OrderNum"):BUFFER-VALUE): dTotal = dTotal + OrderLine.ExtendedPrice.
END. hBuff:BUFFER-FIELD("OrderTotal"):BUFFER-VALUE = dTotal. END PROCEDURE.
© 2005 Progress Software Corporation25Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
ProDataSet demo…
© 2005 Progress Software Corporation26Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Passing a ProDataSet as a Parameter
You can pass a DataSet parameter as:– DATASET – static reference like TABLE for
temp-tables
– DATASET-HANDLE – dynamic reference to the DataSet and its definition, like TABLE-HANDLE for a temp-table
– HANDLE – passes a simple DataSet handle to a local procedure
Note!– Within a single session DataSet parameters
can be passed BY-REFERENCE
© 2005 Progress Software Corporation27Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Local DataSet ParameterRUN OrderDset.p ON hSession
(INPUT iOrderNum,
OUTPUT DATASET dsOrder
BY-REFERENCE).
/* OrderDset.p -- Test proc for Order Dataset */
{dsOrderTT.i}
{dsOrder.i}
DEFINE INPUT PARAMETER iOrderNum AS INTEGER.
DEFINE OUTPUT PARAMETER DATASET FOR dsOrder.
ProDataSetOrderTT
6 1 01/05/9336 1 01/19/9379 1 02/10/93
© 2005 Progress Software Corporation28Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Remote DataSet Parameter
RUN OrderDset.p ON hSession(INPUT iOrderNum, OUTPUT DATASET dsOrder
BY-REFERENCE).
/* OrderDset.p */
DEFINE OUTPUT PARAMETER
DATASET FOR dsOrder.
ProDataSetOrderTT
6 1 01/05/9336 1 01/19/9379 1 02/10/93
ProDataSetOrderTT
6 1 01/05/9336 1 01/19/9379 1 02/10/93
© 2005 Progress Software Corporation29Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Dynamic ProDataSets
Every element of a ProDataSet can be dynamic– CREATE DATASET
– ADD-BUFFER()
– ADD-RELATION() A Data-Source can also be dynamic:
– CREATE DATA-SOURCE And a DataSet can use dynamic temp-tables
– CREATE TEMP-TABLE Attributes and methods manipulate the
DataSet through its handle
© 2005 Progress Software Corporation30Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Updating Through the ProDataSet
ProDataSet tables have a companion before-image temp-table to record updates (add/change/delete)– Used to pass changes to the server to be
made in the Data-Source
– Maps to .NET support for update versions
© 2005 Progress Software Corporation31Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Before-Image Table for a DataSet
Original values for every modified record
ProDataSet
Data-Relation
OrderTT
6 1 01/05/9336 1 01/19/9379 1 02/10/93
OrderLineTT
6 1 000096 2 000106 3 00011 6 4 00077
0 0 00000 A 6 2 00009 M 6 5 00022 D
Initial values for every added record Original values for every deleted record
Before-Table
© 2005 Progress Software Corporation32Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Saving Changes To The Database
Use ATTACH-DATA-SOURCE to reattach the DataSet to the database tables for it
SAVE-ROW-CHANGES method for saving a row to the database– Uses the before-table for optimistic locking
– Allows full control in the event of a conflict ERROR, ERROR-STRING, REJECTED,
DATA-SOURCE-MODIFIED attributes
© 2005 Progress Software Corporation33Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
ProDataSet update demo…
© 2005 Progress Software Corporation34Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Agenda
Distributed Data Management in Version 9 ProDataSet Overview Syntax Specifics and Demo ProDataSet Directions
© 2005 Progress Software Corporation35Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Enhancements in OpenEdge 10.0B and 10.0B01
COPY-DATASET method enhancements– Also COPY-TEMP-TABLE – Behavior changed to allow copies between
non-identical tables and DataSets GET-CHANGES and MERGE-CHANGES
– include parents of modified rows FILL-MODE “REPLACE”
– Refreshes rows already in the tables– Slower than MERGE because it requires
FINDing each row as it is added to the temp-table
© 2005 Progress Software Corporation36Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Enhancements in OpenEdge 10.0B and 10.0B01 -- continued
Additional events to support data retrieval transparency– OFF-END for a ProDataSet query
– FIND-FAILED for a FIND on a buffer Extended support for data batching
– BATCH-SIZE attribute for a buffer
– LAST-BATCH attribute signals end of data
– NEXT-ROWID for repositioning a query See white paper for examples:
– psdn.progress.com/library/product_info/oera/index.ssp
© 2005 Progress Software Corporation37Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
© 2005 Progress Software Corporation38Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Data batching demo…
© 2005 Progress Software Corporation39Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
D I S C L A I M E R
Under Development
This talk includes information about potential future products and/or product enhancements.
What I am going to say reflects our current thinking, but the information contained herein is preliminary and subject to change. Any future products we ultimately deliver may be materially different from what is described here.
D I S C L A I M E R
© 2005 Progress Software Corporation40Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
ProDataSet Features in OpenEdge 10.1
Direct to-or-from XML conversion– This supports ProDataSets as parameters to
Web services Mapping from ProDataSets to Java™ SDOs REFERENCE-ONLY to use called
procedure’s ProDataSet instance– Also parameter passing BY-REFERENCE for
temp-tables
© 2005 Progress Software Corporation41Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
ProDataSets address these three key OpenEdge goals
3 Strategic Elements
Process Centric Design
Business Logic
Capabilities
SOAEnabled
User Interface
Independence
© 2005 Progress Software Corporation42Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
In Conclusion…
The ProDataSet is a key part of the future of 4GL applications
It is part of a focus on building complex data definitions and business logic in the 4GL
The ProDataSet is a standards-conformant object that will integrate with .NET and Web services as part of a global Service-Oriented Architecture
© 2005 Progress Software Corporation43Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Additional Resources
Expert Series book: Using ProDataSets– Now available through amazon.com!
PSDN white paper on Using Advanced ProDataSet Language Features– Part of a series on implementing the OERA
Two-day instructor-led or self-study course: Using ProDataSets
OpenEdge online documentation
© 2005 Progress Software Corporation44Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
© 2005 Progress Software Corporation45Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Questions?
© 2005 Progress Software Corporation46Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
Thank you for your time!
© 2005 Progress Software Corporation47Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
DEV-06: The ProDataSet in OpenEdge 10
top related