Presentation is loading. Please wait.

Presentation is loading. Please wait.

A14: What’s New with ProDataSets in 10.1C? Noel Shannon Senior Solution Consultant.

Similar presentations


Presentation on theme: "A14: What’s New with ProDataSets in 10.1C? Noel Shannon Senior Solution Consultant."— Presentation transcript:

1 A14: What’s New with ProDataSets in 10.1C? Noel Shannon Senior Solution Consultant

2 © 2008 Progress Software Corporation 2 Non- Progress DataSource Progress ® DataSets  Business “Objects”  In-memory cache of relational data  Before and after data  Data source separate from DataSet  Transfers to/from XML easily Progress DataSet Header Data Detail Data Progress DataSource 02/10/1993793 01/19/1993362 01/05/199361 Table

3 © 2008 Progress Software Corporation 3 ProDataSet ™ ProDataSets in the OpenEdge ® Reference Architecture Presentation Business Components Data Access Data Sources Common Infrastructure Enterprise Services Temp- Tables FILL ( ) READ-XML( )

4 © 2008 Progress Software Corporation 4 Agenda  ProDataSet ABL Enhancements  ProDataSets in OpenEdge Web Services  Web Services Client Demo  Futures for ProDataSets

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

6 © 2008 Progress Software Corporation 6 Recursive Data-Relation – Org Chart EvanWayne EvanMichael EvanRobin MarthaEvan MarthaLaura PeterMary PeterShelley PeterMartha GordonPeter ttEmployee Gordon managerempName Gordon Peter Martha LauraEvan Robin Michael Wayne ShelleyMary DATA-RELATION rel1 FOR ttEmployee, ttEmployee RELATION-FIELDS (empName, manager) RECURSIVE.

7 © 2008 Progress Software Corporation 7 2 Bike BoltClamp NutBolt Seat Clamp NutBolt Saddle Recursive Data-Relation – Bill of Materials 3 4 1...… ClampSeat BoltClamp NutClamp SeatBike ttPS ClampBike BoltBike compNumassyNum Seat Bolt Clamp ttPart Bike Nut partNum DATA-RELATION rel1 FOR ttPart, ttPS RELATION-FIELDS(partNum, assyNum) DATA-RELATION rel2 FOR ttPS, ttPart RELATION-FIELDS(compNum, partNum) RECURSIVE. 5 6

8 © 2008 Progress Software Corporation 8 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  MARK-NEW Creates ROW-CREATED records for table Client: Tracking-Changes Get-Changes() AppServer ™ : Save-Row- Changes() DB PdsChanges  Standardize on SAVE-ROW-CHANGES ( )

9 © 2008 Progress Software Corporation 9 DEFINE TEMP-TABLE ttCust BEFORE-TABLE custBef FIELD CustNum AS INTEGER FIELD Name AS CHARACTER FIELD Balance as DECIMAL. DEFINE TEMP-TABLE ttOrder BEFORE-TABLE ordBef FIELD OrderNum AS INTEGER FIELD CustNum AS INTEGER FIELD OrderDate AS DATE. DEFINE DATASET dsCustOrd FOR ttCust, ttOrder DATA-RELATION CustOrdRel FOR ttCust, ttOrder RELATION-FIELDS (CustNum, CustNum). DATASET dsCustOrd:READ-XML("FILE","dsCustOrd.xml",?,?,?). /* mark all rows in datset as ROW-CREATED */ TEMP-TABLE ttCust:DEFAULT-BUFFER-HANDLE:MARK-NEW(). TEMP-TABLE ttOrder:DEFAULT-BUFFER-HANDLE:MARK-NEW(). READ-XML( ) and MARK-NEW( )

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

11 © 2008 Progress Software Corporation 11 Agenda  ProDataSet ABL Enhancements  ProDataSets in OpenEdge Web Services  Web Services Client Demo  Futures for ProDataSets

12 © 2008 Progress Software Corporation 12  Completes the story ProDataSets available to ALL AppServer client types  Single set of back-end business logic ProDataSets in OpenEdge Web Services OpenEdge Clients ABL, WebClient ™, WebSpeed ® Web Services Clients.NET, Java, ABL, Sonic OpenEdge Application Server Open Clients.NET, Java ™, Sonic ™

13 © 2008 Progress Software Corporation 13  Compile your AppServer code  Generate a Web Services definition (.wsm) with ProxyGen  Deploy the.wsm file ProDataSets in the Web Services Provider How do you incorporate ProDataSets in OpenEdge Web Services? That’s IT!!!

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

15 © 2008 Progress Software Corporation 15 DEFINE TEMP-TABLE ttCust NO-UNDO FIELD CustNum AS INTEGER FIELD Name AS CHARACTER FIELD Balance as DECIMAL... DEFINE TEMP-TABLE ttOrder NO-UNDO FIELD OrderNum AS INTEGER FIELD CustNum AS INTEGER FIELD OrderDate AS DATE... DEFINE DATASET dsCustOrd FOR ttCust, ttOrder DATA-RELATION CustOrdRel FOR ttCust, ttOrder RELATION-FIELDS (CustNum, CustNum). Sample Web Service dsCustOrd.i

16 © 2008 Progress Software Corporation 16 {dsCustOrd.i} DEFINE INPUT PARAMETER iCustNum AS INTEGER. DEFINE OUTPUT PARAMETER DATASET FOR dsCustOrd. /* fill dataset and return to caller */ Sample Web Service getCustOrders.p

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

18 © 2008 Progress Software Corporation 18 public partial class dsCustOrd { private dsCustOrdTtCust[] ttCustField; private dsCustOrdTtOrder[] ttOrderField;... }.NET Client Proxy Snippet – cont’d dsCustOrd Definition – auto generated

19 © 2008 Progress Software Corporation 19 public partial class dsCustOrdTtCust { private int custNumField; private string nameField; private decimal balanceField;... } public partial class dsCustOrdTtOrder { private int orderNumField; private int custNumField; private DateTime orderDateField;... }.NET Client Proxy Snippet (C#) – cont’d dsCustOrd Member Definitions

20 © 2008 Progress Software Corporation 20 GetCustOrders.dsCustOrd dsCustOrd; String cResult; GetCustOrders.getCustOrdersService mySvc = new GetCustOrders.getCustOrdersService(); try { cResult = mySvc.getCustOrders(5, out dsCustOrd);... }.NET Client Code (C#) Web Service Method Call

21 © 2008 Progress Software Corporation 21 dsCustOrdTtCust[] ttCust = dsCustOrd.ttCust; dsCustOrdTtOrder[] ttOrder = dsCustOrd.ttOrder; for (cntr = 0; cntr < ttCust.Length; ++cntr) { // process ttCust fields } for (cntr = 0; cntr < ttOrder.Length; ++cntr) { // process ttOrder fields }.NET Client Code – cont’d Access the Data

22 © 2008 Progress Software Corporation 22 {dsCustOrd.i} DEFINE VARIABLE hWebService AS HANDLE. DEFINE VARIABLE hgetCustOrdersObj AS HANDLE. DEFINE VARIABLE cResult AS CHARACTER. FUNCTION getCustOrders RETURNS CHARACTER (INPUT iCustNum AS INTEGER, OUTPUT DATASET dsCustOrd) IN hgetCustOrdersObj. CREATE SERVER hWebService. hWebService:CONNECT("-WSDL... "). RUN getCustOrdersObj SET hgetCustOrdersObj ON hWebService. cResult = getCustOrders (5, dsCustOrd). ABL Client Code ABLClient.p

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

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

25 © 2008 Progress Software Corporation 25 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

26 © 2008 Progress Software Corporation 26 ProDataSet Futures – WRITE-XML( )  Omit Fields with INITIAL Values  Hide Nested Foreign Key Fields Reduce size of XML Documents.xsd DataSet ttOrder ttOline.xml

27 © 2008 Progress Software Corporation 27 Advanced GUI .NET UI working with Progress data Progress.Data.BindingSource Bind.NET control to a ProDataSet  Brings data-centric binding to.NET Automatic data synchronization Automatic currency Automatic batching Automatic updating

28 © 2008 Progress Software Corporation 28 In Summary  ProDataSet essential business object  Adding features based on YOUR feedback  Single set of back-end logic

29 © 2008 Progress Software Corporation 29 For More Information, go to…  Progress eLearning Community: http://wbt.progress.com Using ProDataSets  10.1C Documentation: http://www.psdn.com/library/kbcategory.jspa?categoryID=1916 New and Revised Features ProDataSets ABL Reference Web Services

30 © 2008 Progress Software Corporation 30 Relevant PTW Sessions  A7: Architecting Your Application in OpenEdge 10  A18: A Deep Dive into Developing with the OpenEdge GUI for.NET

31 © 2008 Progress Software Corporation 31 Questions ?

32 © 2008 Progress Software Corporation 32 Thank You

33 © 2008 Progress Software Corporation 33


Download ppt "A14: What’s New with ProDataSets in 10.1C? Noel Shannon Senior Solution Consultant."

Similar presentations


Ads by Google