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

Slides:



Advertisements
Similar presentations
A18: A Deep Dive into the OpenEdge GUI for .NET™
Advertisements

Server Access The REST of the Story David Cleary
XML, JSON and OpenEdge Robin Brown
DEV-2: Getting Started with OpenEdge® Architect – Part I
Improving your OpenEdge® Development Productivity David Lund Sr. Training Program Manager, Progress.
June 5 – Orlando INNOV-11: Extending OpenEdge and.NET™ to the Factory Floor Bob Brennan Integrated Manufacturing Systems, Inc.
DEV-13: You've Got a Problem, Here’s How to Find It
Inside the JSDO: Mobile and Web
Scale Up Access to your 4GL Application using Web Services
Integrating OpenEdge® Applications with SonicMQ®
John Sadd Progress Fellow and OpenEdge Evangelist
Exchange in Real Time DEV-06: The ProDataSet in OpenEdge™ 10 John Sadd Progress Fellow and OpenEdge Evangelist.
DEV-14: Understanding and Programming for the AppServer™
Performance testing of Progress Appservers and a plug-in for Jmeter
What’s new in Progress Developer Studio for OpenEdge 11.0?
ARCH-6: UML Modeling with Enterprise Architect Phillip Magnay Technical Architect.
The Easiest Way to Write Web Applications Jordi Sastre IT Architect, PSC May 2012.
ARCH12: QA Considerations - OERA ARCH-12: QA considerations for applications following the OpenEdge Reference Architecture SMAT-Team Tobago Thomas Hutegger.
Writing All Your Code In OpenEdge Architect Peter van Dam.
DEV-16: ABL Database Objects Updated David Olson Director, Enterprise Solutions Mary Szekely Just Mary.
SOA-06: Get On the Bus with the OpenEdge ® Adapter for Sonic ESB ® David Cleary Principal Software Engineer, Progress.
DEV-07: Increasing Productivity with Tools for Business Logic Gikas Principal Software Engineer.
SOA-4: Introduction to OpenEdge ® Integration Technologies Jamie Townsend Applied Architect.
© 2009 Progress Software Corporation 1 Click to Edit Master Subtitle Style Overview of OpenEdge® GUI for.NET Release 10.2A Jarmo Nieminen Senior Technical.
SOA-12: Integrate over the Web with OpenEdge® Web Services
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
ARCH-03: Implementing the OpenEdge™ Reference Architecture – Part 1 John Sadd Progress Fellow and OpenEdge Evangelist.
A4: Introduction to the OpenEdge ® GUI for.NET Jim Lundy Principal Product Manager.
DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager.
The ProDataSet in OpenEdge™ 10
DEV-09: User Authentication in an OpenEdge™ 10.1 Distributed Computing Environment Michael Jacobs Development Architect.
ARCH-4: The Presentation Layer in the OpenEdge® Reference Architecture Frank Beusenberg Senior Technical Consultant.
DONE-08 Sizing and Performance Tuning N-Tier Applications Mike Furgal Performance Manager Progress Software
DEV-01 What’s New in Progress Dynamics ® Anthony Swindells Progress Fellow.
SOA-14: Deploying your SOA Application David Cleary Principal Software Engineer.
INT-5: Integrate over the Web with OpenEdge® Web Services
SOA-26: Extending Your Application with OpenEdge ® Web Services John Sadd OpenEdge Evangelist.
DEV-16: Leveraging the Power of Advanced GUI Power is nothing without control Erwin in ‘t VeldCCS Tony VertentenIntris Eric DebeijProgress Roland de PijperProgress.
DEV-8: OpenEdge® Architect – Extensibility & Third Party Integration Sunil Belgaonkar Principal Software Engineer Architect Phillip Magnay.
COMP-1: OpenEdge® Management Overview and Demo Principal Technical Support Engineer Cyril E. Gleiman.
SOA-3: You Need to Integrate, But What do You Need to Know and Do? Bob Trabucchi Sr Presales Consultant Sandy Caiado Sr Presales Consultant.
Stop! Don’t throw away that ADM2 code just yet… Jeff Ledbetter Product Architect, Roundtable Software.
SOA-02: Sonic SOA Products Overview Luis Maldonado Technical Product Manager Sonic Software.
OpenEdge ® GUI for.NET ™ Modernize your user interface with ABL Shelley Chase OpenEdge Architect Progress Software Corporation Session 113.
INNOV-10 Progress® Event Engine™ Technical Overview Prashant Thumma Principal Software Engineer.
ARCH-07: Implementing the OpenEdge™ Reference Architecture – Part 2
ARCH-7: A Class-Based Implementation of the OpenEdge® Reference Architecture John Sadd Fellow and OpenEdge Evangelist Applied Technology.
ARCH-11: Building your Presentation with Classes John Sadd Fellow and OpenEdge Evangelist Sasha Kraljevic Principal TSE.
DEV-3: Getting Started with OpenEdge® Architect – Part II David Lund Sr. Training Program Manager Mark Hanley Sr. Manager Development Tools.
A16: proDataSets in the Real World aka blood, sweat and tears revisited Miles Klettke Clever Fellow.
INT-9: Implementing ESB Processes with OpenEdge ® and Sonic ™ David Cleary Principal Software Engineer.
DEV-6: Advanced Object-Oriented Programming in the ABL Evan Bleicher Senior Development Manager Shelley Chase
A7: Architecting Your Application in OpenEdge ® 10 Mike Ormerod Applied Architect.
ARCH-7: Integrate this! SonicMQ® and the OpenEdge® Reference Architecture Christian Stiller Technical Architect.
DEV-5: Using ProDataSets™ in OpenEdge ® 10 Cheryl LaBarge Product Readiness.
ARCH-5: Service Interfaces in Practice Christian Stiller Technical Architect.
MOVE-15: Leveraging Business Entities, Data Access Objects and ProDataSets with a Progress Dynamics® or ADM2 GUI Peter Judge Principal Software Engineer.
.NET Mobile Application Development XML Web Services.
A2: Making OpenEdge ® Architect Work For You Susan Houniet Senior Solution Consultant.
DEV-9: Using the ProDataSet™ in OpenEdge® 10
DEV-25: You've Got a Problem, Here’s How to Find It
COMP-10: Managing OpenEdge® Development with the Roundtable® TSMS
ARCH-1: Application Architecture made Simple
C6: Introducing Native Invocation with the OpenEdge® Adapter for Sonic™ ESB Chris James Senior Consultant.
DEV-11: Architecting Your Application in OpenEdge® 10
ARCH-14: Power Your Organisation with OpenEdge
Mark Quirk Head of Technology Developer & Platform Group
Call Any Web Service from the Progress 4GL
SOA-09: Conducting Business with OpenEdge® and SonicMQ®
Presentation transcript:

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

© 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/ /19/ /05/ Table

© 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( )

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

© 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 ( )

© 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.

© 2008 Progress Software Corporation 7 2 Bike BoltClamp NutBolt Seat Clamp NutBolt Saddle Recursive Data-Relation – Bill of Materials … 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

© 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 ( )

© 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( )

© 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

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

© 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 ™

© 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!!!

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

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

© 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

© 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

© 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

© 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

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

© 2008 Progress Software Corporation 29 For More Information, go to…  Progress eLearning Community: Using ProDataSets  10.1C Documentation: New and Revised Features ProDataSets ABL Reference Web Services

© 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

© 2008 Progress Software Corporation 31 Questions ?

© 2008 Progress Software Corporation 32 Thank You

© 2008 Progress Software Corporation 33