Download presentation
Presentation is loading. Please wait.
Published byMervyn Bell Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.