53
TechWave 2004 Recap for Application Developers Donald D. Clayton President Intertech Consulting, Inc. [email protected] August 18-19, 2004

TechWave 2004 Recap for Application Developers

Embed Size (px)

DESCRIPTION

TechWave 2004 Recap for Application Developers. Donald D. Clayton President Intertech Consulting, Inc. [email protected] August 18-19, 2004. Objectives. Understand the Sybase strategy for application development PowerBuilder PowerBuilder in a .Net World Next Generation Web DataWIndow - PowerPoint PPT Presentation

Citation preview

Page 1: TechWave 2004 Recap for Application Developers

TechWave 2004 Recap for Application Developers

Donald D. ClaytonPresident

Intertech Consulting, [email protected]

August 18-19, 2004

Page 2: TechWave 2004 Recap for Application Developers

2

Objectives

Understand the Sybase strategy for application development PowerBuilder

PowerBuilder in a .Net World Next Generation Web DataWIndow Next-Generation PowerScript Language

Appeon For PowerBuilder PocketBuilder

Features and Functions

PowerDesigner PowerDesigner For PowerBuilder and PowerDesigner Futures

Page 3: TechWave 2004 Recap for Application Developers

3

The Enterprise. Unwired.

Page 4: TechWave 2004 Recap for Application Developers

4

The .NET World of Microsoft

Microsoft’s vision of Windows application development is an all encompassing environment with many benefits

Common runtime system Type safe programming Easy communication between different languages Massive class library, from soup to nuts.

.The Future According to Microsoft

Page 5: TechWave 2004 Recap for Application Developers

5

Powerbuilder’s Place in .NET

Powerbuilder offers alternatives to Microsoft’s vision. Release 9.0

Supported Web Services

Release 10.0 More support for Web Services – can now deploy into EAServer directly from

PB DataWindow .NET

Release 11.0 Support for compiling Powerscript directly to MSIL Powerbuilder access to .NET class libraries Allow .NET applications to access Powerbuilder objects.

Page 6: TechWave 2004 Recap for Application Developers

6

Powerbuilder’s Place in .NET

The DataWindow .NET Will be a citizen of the .NET world The DataWindow technology will be extended to all languages supported in

the Common Language Runtime Visual Basic.NET, C#, C++

For the Visual Basic programmer A worthy competitor to the DataGrid control The DataWindow offers features that will be enticing to VB programmers

For the Powerbuilder programmer Where development in .NET is mandated, the investment in DataWindows is

protected. The DataWindow will be familiar

Coming in the next release

Page 7: TechWave 2004 Recap for Application Developers

7

The DataWindow .NET initiative

A .NET data aware control Drop it on a Window Form It supports the familiar set of DataWindow properties, events and methods

The .NET data aware object Instantiated using “new”. Like the DataWindowControl, it will expose DataStore methods events and

properties.

The Powerbuilder database drivers The DataWindow Builder

For DataWindow creation without Powerbuilder

What is the DataWindow.NET?

Page 8: TechWave 2004 Recap for Application Developers

8

The DataWindow .NET Implementation

From the Visual Studio .NET toolbox Select and drop the DataWindowControl onto a Windows Form. Two important properties are exposed: Enter the name of the DataWindow Object to use in the DataWindowControl Enter a library name from where to load the DataWindow Object

.

How do you use it

Page 9: TechWave 2004 Recap for Application Developers

9

DataWindow .NET Implementation

Add coding to manipulate the DataWindow Visual Studio adds some boilerplate coding to instantiate the basic

DataWindowControl Initialize the DataWindow..

How do you use it?

DWC1.InitDataWindow( );

Page 10: TechWave 2004 Recap for Application Developers

10

DataWindow .NET Implementation

Add coding to manipulate the DataWindow Instantiate and populate a Transaction object Using the name “SQLCA” creates a look consistent with Powerscript usage

How do you use it?

Sybase.DataWindow.Transaction SQLCA = new Sybase.DataWindow.Transaction( );SQLCA.DBMS = "ODBC";SQLCA.DBParm = "ConnectString='DSN=EAS Demo DB V4; UID=dba;PWD=sql;sqlcache = 1,disablebind = 1'";SQLCA.Autocommit = false;

Page 11: TechWave 2004 Recap for Application Developers

11

DataWindow .NET Implementation

Connect to the DataSource

Set the DataWindow’s Transaction Object

How do you use it?

SQLCA.Connect( );DWC1.SetTransObject ( SQLCA )

Page 12: TechWave 2004 Recap for Application Developers

12

DataWindow .NET Implementation

Retrieve the DataWindow Add and Delete rows on the DataWindow The full support for all DataWindow methods is intended

How do you use it?

Int32 rows;

rows = DWC1.Retrieve( false, 0 );

DWC1.InsertRow ( 0 );

DWC1.DeleteRow( 0 );

DWC1.Update( );

Page 13: TechWave 2004 Recap for Application Developers

13

DataWindow .NET Implementation

DataWindow Events.. The DataWindowControl will support the same set of events as the

DataWindow

How do you use it?

Page 14: TechWave 2004 Recap for Application Developers

14

Fun facts about DataWindow .NET

DataWindow.DLL – approximately 20,000 lines of C# code DataWindowInterop.DLL - approximately 6,000 lines of C++

code XML documentation – approximately 7,000 lines

Used to creates documentation in the object browser, intellisense and dynamic help in Visual Studio

PBDWN100.DLL – the DataWindow server is approximately 325,000 lines of C++ code

Page 15: TechWave 2004 Recap for Application Developers

15

Future plans for DataWindow .NET

The next release will support WebForms and ASP .NET Much more direct access to DataWindow object properties using the

DataWindow .NET object model Planned for about 6 months after 1.0

The next release after that We have no concrete plans yet but we are considering

Some kind of support for ADO DataSets and DataTables

Additional ADO .NET support

Page 16: TechWave 2004 Recap for Application Developers

16

The “XML Web DataWindow”

Solution

Utilize latest web technologies: XHTML Client-side XML Client-side XSLT Standalone CSS stylesheet (with cascaded absolute positioning)

Page 17: TechWave 2004 Recap for Application Developers

17

Separating Presentation from Content

Within DataWindow: Content = data values of column, compute, and text controls Presentation = visual and functional properties of DW controls

Benefits of Separating: Accessibility Targeted presentation using stylesheets Improved processing by browser

Page 18: TechWave 2004 Recap for Application Developers

18

XHTML Benefits

Presentation can now be stored in separate stylesheet documents (CSS and XSL) for XHTML page

Different stylesheets more easily generated for different browsers

Targeted Presentation

Page 19: TechWave 2004 Recap for Application Developers

19

Client-Side XML

XML Content

CSSXHTML

XSLTDetermines structural

layout

Determines style ofelements as displayed

in browser

Page 20: TechWave 2004 Recap for Application Developers

20

Why Use Client-Side XSLT?

Benefits: Saves bandwidth Clients only need to download and cache XSLT code once for

DataWindow session Server processing is reduced with more work being done on client

Page 21: TechWave 2004 Recap for Application Developers

21

Powerbuilder’s place in .NET

Powerbuilder 11 will: Compile Powerscript code to MSIL Allow Powerscript to run under the Common Language Runtime

Allow Powerscript access to .NET class libraries Allow Powerscript to consume both Microsoft and other .NET objects

Allow .NET objects to access Powerbuilder objects NVO etc.

Powerbuilder futures

Page 22: TechWave 2004 Recap for Application Developers

22

PowerScript.NET

Compile a PowerBuilder target into a .NET application. Import and use .NET classes written in other languages. Extend .NET classes written in other languages.

What can you do with it?

Page 23: TechWave 2004 Recap for Application Developers

23

WinForm/WebFormApplication

Overview of PB to .NET Compiler

PBLfiles

C#Code

Main modules of the PB to .NET compiler

pb2cs

PBCompiler

Framework

PBSystemLibrary

For .NET

generates compiles

References toDepends on

Page 24: TechWave 2004 Recap for Application Developers

24

Assemblies of PB system library for .NET

Overview of PB to .NET Compiler

Sybase.PowerBuilder.Core.Dll

Sybase.PowerBuilder.Interop.Dll

Sybase.PowerBuilder.Common.Dll

Sybase.PowerBuilder.Web.DllSybase.PowerBuilder.Win.Dll

PBSHR.Dll

DB Drivers

DataWindowWeb Control

DataWindowControl3rd party

Web Controls

Page 25: TechWave 2004 Recap for Application Developers

25

Implemented using .NET Windows Forms controls. No PBVM involved. Make use of DataWindow.NET (supports dot notation)

PB Windows Forms

Page 26: TechWave 2004 Recap for Application Developers

26

ASP.NET Form-based programming method. Event-driven programming Ready-to-use Web controls that hide the details of HTML rendering. State management ASP.NET applications are compiled, and thus fast.

PB WebForm for .NET

Page 27: TechWave 2004 Recap for Application Developers

27

PB WebForm Architecture (2-tier applications)

PB WebForm for .NET

PB App Database

WebBrower

PB WebFormApp

Web Server

Database

DB drivers

DB driversASP.NET

PB application

PB WebForm application

Page 28: TechWave 2004 Recap for Application Developers

28

App Server

PB WebForm Architecture (3-tier applications)

PB WebForm for .NET

PB Client App Database

WebBrower

Database

PBComponents

PBComponents

PB WebFormApp

Web Server

ASP.NET

App ServerPB application

PB WebForm application

Page 29: TechWave 2004 Recap for Application Developers

29

Page life cycle

PB WebForm for .NET

Image copied from http://www.dotnetguru/us/articles/JSFvsWebForms/JSFvsWebForms.html

Page 30: TechWave 2004 Recap for Application Developers

30

Powerbuilder’s place in .NET

Powerbuilder is committed to full citizenship in the .NET world

PowerBuilder supported Web Services in PB 9.0. Web Service support is enhanced in PB 10.0 PB 10.0 introduces the DataWindow .NET PB 11.0 will introduce compiler support for .NET

PB to .NET Compiler In PB11

Deploy PB applications as WinForm/WebForm applications. Make use of .NET classes.

Beyond PB11 Debugging WinForm/WebForm applications in PB IDE

Summary

Page 31: TechWave 2004 Recap for Application Developers

31

Next-Generation PowerScript Langauge

Continue to be a productive language A general-purpose language More object-oriented A high-level language but can do low-level things Support both .NET and Java Extensible Lots of utilities

Going forward…

Page 32: TechWave 2004 Recap for Application Developers

32

Package & imports Parameterized constructors Interface?

PowerScript Enhancements

Page 33: TechWave 2004 Recap for Application Developers

33

PocketBuilder Overview

"Don't think big…Think Small!!"

PocketBuilder is now coming to aid corporate development of Pocket PC applications, brining all the benefits I have mentioned above - RAD 4 GL and even the DataWindow technology.

Page 34: TechWave 2004 Recap for Application Developers

34

Why PocketBuilder ?

Pocket PCs Send/receive email with Pocket Outlook Sync your calendar Sync your contacts Sync your tasks Comes with Pocket Word Comes with Pocket Excel Comes with Pocket IE Connects to the internet

  

Page 35: TechWave 2004 Recap for Application Developers

35

Why PocketBuilder ?

Pocket PCs with phone edition are powerful tools Constant Data Connections 'Always Up-to-Date' Calendar, Contacts and E-mail SMS Enhancements Enhanced Messaging Support Connectivity Notifications Dual Volume Controls Richer Ring Tone Support Call Barring Enhanced Contacts Call Mute

Smartphone Similar to Phone Edition Limitations on device

  

Page 36: TechWave 2004 Recap for Application Developers

36

Different Functionality

Integration with POOM Pocket Outlook Object Model POOM is the key to the Pocket Outlook

object managers repository This repository is the object store for

the Pocket PC contact manager, appointment manager & task manager.

So with the POOM object & Pocket PowerBuilder we can now enquire, access, create, update & delete contacts, appointments and tasks programmatically from within Pocket PowerBuilder applications in a very 4GL way.

POOM

FindApointmentFindNextAppointmentRemoveAppointmentGetAppointmentGetAppointmentsetcSameForContactsSameForTasks

POOMContact

FirstNameLastNameAddress1Address2etc

POOMAppointment

StartDurationRecurrenceSubjectBodyetc

POOMTask

SubjectBodyDueDateReminderRecurrenceetc

POOMRecurrence

DayOfMonthDayOfWeekIntervalEndDateetc

POOMRecipient

NameAddress

Page 37: TechWave 2004 Recap for Application Developers

37

How does it differ from PowerBuilder?

Unsupported Functions OLE

DDE

CORBA

Profiling

Printing

Rich Text and a few more

Unsupported Events help()

closequery()

anything to do with remote (example remoteexec()), hotlinkalarm() and toolbarmoved().

Page 38: TechWave 2004 Recap for Application Developers

38

How does it differ from PowerBuilder?

Unsupported Features MDI applications,

EAServer connections,

Web and JSP targets,

and Automation server.

NO PFC !

Page 39: TechWave 2004 Recap for Application Developers

39

Agenda

PowerDesigner Overview PowerDesigner 10 for PowerBuilder PowerDesigner Roadmap PowerDesigner 10 and PowerBuilder 10 Together

Page 40: TechWave 2004 Recap for Application Developers

40

Why Modeling? – An analogy

The Architect validatesthe concept with the clientFrom these drawings, a technical diagram will be derived

The Contractors will take this blueprint and optimise it based on technical considerations – linked to the Architectural View

Would you build a house without a blueprint ?

Page 41: TechWave 2004 Recap for Application Developers

41

TraditionalE/R DataModeling

(James Martin)

Object-orientedModeling

(UML techniques)

Business ProcessModeling

(emerging standards)

Designers/Analysts,DBAs, Database Developers

Design Tools Market Landscape

Designers/Analysts,Developers, Programmers

Business AnalystsLOBsCIOs

Three markets converging

Page 42: TechWave 2004 Recap for Application Developers

42Source Sybase

Rep

osito

ryBusiness

centric

ITcentric

PowerDesigner 10

Development

Analysis&

Design

BusinessAnalysis

Business-centric Control Flow diagram

Entity/Relationship modeling (and DW extensions)

UML modeling (all diagrams)

RDBMS structuresObject Relational mappingJava, .Net, XML, PB... supportIDEs & App Server support

Tem

plates, G

eneric G

enerato

rs,U

ML

pro

files, mo

del-to

-mo

del g

eneratio

n…

Integrated Enterprise Modeling Tool

Page 43: TechWave 2004 Recap for Application Developers

43

Link and Synchronize All Models

PowerBuilder,Java, J2EEXML, WSDL

Forward Engineering

Reverse Engineering

Round-trip Engineering

Import/Export

ODBC

C++, C#, VB.Net,

Web Services, etc...

Business ProcessModel(BPM)

ebXML, MessageBroker,

Ohio

Database SQL Script(DDL)

O/R

Map

pin

g

Conceptual DataModel(CDM)

Physical DataModel(PDM)

Object-Oriented Model(OOM)

Page 44: TechWave 2004 Recap for Application Developers

44

PowerDesigner 10 Features Summary

PowerDesigner is a good enterprise modeling tool Leading Data Modeling tool Complete UML support (9 UML diagrams) Business Process Modeling features Good Repository

Integration with Integration Orchestrator, Message Broker, ebXML

Design and generate code for PowerBuilder, Web Services, J2EE (EJB, O/R mapping), .NET, etc.

Support all major databases (more than 30) Support major application servers (EAServer, WebLogic,

WebSphere) Integration with IDEs (Eclipse, JBuilder 8, Ant) Support MDA Extensibility (Profile, Code generator, VBScript, OLE

automation)

Page 45: TechWave 2004 Recap for Application Developers

45

PowerDesigner Value Proposition

Help users to understand how the application was developed. Help users to visually see the relationship between objects. Help users to improve existing code, refactor the code. Regenerate PowerBuilder application. Generate documentation (report) in HTML and RTF format.

Page 46: TechWave 2004 Recap for Application Developers

46

PowerDesigner for PowerBuilder Features Summary

PowerDesigner 9.5.2 introduced complete support for all PowerBuilder objects reverse engineering and generation

Support libraries (.pbl) and source files (.sr*) Support PowerBuilder 6, 7, 8 and 9 PowerBuilder tool palette for creating new objects Model verification Generate & reverse PowerBuilder extended attributes in PDM

Page 47: TechWave 2004 Recap for Application Developers

47

PowerDesigner and PowerBuilder Together

PowerDesigner: A Plugin Component in PowerBuilder 10 Reverse Engineer From PowerBuilder Design and Generate PowerBuilder Code Using

PowerDesigner Navigation Between PowerDesigner and PowerBuilder

Summary

Page 48: TechWave 2004 Recap for Application Developers

48

PowerDesigner and PowerBuilder TogetherPowerDesigner: A Plugin Component in PowerBuilder 10

Page 49: TechWave 2004 Recap for Application Developers

49

PowerDesigner and PowerBuilder Together

Design in PowerDesigner

Modify in PowerBuilder

Generate PowerBuilder Code

Debug and Run

Reverse Engineer to Update Class Diagram

Page 50: TechWave 2004 Recap for Application Developers

50

Future Direction

PowerDesigner 10.0 supports tight integration with PowerBuilder 10

PowerBuilder 10 will can embed PowerDesigner views inside PowerBuilder

PowerBuilder will be able to control PowerDesigner PowerDesigner generates complete PowerBuilder application

code (post 10.0)

Page 51: TechWave 2004 Recap for Application Developers

51

PowerDesigner Roadmap

PowerDesigner Athena (V10, December 2003) Integration with PowerBuilder Integration with Eclipse (Q1 2004) Major BPM improvements XML model Fully support MDA

PowerDesigner Minerva (end of 2004) Enterprise features (requirements, impact analysis, …) XML and Web Services in database UML 2.0 Design patterns

Page 52: TechWave 2004 Recap for Application Developers

52

Other Athena Features

Support C# and VB .NET reverse engineering Improve Web Services support (support Apache Axis, …)

Page 53: TechWave 2004 Recap for Application Developers

53

Audience.Query()