Presentation on theme: "TechWave 2004 Recap for Application Developers Donald D. Clayton President Intertech Consulting, Inc. August 18-19, 2004."— Presentation transcript:
TechWave 2004 Recap for Application Developers Donald D. Clayton President Intertech Consulting, Inc. firstname.lastname@example.org 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
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 XSLT Determines structural layout Determines style of elements 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/ WebForm Application Overview of PB to.NET Compiler PBL files C# Code Main modules of the PB to.NET compiler pb2cs PB Compiler Framework PB System Library For.NET generatescompiles References to Depends 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 DataWindow Web Control DataWindowControl 3 rd 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 AppDatabase Web Brower PB WebForm App Web Server Database DB drivers ASP.NET PB application PB WebForm application
28 App Server PB WebForm Architecture (3-tier applications) PB WebForm for.NET PB Client AppDatabase Web Brower Database PB Components PB Components PB WebForm App Web Server ASP.NET App Server PB 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…
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.
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 validates the concept with the client From 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 Traditional E/R Data Modeling (James Martin) Object-oriented Modeling (UML techniques) Business Process Modeling (emerging standards) Designers/Analysts, DBAs, Database Developers Design Tools Market Landscape Designers/Analysts, Developers, Programmers Business Analysts LOBs CIOs Three markets converging
42 Source Sybase Repository Business centric IT centric PowerDesigner 10 Development Analysis & Design Business Analysis Business-centric Control Flow diagram Entity/ Relationship modeling (and DW extensions) UML modeling (all diagrams) RDBMS structures Object Relational mapping Java,.Net, XML, PB... support IDEs & App Server support Templates, Generic Generators, UML profiles, model-to-model generation… Integrated Enterprise Modeling Tool
43 Link and Synchronize All Models PowerBuilder, Java, J2EE XML, WSDL Forward Engineering Reverse Engineering Round-trip Engineering Import/Export ODBC C++, C#, VB.Net, Web Services, etc... Business Process Model (BPM) ebXML, Message Broker, Ohio Database SQL Script (DDL) O/R Mapping Conceptual Data Model (CDM) Physical Data Model (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 Together PowerDesigner: 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, …)