35
PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. [email protected]

PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. [email protected]

Embed Size (px)

Citation preview

Page 1: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

PowerBuilder 11:The Web Service Source DataWindow

John StranoTechnology EvangelistSybase, [email protected]

Page 2: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

.NET Assemblies(presented Nov. 13, 2007)

Jim O’NeilSystems Consultant

.NET Assemblies(presented Nov. 13, 2007)

Jim O’NeilSystems Consultant

.NET Web Forms

Dec. 11, 2007

David FishEngineering Evangelist

.NET Web Forms

Dec. 11, 2007

David FishEngineering Evangelist

.NET Windows FormsAnd Interoperability

Dec. 4, 2007

Jim O’NeilSystems Consultant

.NET Windows FormsAnd Interoperability

Dec. 4, 2007

Jim O’NeilSystems Consultant

.NET Smart Client

Jan. 15, 2008

John StranoTechnology Evangelist

.NET Smart Client

Jan. 15, 2008

John StranoTechnology Evangelist

Web ServiceDataWindow

Feb. 5, 2008

John StranoTechnology Evangelist

Web ServiceDataWindow

Feb. 5, 2008

John StranoTechnology Evangelist

PowerBuilder 11 Overview

(presented Nov. 20, 2007)

Jim O’NeilSystems Consultant

PowerBuilder 11 Overview

(presented Nov. 20, 2007)

Jim O’NeilSystems Consultant

.NET Web Services

Jan. 29, 2008

David FishEngineering Evangelist

.NET Web Services

Jan. 29, 2008

David FishEngineering Evangelist

PowerBuilder 11.NET DeploymentWeb Casts

Page 3: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

Agenda

• PowerBuilder Roadmap

• Web Service Source DataWindow Overview and Demo

Page 4: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

PowerBuilder Roadmap

• Version 11 released in June 2007

• 11.1 Maintenance Release in November 2007

• Delivers on third-phase of PowerBuilder’s .NET initiative

Page 5: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

Language Independence

ApplicationConnectivity

MultiplePlatformSupport

PowerAnd

Performance

2009PowerBuilder 12

• .NET in IDE• WPF support at

design- and run-time• Fully managed code

at deployment• PowerScript

Language Enhancements

2008PowerBuilder 11.2

• AJAX support for Web Forms Applications

• EAServer .NET Client Support

• Enhancement requests

2008PowerBuilder 11.5

• Core .NET enhancements

• DataWindow enhancements for Win32 and .NET

• Updated database support

• Enhancement requests

Page 6: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

The Web Services DataWindow

• .NET Targets are not required!– The Web Service DataWindow is for Win32 deployments as well.

• You don’t need to know Web Service implementation details

• The DataWindow and PowerBuilder– Make it easy to use Web Services in a productive way

• The DataWindow now supports consuming Web Services as a data source– Only using the .NET Web Services support.

– Does not utilize EasySOAP

Page 7: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

The Web Services DataWindow

• What the Web Service DataWindow is intended for– Access to database data across a network without the need for DB

client software on the client

• Reduces the client footprint

• Reduces client maintenance

• Eliminates the need for a persistent database connection

• Allows for the utilization of unstructured data from non-relational sources

• Web Services can federate data from disparate sources and disparate types of sources…and can be presented by the DataWindow

Page 8: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

PowerBuilder .NET Smart Client Support

• Occasionally connected– PowerBuilder with MobiLink

• Always up-to-date applications – PowerBuilder’s “Intelligent Updater”

• Maximize performance using client resources– PowerBuilder applications deployed as Windows Form (Rich Client)

• Communicate utilizing Web Services– PowerBuilder’s Web Service DataWindow

• Utilize network resources– PowerBuilder’s Web Service DataWindow– PowerBuilder’s “Intelligent Update”– PowerBuilder with MobiLink

Page 9: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

The Web Services DataWindow

• Supported Web Service “results”– Simple data types

• System.Int32, System.String, System.DateTime, System.Decimal

• Single row, single column

– An array of simple types

• Multiple rows with a single column

– A structure made up of simple types

• Single row with multiple columns

– An array of structures made of simple types

• The familiar rows and columns of a DataWindow.

Page 10: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

The Web Services DataWindow

• The Web Service DataWindow is not intended for access to all Web Services– Some services return proprietary data types

• .NET-implemented services can return a serialized ADO DataSet

– Some services return data structures too complex for the DataWindow

• e.g: Amazon returns multiple levels of nested structures

– Cannot be readily represented as rows and columns

– These may be supported in the future

Page 11: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

The Web Services DataWindow

• Let’s create a PowerBuilder Web Service– We need structure definitions to match the database results

• For example, the employee table with a few columns selected.

Page 12: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

The Web Services DataWindow

• (cont’d) Let’s create a PowerBuilder NVO– Define a method to retrieve the data

Page 13: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

The Web Services DataWindow

• Let’s create a Web Service DataWindow

Page 14: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

The Web Services DataWindow

• What have we just created?– A DataWindow object, stored in the PBL as is normal

• With some additional Web Service properties

– WSDL

– .NET Assembly designation

– Namespace

– Classname

– Parameter specifications

• *** Web Service input parameters are automatically defined as retrieval arguments

– …cont’d…

Page 15: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

The Web Services DataWindow

• What have we just created?– A .NET assembly, custom generated for this Web Service.

• The .NET assembly does the heavy lifting, communicating with the .NET Web Service support.

• We use reflection to figure out the methods and types contained in the assembly

Page 16: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

The Web Services DataWindow Runtime

The DataWindow

Engine

PowerBuilder Web Service

SupportThe Generated

AssemblyThe .NET Framework

Web Service

Page 17: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

The Web Services DataWindow

• Deployed files– In addition to PBDWE110.DLL (PBDWM110.DLL for .NET deployments)

• Sybase.PowerBuilder.WebService.Runtime

• Sybase.PowerBuilder.WebService.RuntimeRemoteLoader

– These do the communicating between the unmanaged code and the managed assembly created when the DataWindow was built

• The generated .NET Assembly

• .NET 2.0 Framework

…Cont’d…

Page 18: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

The Web Services DataWindow

• Deployed files…Cont’d…

– The required PowerBuilder runtime DLLs for Web Service client applications.

• See “Deploying Applications and Components” in Application Techniques.

– http://infocenter.sybase.com/help/topic/com.sybase.dc37774_1100/html/apptech/CFHBBAEA.htm

– Examine the documentation for the “Runtime Packager”

Page 19: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

Run time Web Service Retrieval Retrieve() works just like it does now You can specify retrieval arguments as parameters as you

always have <DWC>.Retrieve ( param1, param2, …)

Page 20: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

Run time Web Service Update Of course it’s still just a single line of code.

<DWC>.Update ()

Page 21: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

Transaction Management• What about updates?

– It’s not like a database!– Arguably, there is no single transaction specification (WS-Transaction) for Web

Services• Microsoft/BEA/IBM Alliance…and Everyone Else

– Specification-contentious Vendors– If there are multiple standards…is there a standard?

• How would you perform a Rollback for a Web Service from the client?– Remediation?– NOT the purview of the Web Service DataWindow, but bears thought

from the service implementer– Remember, Web services are:

STATELESS!

Page 22: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

The Web Services DataWindow

• Defining Web Service updates

Page 23: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

The Web Services DataWindow

• Overrides• The WSConnection object allows Web Service overrides (optional)

– Endpoint– User ID – Password– Proxy server

• Host name• User ID• Password• Port

– Authentication mode– Timeout– Windows integrated authentication

Page 24: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

Using the WSConnection Object• Some Web services support or require

– User ID – Password– Other session-related properties like firewall settings

• Example: Using an instance of the WSConnection object utilizing a Web Service using the SetWSObject method…

int ii_return wsconnection ws_1 ws_1 = create wsconnection ws_1.username = "johndoe" ws_1.password = "mypassword" ws_1.endpoint = "myendpoint" ws_1.authenticationmode = "basic" ws_1.usewindowsintegratedauthentication = true ii_return = dw_1.setwsobject (ws_1)

Page 25: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

WSError Event

• Occurs when an error is returned for a DataWindow using a Web Service data source

• Can occur during any of the following operations– Connect

– Retrieve

– Delete

– Insert

– Update

– Disconnect

Page 26: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

WSError EventArgument Description

Operation

(string)

Type of operation (Retrieve, Update, Insert, Delete, Connect, or Disconnect)

Rownum

(long)

Row number or 0 if not applicable, such as when an error occurs during connection to the Web service

Buffername

(string)

Name of the buffer being accessed while the error occurred (Primary, Filter, or Delete)

Wsinfo

(string)

The WSDL file, the URL that defines the Web service, or the assembly that is used access the Web service

Method

(string)

Name of the Web service method invoked

Errormessage

(string)

Exception message returned from the method

Page 27: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

Further Resources

PowerBuilder Demonstration Recordings…

http://www.sybase.com/products/development/powerbuilder/videos

Recorded Webcasts from this series…

http://www.sybase.com/products/development/powerbuilder/webcasts

Page 28: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

Getting Your Hands on PowerBuilder 11

• Do you have an Update Subscription Plan (USP)?– Access the Sybase Product Download Center (SPDC) at

https://sybase.subscribenet.com

– Download PowerBuilder 11 and companion products

– Generate license keys

• Need new or additional licenses?– Contact your Sybase sales office (US/Canada: 1-800-8-SYBASE)

– Visit e-shop at http://eshop.sybase.com

Page 29: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

The ISUG North American PowerBuilder 11 Tour Continues!

• Feb 26th: San Jose, CA – Embassy Suites, Santa Clara • Feb 27th: Los Angeles, CA – Embassy Suites North, LAX • Feb 28th: San Diego, CA – Windmill Banquet & Catering, Carlsbad

• http://www.isug.com/common/PowerBuilder11Tour.html

Page 30: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

Q&A

Page 31: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

FAQs

• Q: Can I use a Web Service that is not implemented using PowerBuilder/PowerScript?

• A: Yes. As long as the public interface of the Web Service uses data types suited to this version of the Web Service DataWindow.

Page 32: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

FAQs

• Q: Can I use a PowerBuilder NVO deployed to an application server other than EAServer or IIS as the data source of a Web Service DataWindow?

• A: Yes. You may use the PowerBuilder Application Server Plug-In to deploy your NVOs to WebLogic, WebSphere or JBoss, then expose them as Web Services.

Page 33: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

FAQs

• Q: Can I use Web Service data source DataWindows for DDDWs and for Composite DataWindows?

• A: Yes, but you must explicitly call a GetChild() and a Retrieve() for them before the Retrieve() call for the parent DataWindow/DataStore…much as you would for a DDDW with retrieval arguments.

Page 34: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

FAQs

• Q: Can I change the Web Service data source for an existing DataWindow?

• A: Normally, no.– You may try editing the DataWindow source

…if not…– You need to recreate the DataWindow from scratch

– This mirrors the Stored Procedure source DataWindow in this regard

Page 35: PowerBuilder 11: The Web Service Source DataWindow John Strano Technology Evangelist Sybase, Inc. john.s.strano@sybase.com

Thank you.