techwave 2004 recap for application developers
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 PresentationTRANSCRIPT
TechWave 2004 Recap for Application Developers
Donald D. ClaytonPresident
Intertech Consulting, [email protected]
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()