Скачать презентацию A 14 What s New with Pro Data Sets Скачать презентацию A 14 What s New with Pro Data Sets

5eea3d7e601ba0be171d77203067dfc7.ppt

  • Количество слайдов: 33

A 14: What’s New with Pro. Data. Sets in 10. 1 C? Noel Shannon A 14: What’s New with Pro. Data. Sets in 10. 1 C? Noel Shannon Senior Solution Consultant

Progress® Data. Sets § § Business “Objects” § Header Data Progress Data. Set Before Progress® Data. Sets § § Business “Objects” § Header Data Progress Data. Set Before and after data § In-memory cache of relational data Data source separate from Data. Set Detail Data Non. Progress Data. Source § 2 Transfers to/from XML easily © 2008 Progress Software Corporation Table 1 2 6 36 01/05/1993 01/19/1993 3 79 02/10/1993

Pro. Data. Sets in the Open. Edge® Reference Architecture Presentation Enterprise Services Temp. Tables Pro. Data. Sets in the Open. Edge® Reference Architecture Presentation Enterprise Services Temp. Tables Business Components Temp. Tables Data Access FILL ( ) READ-XML( ) Data Sources 3 © 2008 Progress Software Corporation Common Infrastructure Pro. Data. Set™

Agenda § Pro. Data. Set ABL Enhancements § Pro. Data. Sets in Open. Edge Agenda § Pro. Data. Set ABL Enhancements § Pro. Data. Sets in Open. Edge Web Services § Web Services Client Demo § Futures for Pro. Data. Sets 4 © 2008 Progress Software Corporation

Recursive Data-Relations § Self-Referencing Relation RECURSIVE • Org Chart – Employee-Manager NUM-ITERATIONS • Bill Recursive Data-Relations § Self-Referencing Relation RECURSIVE • Org Chart – Employee-Manager NUM-ITERATIONS • Bill of Materials – Part-Part Structure § Efficiency and Simplicity § Standardize on FILL ( ) CURRENT-ITERATION GET-ITERATION ( ) MAXIMUM-LEVEL 5 © 2008 Progress Software Corporation

Recursive Data-Relation – Org Chart DATA-RELATION rel 1 FOR tt. Employee, tt. Employee RELATION-FIELDS Recursive Data-Relation – Org Chart DATA-RELATION rel 1 FOR tt. Employee, tt. Employee RELATION-FIELDS (emp. Name, manager) RECURSIVE. Gordon tt. Employee emp. Name Gordon Peter Martha Shelley Mary Laura Evan Robin Michael Wayne 6 manager Gordon Peter Martha Evan Peter Martha Shelley Evan Laura Robin © 2008 Progress Software Corporation Mary Michael Wayne

Recursive Data-Relation – Bill of Materials DATA-RELATION rel 1 FOR tt. Part, tt. PS Recursive Data-Relation – Bill of Materials DATA-RELATION rel 1 FOR tt. Part, tt. PS RELATION-FIELDS(part. Num, assy. Num) DATA-RELATION rel 2 FOR tt. PS, tt. Part RELATION-FIELDS(comp. Num, part. Num) RECURSIVE. tt. Part 1 5 3 Bike part. Num Nut Bike Clamp Bolt Seat Bolt tt. PS assy. Num Bike Clamp Seat … 7 comp. Num Bolt Clamp Seat Nut Bolt Clamp. . . Seat Clamp Nut Bolt Clamp Saddle 2 6 4 © 2008 Progress Software Corporation Nut Bolt

MARK-ROW-STATE and MARK-NEW § Create Before-Table Records • Data From 3 rd Party –. MARK-ROW-STATE and MARK-NEW § Create Before-Table Records • Data From 3 rd Party –. NET™, XML § MARK-ROW-STATE • ROW-CREATED • ROW-MODIFIED • ROW-DELETED Pds. Changes App. Server™ : Save-Row. Changes() § MARK-NEW • Creates ROW-CREATED records for table § Standardize on SAVE-ROW-CHANGES ( ) 8 Client: Tracking-Changes Get-Changes() © 2008 Progress Software Corporation DB

READ-XML( ) and MARK-NEW( ) DEFINE TEMP-TABLE FIELD Cust. Num FIELD Name AS FIELD READ-XML( ) and MARK-NEW( ) DEFINE TEMP-TABLE FIELD Cust. Num FIELD Name AS FIELD Balance tt. Cust BEFORE-TABLE cust. Bef AS INTEGER CHARACTER as DECIMAL. DEFINE TEMP-TABLE tt. Order BEFORE-TABLE ord. Bef FIELD Order. Num AS INTEGER FIELD Cust. Num AS INTEGER FIELD Order. Date AS DATE. DEFINE DATASET ds. Cust. Ord FOR tt. Cust, tt. Order DATA-RELATION Cust. Ord. Rel FOR tt. Cust, tt. Order RELATION-FIELDS (Cust. Num, Cust. Num). DATASET ds. Cust. Ord: READ-XML("FILE", "ds. Cust. Ord. xml", ? , ? ). /* mark all rows in datset as ROW-CREATED */ TEMP-TABLE tt. Cust: DEFAULT-BUFFER-HANDLE: MARK-NEW(). TEMP-TABLE tt. Order: DEFAULT-BUFFER-HANDLE: MARK-NEW(). 9 © 2008 Progress Software Corporation

Miscellaneous Pro. Data. Set Temp-Table/Buffer COPY-DATASET prefix NOT-ACTIVE RESTART-ROW TOP-NAV-QUERY COPY-TEMP-TABLE prefix DATA-SOURCE-ROWID DEFAULT-VALUE Miscellaneous Pro. Data. Set Temp-Table/Buffer COPY-DATASET prefix NOT-ACTIVE RESTART-ROW TOP-NAV-QUERY COPY-TEMP-TABLE prefix DATA-SOURCE-ROWID DEFAULT-VALUE LIKE-SEQUENTIAL Query BREAK-BY FIRST-OF LAST-OF 10 © 2008 Progress Software Corporation

Agenda § Pro. Data. Set ABL Enhancements § Pro. Data. Sets in Open. Edge Agenda § Pro. Data. Set ABL Enhancements § Pro. Data. Sets in Open. Edge Web Services § Web Services Client Demo § Futures for Pro. Data. Sets 11 © 2008 Progress Software Corporation

Pro. Data. Sets in Open. Edge Web Services § Completes the story • Pro. Pro. Data. Sets in Open. Edge Web Services § Completes the story • Pro. Data. Sets available to ALL App. Server client types § Single set of back-end business logic Open. Edge Clients Open Clients ABL, Web. Client™, Web. Speed® Web Services Clients . NET, Java™, Sonic™ . NET, Java, ABL, Sonic Open. Edge Application Server 12 © 2008 Progress Software Corporation

Pro. Data. Sets in the Web Services Provider How do you incorporate Pro. Data. Pro. Data. Sets in the Web Services Provider How do you incorporate Pro. Data. Sets in Open. Edge Web Services? § Compile your App. Server code § Generate a Web Services definition (. wsm) § with Proxy. Gen Deploy the. wsm file That’s IT!!! 13 © 2008 Progress Software Corporation

Open. Edge Web Services Provider Runtime Architecture ABL Java. NET Sonic SOAP over HTTP Open. Edge Web Services Provider Runtime Architecture ABL Java. NET Sonic SOAP over HTTP Response HTTP Listener Web Service Client Request Web Services Adapter Web Server WSDL Files WSMs 14 © 2008 Progress Software Corporation App. Servers

Sample Web Service ds. Cust. Ord. i DEFINE TEMP-TABLE FIELD Cust. Num FIELD Name Sample Web Service ds. Cust. Ord. i DEFINE TEMP-TABLE FIELD Cust. Num FIELD Name AS FIELD Balance. . . tt. Cust NO-UNDO AS INTEGER CHARACTER as DECIMAL DEFINE TEMP-TABLE tt. Order NO-UNDO FIELD Order. Num AS INTEGER FIELD Cust. Num AS INTEGER FIELD Order. Date AS DATE. . . DEFINE DATASET ds. Cust. Ord FOR tt. Cust, tt. Order DATA-RELATION Cust. Ord. Rel FOR tt. Cust, tt. Order RELATION-FIELDS (Cust. Num, Cust. Num). 15 © 2008 Progress Software Corporation

Sample Web Service get. Cust. Orders. p {ds. Cust. Ord. i} DEFINE INPUT PARAMETER Sample Web Service get. Cust. Orders. p {ds. Cust. Ord. i} DEFINE INPUT PARAMETER i. Cust. Num AS INTEGER. DEFINE OUTPUT PARAMETER DATASET FOR ds. Cust. Ord. /* fill dataset and return to caller */ 16 © 2008 Progress Software Corporation

. NET Client Proxy Snippet (C#) Proxy Method Call – auto generated by toolkit . NET Client Proxy Snippet (C#) Proxy Method Call – auto generated by toolkit public string get. Cust. Orders(int i. Cust. Num, out ds. Cust. Ord) { object[] results = this. Invoke("get. Cust. Orders", i. Cust. Num); ds. Cust. Ord = ((ds. Cust. Ord)(results[1])); } 17 return ((string)(results[0])); © 2008 Progress Software Corporation

. NET Client Proxy Snippet – cont’d ds. Cust. Ord Definition – auto generated . NET Client Proxy Snippet – cont’d ds. Cust. Ord Definition – auto generated public partial class ds. Cust. Ord { private ds. Cust. Ord. Tt. Cust[] tt. Cust. Field; private ds. Cust. Ord. Tt. Order[] tt. Order. Field; . . . } 18 © 2008 Progress Software Corporation

. NET Client Proxy Snippet (C#) – cont’d ds. Cust. Ord Member Definitions public . NET Client Proxy Snippet (C#) – cont’d ds. Cust. Ord Member Definitions public partial class ds. Cust. Ord. Tt. Cust { private int cust. Num. Field; private string name. Field; private decimal balance. Field; . . . } public partial class ds. Cust. Ord. Tt. Order { private int order. Num. Field; private int cust. Num. Field; private Date. Time order. Date. Field; . . . } 19 © 2008 Progress Software Corporation

. NET Client Code (C#) Web Service Method Call Get. Cust. Orders. ds. Cust. . NET Client Code (C#) Web Service Method Call Get. Cust. Orders. ds. Cust. Ord; String c. Result; Get. Cust. Orders. get. Cust. Orders. Service my. Svc = new Get. Cust. Orders. get. Cust. Orders. Service(); try { } 20 c. Result = my. Svc. get. Cust. Orders(5, out ds. Cust. Ord); . . . © 2008 Progress Software Corporation

. NET Client Code – cont’d Access the Data ds. Cust. Ord. Tt. Cust[] . NET Client Code – cont’d Access the Data ds. Cust. Ord. Tt. Cust[] tt. Cust = ds. Cust. Ord. tt. Cust; ds. Cust. Ord. Tt. Order[] tt. Order = ds. Cust. Ord. tt. Order; for (cntr = 0; cntr < tt. Cust. Length; ++cntr) { // process tt. Cust fields } for (cntr = 0; cntr < tt. Order. Length; ++cntr) { // process tt. Order fields } 21 © 2008 Progress Software Corporation

ABL Client Code ABLClient. p {ds. Cust. Ord. i} DEFINE VARIABLE h. Web. Service ABL Client Code ABLClient. p {ds. Cust. Ord. i} DEFINE VARIABLE h. Web. Service AS HANDLE. DEFINE VARIABLE hget. Cust. Orders. Obj AS HANDLE. DEFINE VARIABLE c. Result AS CHARACTER. FUNCTION get. Cust. Orders RETURNS CHARACTER (INPUT i. Cust. Num AS INTEGER, OUTPUT DATASET ds. Cust. Ord) IN hget. Cust. Orders. Obj. CREATE SERVER h. Web. Service: CONNECT("-WSDL. . . "). RUN get. Cust. Orders. Obj SET hget. Cust. Orders. Obj ON h. Web. Service. c. Result = get. Cust. Orders (5, ds. Cust. Ord). 22 © 2008 Progress Software Corporation

Demo. NET Web Services Client § Visual Studio App § C# Language 23 © Demo. NET Web Services Client § Visual Studio App § C# Language 23 © 2008 Progress Software Corporation

Additional Pro. Data. Set Support for Web Services § WSDL Information • NAMESPACE-URI for Additional Pro. Data. Set Support for Web Services § WSDL Information • NAMESPACE-URI for Data. Set • NESTED Data-Relation • XML-NODE-TYPE for Temp-Table Fields § Runtime Serialization • Before-Image data in SOAP Message – Works with ABL client seamlessly 24 © 2008 Progress Software Corporation

Under Development § § D I S C L A I M E R Under Development § § D I S C L A I M E R 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 25 I S C L A I © 2008 Progress Software Corporation M E R

Pro. Data. Set Futures – WRITE-XML( ) Reduce size of XML Documents Data. Set Pro. Data. Set Futures – WRITE-XML( ) Reduce size of XML Documents Data. Set tt. Order § Omit Fields with INITIAL § Values Hide Nested Foreign Key Fields tt. Oline . xsd . xml 26 © 2008 Progress Software Corporation

Advanced GUI §. NET UI working with Progress data • Progress. Data. Binding. Source Advanced GUI §. NET UI working with Progress data • Progress. Data. Binding. Source • Bind. NET control to a Pro. Data. Set § Brings data-centric binding to. NET • • 27 Automatic data synchronization Automatic currency Automatic batching Automatic updating © 2008 Progress Software Corporation

In Summary § Pro. Data. Set essential business object § Adding features based on In Summary § Pro. Data. Set essential business object § Adding features based on YOUR feedback § Single set of back-end logic 28 © 2008 Progress Software Corporation

For More Information, go to… § Progress e. Learning Community: http: //wbt. progress. com For More Information, go to… § Progress e. Learning Community: http: //wbt. progress. com • Using Pro. Data. Sets § 10. 1 C Documentation: http: //www. psdn. com/library/kbcategory. jspa? category. ID=1916 • • 29 New and Revised Features Pro. Data. Sets ABL Reference Web Services © 2008 Progress Software Corporation

Relevant PTW Sessions § A 7: Architecting Your Application in Open. Edge 10 § Relevant PTW Sessions § A 7: Architecting Your Application in Open. Edge 10 § A 18: A Deep Dive into Developing with the Open. Edge GUI for. NET 30 © 2008 Progress Software Corporation

? Questions 31 © 2008 Progress Software Corporation ? Questions 31 © 2008 Progress Software Corporation

Thank You 32 © 2008 Progress Software Corporation Thank You 32 © 2008 Progress Software Corporation

33 © 2008 Progress Software Corporation 33 © 2008 Progress Software Corporation