TechWave 2004 Recap for Application Developers

Preview:

DESCRIPTION

TechWave 2004 Recap for Application Developers. Donald D. Clayton President Intertech Consulting, Inc. dclayton@intertech.us 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

TechWave 2004 Recap for Application Developers

Donald D. ClaytonPresident

Intertech Consulting, Inc.dclayton@intertech.us

August 18-19, 2004

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

3

The Enterprise. Unwired.

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

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.

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

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?

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

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

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;

11

DataWindow .NET Implementation

Connect to the DataSource

Set the DataWindow’s Transaction Object

How do you use it?

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

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

13

DataWindow .NET Implementation

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

DataWindow

How do you use it?

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

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

16

The “XML Web DataWindow”

Solution

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

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

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

19

Client-Side XML

XML Content

CSSXHTML

XSLTDetermines structural

layout

Determines style ofelements as displayed

in browser

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

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

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?

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

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

25

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

PB Windows Forms

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

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

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

29

Page life cycle

PB WebForm for .NET

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

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

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…

32

Package & imports Parameterized constructors Interface?

PowerScript Enhancements

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.

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

  

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

  

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

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

38

How does it differ from PowerBuilder?

Unsupported Features MDI applications,

EAServer connections,

Web and JSP targets,

and Automation server.

NO PFC !

39

Agenda

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

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 ?

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

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

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)

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)

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.

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

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

48

PowerDesigner and PowerBuilder TogetherPowerDesigner: A Plugin Component in PowerBuilder 10

49

PowerDesigner and PowerBuilder Together

Design in PowerDesigner

Modify in PowerBuilder

Generate PowerBuilder Code

Debug and Run

Reverse Engineer to Update Class Diagram

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)

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

52

Other Athena Features

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

53

Audience.Query()

Recommended