Xavier Cuerva
Septembre 2007
Marché de PowerBuilder et Feuille de Route
15
Objectifs de Sybase
• Attirer les développeurs de nouvelles applications
• Focalisation sur les plateformes .NET et Eclipse
• Support aux serveurs Sybase
• Proposer des avantages technologiques différents des competiteurs dans un 4GL
• Utilisation de la technologie de la DataWindow dans toutes les offres de SYBASE, pierre angulaire du développement.
Les produits de la famille PowerBuilder
• PowerBuilder– 4GL pour le développement d’applications Windows, Web, et distribuées– Téchnologie pour simplifier le développement .NET
• PowerBuilder Application Server Plug-in– Dernier membre de la famille PowerBuilder– Déploiement de NVOs PowerBuilder dans des serveurs d’applications J2EE
• PocketBuilder– 4GL RAD pour dispositifs mobiles
• DataWindow .NET– Productivité d’un 4GL avec Visual Studio .NET
DataWindows partout…
– PowerBuilder pour Client/Serveur, Web, Web Services et .NET– PowerBuilder Application Server Plug-In
• WebLogic• WebSphere• JBoss
– DataWindow .NET– PocketBuilder
Les DataWindows réduisent considérablement le codage d’une application
Le Painter de la DataWindow fournit une interface graphique intuitive assurant une productivité élevée
Messages
• Sybase investit dans PowerBuilder– PowerBuilder 11 délivre de nombreuses fonctionnalités
• Amélioration des pilotes de Bases de Données• Amélioration de la DataWindow• Amélioration de l’environnement de développement
– …et fonctionnalités majeures• Déploiement pour .NET • DataWindow Web Services• Nouveau pilote pour SQL Server• Sybase s’engage dans le support de la plateforme .NET
– PowerBuilder 11 release– DataWindow .NET 2.5
Feuille de Route PowerBuilder Développement simplifié aujourd’hui et demain
2007PowerBuilder 11.0
.NET Simplifié
• Déploiement d’applications et NVO vers .NET
• Etendre l’investissement dans PB
• Actualisations IU• Support pilote natif
SQL SERVER
.NET Exploité
2008PowerBuilder 12
• Héritage de classes .NET
• Support WPF/WCF au design et runtime
• Managed code total• Interoperabilité
complète avec .NET
.NET Amélioré
2007PowerBuilder 11.1
• Rebuild Incrémental .NET
• Support pilote Informix 10 natif
• Support Vista officiel
Fonctionnalités PowerBuilder 11
15
Fonctionnalités de la version PowerBuilder 11 • Améliorations de l’environnement de développement et Interface Utilisateur
• Améliorations de la DataWindow
• Connectivité Base de Données actualisée
• Déploiement .NET – Applications Web Form .NET / ASP .NET 2.0– Applications Windows Form .NET et Applications Smart Client– Web Services .NET – Assemblies .NET
Améliorations Environnement de Développement et Interface Utilisateur
10
Env. de Développement
• AutoScript
Env. de Développement
• AutoScript
• Boîtes de dialoguedimensionnables
Env. de Développement
• AutoScript
• Boîtes de dialogue dimensionnables
• Menus et ToolBars actualisés
Env. de Développement
• AutoScript
• Boîtes de dialogue dimensionnables
• Menus et ToolBars actualisés
• System Tree
Env. de Développement
• AutoScript
• Boîtes de dialogue dimensionnables
• Menus et ToolBars actualisés
• System tree
• Project painter
Env. de Développement
• AutoScript
• Boîtes de dialogue dimensionnables
• Menus et ToolBars actualisés
• System tree
• Project painter
• Onglets outputWindow
Env. de Développement
• AutoScript
• Boîtes de dialogue dimensionnables
• Menus et ToolBars actualisés
• System tree
• Project painter
• Onglets output window
• Animation de fenêtres et Transparence
Démonstration des améliorations de l’environnement de développement et Interface Utilisateur
10
Améliorations de la DataWindow
10
Améliorations de la DataWindow
• Affichage point de suspension lorsque les données sont tronquées (Ellipse)
• Mémorisation des valeurs des Retrieval Arguments de la DataWindow
• DataWindow TreeView en mode Web
• Web Service comme source de la DataWindow
Affichage des points de suspension
Mémorisation des valeurs des Retrieval Arguments
Ne s’applique pas au runtime
DataWindow TreeView en mode Web
Fonctionnalités additionnelles de la DataWindow en mode TreeView
• Support “Zero-height” dans la bande de détail pour cacher des noeuds de l’arbre
• Evènnements TreeView dans le contrôle standard
Web Service comme source de la DataWindow
• Récupération de données via un Web Service– Elimine l’installation d’un software client sur la machine de
l’utilisateur final
• “Result Set” Web Service – Support des types de données
• Type de données simples (ou tableau de types des données simples)
• Structures non imbriquées (ou tableau de structures non imbriquées)
– Options de récupération des données
• Code Retour
• Paramètres par référence de type output
Définition d’une DataWindow Web Service
DataWindowPainter
Support Web Service avec
le moteur.NET
Metadonnées
WSDLObjet DataWindow
Generation.NET
Assembly
Récupération des données avec DataWindow Web Service
• Avec la syntaxe existante Retrieve ()
• Optionnel, objet
wsconnection au
runtime– Endpoint
– User ID et password
– Timeout
– Options de Sécurité
– Paramètrage Serveur Proxy
Actualisation d’une DataWindow Web Service
• Similaire à l’actualisation avec des procédures stockées
Gestion des erreurs avec une DataWindow Web Service
• Nouvel évènnement WSError, similaire à DBError
Argument Description
Operation Type d’opération (Retrieve, Update, Insert, Delete, …)
Rownum Numéro de la ligne
BufferName Nom du buffer accédé lors de l’erreur
WSInfo Le fichier WSDL, l’URL ou l’assembly utilisée par le WS
Method Nom de la méthode WS accédée
ErrorMessage Message d’exception retourné par la méthode
DataWindow Web Service au Runtime
Web Service
Engine DataWindow
Support WS avec le
moteur .NET
Assembly générée,
framework.NET
Récupération
Données en Retour
Metadonnées
Démonstration des améliorations de la DataWindow
Améliorations de la connectivité Base de Données
5
Améliorations de la connectivité Base de Données
• Nouveau pilote natif pour Sybase Adaptive Server Enterprise (ASE) 15
• Nouveau pilote natif pour Microsoft SQL Server
• Support Oracle RAC
• Support MobiLink
• La nouvelle interface supporte la version 15– SQLCA.DBMS = “ASE” (nom de la DLL PBASE110.DLL)– Nécessite Open Client 15– Fonctionnalités de la version 15 supportées
• Identifiants jusqu’à 128 caractères• Curseurs Scrollable• Nouveau type de données (uint …)
– Support uniquement ASE 15 (Release Parameter prend la valeur 15 uniquement)
• L’interface SYC actualisée pour supporter quelques fonctionnalités de ASE 15
– Curseurs Scrollable– Nouveau type de données (uint, ulong …)
Sybase Adaptive Server Enterprise (ASE) 15
Microsoft SQL Server
• Nouveau pilote natif– SQLCA.DBMS = “SNC” (nom de la DLL PBSNC110.DLL)– Supporte SQL Server 2000 et 2005– Nécessite l’installation du client SQL SERVER 2005
• Support SQL Server 2005 – Multiple active result sets (MARS)– Snapshot isolation level
• Support DBParm– Mémorisation (Cache) de la description des paramètres d’une procédure stockée
(SPCache)– Incorporation des paramètres Host et AppName disponibles dans le driveur natif
MSS
Oracle Real Application Clusters (RAC)
• RAC est une option d’ORACLE pour accéder une même Base de Données depuis plusieurs machines (nécessite un disque partagé shared-disk)
• Supporté par PowerBuilder dans le pilote Oracle 10g uniquement
• Gestion des évènnements avec RAC lors d’une erreur BD– Definition d’un custom Transaction object– Initialiser le paramètre HANotification dans DBParm pour permettre la notification– Implémentation de l’évènnement DBNotification dans l’objet Transaction– Code retour de DBNotification
• 0: Exécuter un failover• Autre valeur: stoppe la commande courante et retourne l’erreur
Support Mobilink
• Technologie SYBASE de synchronisation orientée session entre une base de donnée centrale et plusieurs bases de données distantes
• Nouveaux objets PowerBuilder pour supporter les applications .NET Windows Form
– MLSynchronization – classe abstraite de base pour MLSync– MLSync – Encapsule les appels à dbmlsync.exe pour
exécuter les synchronisations et répondre aux callbacks– SyncParm – structure utilisée pour assigner les propriétés de
l’objet MLSync obtenues à partir de la fenêtre de synchronisation
– SyncProcessType – Enumération indiquant la direction de la synchronisation
PowerBuilder et .NET
5
3ème phase de l’intégration avec .NET
• Web Services (PB9)
• DataWindow .NET (PB10)
• Déploiement .NET (PB11)
• Utilisation des Ressources .NET (PB12)
Compilateur PowerBuilder .NET
• Le déploiement s’appuie sur le compilateur C# du SDK .NET
• L’exécution s’appuie sur les librairies système .NET de PowerBuilder
PB2CS
FrameworkCompilateur
PB .NET
Librairie SystèmePB .NET
Code C#Application
.NET
Génération
Dépend de Référence
PBLs
Tour d’horizon PB .NET
PowerBuilder .NET Runtime
Application PB .NET
PB Native DLLs
Architecture des applications PowerBuilder .NET
.NET Framework
3rd Party .NETAssemblies
Windows 32 Platform
.NET interop
Déploiement d’applications .NET:Applications Web Form avec ASP.NET 2.0
20
Architecture:Applications.NET Web Form
DB Drivers
DataWindow .NETWebForm Control
Application PB Web Form
PB System Library for .NET
Application PB
Compilée
Unmanaged DLLs (sans PBVM)
Sybase.PowerBuilder.Core.DLL
Sybase.PowerBuilder.Interop.DLL
Sybase.PowerBuilder.Common.DLL
Sybase.PowerBuilder.Web.DLL
PBSHR.DLL
PBDWM.DLL
Au déploiement
• Le code PowerScript est compilée en une Assembly .NET
• Les fichiers PBDs avec des objets DataWindow sont copiés
• Les fichiers de Ressource sont copiés– Images PowerBuilder– Fichier INI
• Les fichiers ASP.NET sont générés– default.aspx: La page ASP.NET principale– default.htm: Cache les toolbars et Menus de IE de la page default.aspx
Fonctionnalités PowerBuilder supportées
• La plupart des fonctionnalités du langage– Tous les types de données– Invocation des fonctions (dynamic, post, trigger)– Gestion evènnementielle– SQL Embarqué
• La plupart des contrôles visuels et non visuels– Rich Text Control sera supporté dans un prochain patch– Objet Pipeline supporté dans la prochaine maintenance release
• Operations sur Fichiers: File Manager
• Envoi d’email (via SMTP et non MAPI): Mail Manager
• Impression de DataWindow: Print Manager
Fonctionnalités PowerBuilder non supportées
• Quelques classes systèmes– Classes Profile (Profiling est disponible via configuration WEB)– Classes Trace (SQL Tracing est disponible via configuration WEB)
• Quelques fonctions systèmes– Fonctions relatives au DDE– Fonctions relatives à la gestion du presse-papier
• Quelques contrôles, propriétés et évènnement– OLEControl / OLECustomControl (support partiel)– InkPicture / InkEdit– Evènnements Drag-and-drop– EditLabels dans TreeView
Démonstration Applications Web Form .NET
Déploiement d’applications .NET:Applications Windows Form et Smart Client
30
Architecture:Applications .NET Windows Form
DB Drivers
DataWindow .NETWindows Form Control
PB System Library for .NET
Application PBCompilée
Unmanaged DLLs (sans PBVM)
Application configApplication manifest
Sybase.PowerBuilder.Core.DLL
Sybase.PowerBuilder.Interop.DLL
Sybase.PowerBuilder.Common.DLL
Sybase.PowerBuilder.Win.DLL
PBSHR.DLL
PBDWM.DLL
Application PB Windows Form
Applications PowerBuilder .NET Windows Form
• Supporte la plupart des fonctionnalités disponibles dans les applications Win32– Fonctionnalités PowerScript
– DataWindow, Editmask, RichText, InkEdit, InkPicture,…– DataStore, Transaction, ResultSet,…– La plupart des fonctions systèmes
• Utilisation de classes .NET via l’interoperabilité PowerScript .NET
• Préserve les compétences du développeur PowerBuilder – Créer une application PowerBuilder– Déployer l’application comme une application .NET Windows Form
Support PowerBuilder pour application .NET Smart Client
• Résoud le plus gros problème…
…Le Déploiement d’applications
• Le meilleur des applications Client-Serveur • L’ubiquité du net
Comparaison entre Client Riche, Léger et Smart
Client Riche Client Léger Client Smart
Interface riche Oui Non Oui
Temps de Réponse rapide Oui Non Oui
Runtime Client Oui Non Non
Versions des DLLs Oui Non Non
Dépendance Réseau Non Oui Non
Déploiement Facile Non Oui Oui
Productivité du développeur Oui Non Oui
Connecté occasionnellement Non Non Oui
Perf réseau avec peu de bande passante Non Non Oui
Utilisation de ressources locales Oui Non Oui
Support PowerBuilder .NET Smart Client
• Connecté occasionnellement– PowerBuilder avec MobiLink
• Dernière version des applications– PowerBuilder “Intelligent Update”
• Utilisation des ressources du poste client– Applications déployées comme .NET Windows Form (Rich Client)
• Communication avec des Web Services– DataWindow Web Service
• Utilisation des ressources réseau– DataWindow Web Service– PowerBuilder “Intelligent Update”– PowerBuilder et MobiLink
Intelligent Update, Tour d’horizon
• Réduit les problèmes liés à l’actualisation des applications Client-Serveur
• Basé sur la technologie “ClickOnce” du .NET Framework 2.0
• Déploiement d’applications Windows Form aussi facile que le déploiement d’applications Web
Modèle de Déploiement
Les installations et les actualisations sont déployées sur des serveurs centralisés (via HTTP, FTP, UNC,…)
Démonstration des applications .NET Windows Form/Smart Client
Utilisation des ressources .NET:PowerBuilder 11 et Interopérabilité .NET et compilation conditionnelle
10
Interopérabilité .NET
• Permet l’utilisation de ressources non visuelles .NET– Common Type System (CTS) supportés
– Interfaces .NET
• Extensions du langage PowerScript– Support compilation conditionnelle
– Constructeurs paramétrés
– Propriétés et méthodes statiques
– Propagation des exceptions .NET
– Enumerations
– Namespaces
• Le System Tree inclus les meta-données des assembly .NET
Démonstration de PowerBuilder 11 et Interopérabilité .NET
Création de Ressources .NET:Déploiement de NVOs comme Assemblies .NET
10
Déploiement de NVOs comme Assemblies .NET
• Target .NET Assembly
• Types de données PowerScript mappés à C#
DataWindow .NET
NVO .NET Assembly PBLs avec NVOs
PB System Library for .NETUnmanaged DLLs
(sans PBVM)
Architecture:.NET Assemblies
Sybase.PowerBuilder.Interop.DLL
Sybase.PowerBuilder.Common.DLL
Sybase.PowerBuilder.Win.DLL
Sybase.PowerBuilder.Core.DLL
PBSHR.DLL
DB Drivers
PBDWM.DLL
Compilées
Démonstration, déploiement de NVOs comme Assemblies .NET
Création de Ressources .NET:Déploiement de NVOs comme Web Services .NET
15
Déploiement de NVOs comme Web Services .NET
• Target .NET Web Services
• Comportement Stateless (sans-état entre appels)
• Méthodes Publiques mappées comme des messages Web Service– Possibilité d’exclure des méthodes lors du déploiement– Synonymes de méthodes permis (overloading)
• Les types de données PowerScript sont mappés comme des types de données XML schema
DataWindow .NET
NVO ASP.NETWeb Service PBLs with NVOs
PB System Library for .NETUnmanaged DLLs
(sans PBVM)
Architecture:.NET Web Services
Sybase.PowerBuilder.Interop.DLL
Sybase.PowerBuilder.Common.DLL
Sybase.PowerBuilder.Web.DLL
Sybase.PowerBuilder.Core.DLL
PBSHR.DLL
DB Drivers
PBDWM.DLL
Compilées
Démonstration Déploiement de NVOs comme des WEB Services .NET
Le futur de PowerBuilder en exclusivité!
10
Windows Presentation Foundation (WPF)
• Applications graphiques Haute Fidélité– Animation Vectorielle
– XAML (Extendible Application Markup Language)
Démonstration de la DataWindow WPF
Le Futur de PowerBuilder
• PowerBuilder fera ce qu’il a toujours fait …
• …simplification du développement Windows
• … maintenant, simplification du développement .NET
Merci !