1.63k likes | 1.9k Views
PowerBuilder Strategic Direction. State of the Development Tools Market. 8,000 7,000 6,000 5,000 4,000 3 ,000 2,000 1,000 0. $ Millions. 2001 2002 2003 2004 2005 2006. 4GLs Web Professional Development Tools Software Construction Components.
E N D
State of the Development Tools Market 8,000 7,000 6,000 5,000 4,000 3,000 2,000 1,000 0 $ Millions 2001 2002 2003 2004 2005 2006 4GLs Web Professional Development Tools Software Construction Components 3GLS Analysis/Model/ Design/ Construction Source: IDC, 2003
Primary Approaches to Application Development Other 13% 4GL/RAD 3GLs 36% 23% OO 3GLs Source: IDC 28%
The State of Application Development The primary focus in application development remains building or maintaining enterprise wide two-tier transactional applications using 4GL/RAD tools. Stephen D. Hendrick - IDC
The State of Application Development N = 201, Source: IDC, 2002
RMI WSDL COM XML J2EE HTTP .NET SSL JNI B2B TCP/IP CORBA How do we sort it all out?
Priority: What Are the Strategic Application Development Initiatives for End Users? Rank each of the following strategic business initiatives Maintain/enhance existing applications Integrate internal applications Build, deploy, customize new applications Increase productivity of development process Build e-commerce solutions Integrate applications with external suppliers Build and deploy mobile/handheld applications Utilize open source solutions Integrate applications with online exchange 0% 20% 60% 80% 40% % responding “extremely” or “highly” likely Source: IDC, SW Strategies & Investment Survey, Final, Users, Fall 2001, n = 218
Uses for PowerBuilder: Today and in the Future PowerBuilderToday 80% Client-Server Only Some Web Projects 17% Most Web Projects 3% PowerBuilderFuture 50% Client-Server Only Some Web Projects 42% Most Web Projects 8% Source: Novalys Inc.; 3,400 Respondents; 101 Countries
What is Important to Your Organization Today? • Protect your existing technology investment • Stay current with industry trends and new technology • Gain a competitive advantage • Incorporate new technology into existing applications • Minimize costs • Protect your existing people investment • Utilize their existing skills • Give them a platform for the future
Comprehensive Architecture You can build and generate many object models, communicate with standard protocols, and deploy to a variety of platforms. Process Model Web Services XML .NET Wireless Smart Client Component Model J2EE JSP Application Server(s) Thin Client Data Modeling DataWindow RAD Tools Database(s) Rich Client PowerBuilder PowerDesigner
Sybase Development Vision To be the integrated development environment (IDE²) of choice for all application architectures
Integrated Development Environment • Rich Client • Thin Client • Smart Client • Business Processes Supports Yields HighestApplication Productivity and Fastest Timeto Deploy
Integrated Development Environment: Existing and New Applications PowerBuilder Reverse Engineering Heterogeneous Support 4GL+ Java, J2EE, Corba,C++, C#, VB.Net, Web Services, etc. ModelingTool Round-trip Engineering PowerBuilder Round-trip Engineering Relational DatabaseManagement System (RDBMS)
Direction of Applications RAD Int. Environment Heterogeneous Integrated/ Strategic 3rd Generation 2nd Generation Stand Alone/ Operational 1st Generation Time
Beyond 4GL 4GL+ Life-cycle Development and Heterogeneous EnvironmentSupport Development Productivity 4GL — VisualDevelopmentEnvironment (IDE) 3GL— ProgrammingLanguages Time
PB and .Net - Phased Implementation 1 4 Simplified.NET Objects WebServices PowerBuilder 3 2 PB’s .NET Compiler DataWindow.NET& DataStore.NET
PB and J2EE • PowerBuilder 8.0: • EAServer • EASI • Web Services Toolkit • PowerBuilder 9.0: • EJB Clients • PB Web Services • RAD Java Server Pages • Future: • NVO’s in 3rd Party Application Servers
Development in Heterogeneous Environments • Web Services .NET • Accessing components in .NET framework in PB IDE • .NET Compiler • DataWindow.NET • DataStore.NET • Enhanced Web DW • 4GL JSP support • Build, access, and consume Web services • DataWindow XML • XML services • Access EJBs in major application servers • Deploy NVO’s directly to major application servers • Continue enhancing JSP authoring and XML capabilities J2EE 2004+ Today -> 2003
Summary • Sybase pioneered 4GL and will continue to lead in application development through IDE2, giving you “Exponential Power” with the 4GL+ • Sybase is strongly committed to PowerBuilder; version 9.0 is available today and planning is underway for 9.5, 10.0 and beyond • Customer needs span from client-server to next-generation, to best development practices and PB will meet these requirements • Sybase will extend RAD for enterprise applications to RAD for mobile applications with Pocket PowerBuilder for handheld devices; release in Q3 2003
PowerBuilder 9.0 New Features • RAD Java Server PagesTM (JSPTM) Authoring • XML (Extensible Markup Language) • DataWindow (Export and Import) • PB DOM (XML Parsing in PowerScript) • PowerBuilder Native Interface (PBNI) • EJB Client Support • Web Services Support
RAD JSP Creating JSP Web Applications with PowerBuilder
Introduction to JSP Technology • JSP is… • A technology for delivering dynamic content • Based upon Java Servlet technology • JavaServer Pages • Contain standard HTML • Can contain Custom tags • Can contain JSP elements • JSP Actions • JSP Directives • Scripting Elements • At run time, are compiled into Servlets
JSP Authoring in PowerBuilder • New PowerBuilder Target Type (JSP Target) • Builds upon the existing Web Targets User Interface • New Wizard - JSP Target • Extensions to the Page Editor • System Tree Additions • Deployment Enhancements • EAServer’s JSP Container • Apache Tomcat • Command Line Deployment
JSP Authoring in PowerBuilder 9.0 PowerBuilder 9 provides a powerful object model for: • Data transfer between the web client and the application server • HTML generation • JavaScript generation for server scripts
JSP Authoring in PowerBuilder 9.0 • Wizard for: • Creating JSPs that call Web Services • WYSIWYG editing of JSP pages • Full access to the page source through the editor
RAD JSP Seeing the Technology in Action
XML DataWindow Importing and Exporting XML with the DataWindow
Review of XML Extensible Markup Language • Extends the ability to represent data • Metadata language=tags and layout can be customized • Data can be hierarchically structured with nesting • Easily parsed across applications, platforms, enterprises, and Web for data interchange • World Wide Web Consortium (W3C) XML 1.0 Recommendation at http://www.w3.org/TR/REC-xml
XML Document • Well-Formed if structure follows XML syntax rules • Contains one or more elements • Element is a tree/leaf containing start-tag, content, end-tag • Start-tag is a name, enclosed by angle brackets, with optional attributes • Attribute names must be unique for element; order insignificant • Attribute values must be quoted • One root; all element tags properly nested • Parsed element cannot contain recursive reference to itself • Valid if structure conforms to a DTD or Schema • DTD defines grammar for XML document • Subset can be internal or external
XML Names and Entity References • XML Names • can only contain alphanumeric characters (also non-english, such as ä, ç etc.), _ Underscore, - Hyphen, . Period • have to start with letter or underscore • are case-sensitive • Predefined entity references cannot occur within element text content and have to be replaced • < replaces < (less-than sign) • > replaces > (greater-than sign) • & replaces & (ampersand) • " replaces '' (double quote) • &apos replaces ' (single quote)
XML Document Example <?xml version="1.0" encoding="UTF-8"?> <tag_name> root element <tag_name2 attribute="female"> <name> <emp_fname>Fran</emp_fname> text content <emp_lname>Whitney</emp_lname> </name> <empty_element></empty_element> empty element <another_empty_element/> alternative notation </tag_name2> </tag_name>
XML Parsing DOM Parser • DOM provides API access to XML tree model • Useful if manipulating or re-traversing the document SAX Parser • Event-driven • Useful if extracting data once in single traversal Core Interfaces Specified by W3C • Extensions denoted by ‘DOM Level 2’, ‘DOM Level 3’
DataWindow Export/Import Template • Defines the mapping between values from a DataWindow and locations in an external document format, like XML • References can be: • DataWindow control values (text) • Text control • Column • Computed column • Computed field • Nested report • DataWindow Expressions (evaluated at runtime) • Data source column
DataWindow Export/Import Template • References in Template are specific to a DW namespace • Template persists within DW definition in PBL & SRD as a dependent object • Multiple Templates may be defined & saved for a DW • Each Template must be uniquely named within a DW namespace • A Template is applied by name in the DW Painter or at runtime with the new DW property UseTemplate • Templates are used for DW data export, data import, or both
Methods to Export XML Data DataWindow Painter File…Save Rows As… menu item Save as type: XML
Methods to Export XML Data SaveAs method integer dwcontrol.SaveAs ( string filename, saveastype saveastype, boolean colheading ) SaveAsType
DataWindow Properties in PowerScript Data.XML String containing DataWindow data exported in XML. PowerBuilder dot notation: dw_control.Object.DataWindow.Data.XML Describe argument: “DataWindow.Data.XML”
DataWindow Properties in PowerScript Data.XMLSchema String containing XML Schema generated from Template. PowerBuilder dot notation: dw_control.Object.DataWindow.Data.XMLSchema Describe argument: “DataWindow.Data.XMLSchema”
DataWindow Properties in PowerScript Data.XMLDTD String containing DTD generated from Template. PowerBuilder dot notation: dw_control.Object.DataWindow.Data.XMLDTD Describe argument: “DataWindow.Data.XMLDTD”
Importing XML Data into DataWindow • Analogous to XML export • DataWindow Import methods enhanced • XML Default Import (No XML Template is assigned) • Assumes coincident column data in XML document • XML Template Import • Piggybacks off same XML Template as for export to interpret logical structure and DataWindow mapping of XML document to import • Internally uses SAX parser for performance
DataWindow XML Default Import Import without Import.XML.UseTemplate specified: • XML document data (element text content) has to correspond to DataWindow column definition • XML elementtextcontent is imported in order of occurrence within XML document • Element tag names and all other content of the XML document are ignored • XML nesting within the document is disregarded
Empty Elements in XML Default Import • Empty elements are assumed to be empty values and imported as such into the DataWindow column • An element that contains only space, carriage return, new line or tab characters is treated as an empty element • An element that contains no text content, but any other content, e.g. a child element or comment, is not parsed as an element, empty or otherwise, and will be skipped for import
Example XML Default Import XML Document: <?xml version="1.0" encoding="UTF-8"?> <employee_list> <employee dept_id="100"> <emp_id>102</emp_id> <manager></manager> empty element <name> <emp_fname>Fran</emp_fname> <emp_lname>Whitney</emp_lname> </name> </employee> </employee_list> Column Import into DataWindow: Column 1 Column 2 Column 3 Column 4 102FranWhitney
Advantages of an XML Import Template • XML document structure doesn’t have to match DataWindow columns • Order of elements within XML doesn’t have to reflect DataWindow column order • Attribute values can be imported
DataWindow XML Import Template • Import Template needs to be created in DataWindow painter XML Template View • Template for export may be reused for import • Import.XML.UseTemplate property needs to be setin DataWindow painter or programmatically
XML Import Template • Defines mappings between XML element and attribute names of the XML document and DataWindow column names • Reflects nesting level where element and/or attribute import items can be located within the XML document
XML Import Template • If “Starts Detail” marker exists, element and attribute contents above this marker line are ignored
XML Import Template • If “Starts Detail” marker does not exist, all element and attribute mappings within the template are used for import • Other information within the Template (controls, comments, etc.) is ignored
PowerScript XML Parsing/Validation • Parsing/validation of XML document in PowerScript • can determine whether XML document is wellformed • complies to W3C XML specification • can determine whether XML document is valid • also matches a given grammar (DTD or XMLSchema) • uses Apache Xerces SAX http://xml.apache.org/xerces-c/index.html • needs PBXerces90.dll and Xerces-C_1_5_1.dll in the path