PowerBuilder is an
integrated development environment
An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
owned by
SAP since the acquisition of
Sybase
Sybase, Inc. was an enterprise software and services company. The company produced software relating to relational databases, with facilities located in California and Massachusetts. Sybase was acquired by SAP in 2010; SAP ceased using the Syba ...
in 2010. On July 5, 2016, SAP and Appeon entered into an agreement whereby Appeon, an independent company, would be responsible for developing, selling, and supporting PowerBuilder.
Over the years, PowerBuilder has been updated with new standards. In 2010, a major upgrade of PowerBuilder was released to provide support for the
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
.NET Framework. In 2014, support was added for
OData, dockable windows, and 64-bit native applications. In 2019 support was added for rapidly creating RESTful
Web API
A web API is an application programming interface (API) for either a web server or a web browser.
As a web development concept, it can be related to a web application's client side (including any web frameworks being used).
A server-side web AP ...
s and non-visual .NET assemblies using the
C# language and the
.NET Core framework. And PowerScript client app development was revamped with new UI technologies and
cloud architecture.
Appeon has been releasing new features every 6-12 month cycles, which per the product roadmap focus on four key focus areas: sustaining core features, modernizing application UI, improving developer productivity, and incorporating more Cloud technology.
Features
PowerBuilder has a native data-handling object called a DataWindow, which can be used to create, edit, and display data from a database. This object gives the programmer a number of tools for specifying and controlling
user interface
In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine fro ...
appearance and behavior, and also provides simplified access to database content and
JSON
JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
or
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
from
Web service
A web service (WS) is either:
* a service offered by an electronic device to another electronic device, communicating with each other via the Internet, or
* a server running on a computer device, listening for requests at a particular port over a n ...
s. To some extent, the DataWindow frees the programmer from considering the differences between
Database Management Systems
In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and ana ...
from different vendors.
DataWindow can display data using multiple presentation styles and can connect to various data sources.
Usage
PowerBuilder is used primarily for building business
CRUD applications.
Although new software products are rarely built with PowerBuilder, many
client-server ERP products and
line-of-business applications built in the late 1980s to early 2000s with PowerBuilder still provide core database functions for large enterprises in government, higher education, manufacturing, insurance, banking, energy, and
telecommunications
Telecommunication, often used in its plural form or abbreviated as telecom, is the transmission of information over a distance using electronic means, typically through cables, radio waves, or other communication technologies. These means of ...
.
History
The First version of PowerBuilder was released by PowerSoft in July 1991
In December 2013 SAP announced the new version going directly to number 15 and released a
beta
Beta (, ; uppercase , lowercase , or cursive ; or ) is the second letter of the Greek alphabet. In the system of Greek numerals, it has a value of 2. In Ancient Greek, beta represented the voiced bilabial plosive . In Modern Greek, it represe ...
version. Key features included support for the .NET Framework v4.5,
SQL Server 2012,
Oracle 12,
Windows 8
Windows 8 is a major release of the Windows NT operating system developed by Microsoft. It was Software release life cycle#Release to manufacturing (RTM), released to manufacturing on August 1, 2012, made available for download via Microsoft ...
, OData and Dockable Windows. SAP later released this as version 12.6.
On May 31, 2019 PowerBuilder 2019 was launched by Appeon. This release supports
C# development. It provides a new C#
IDE, .NET data access objects, C# migration solution, Web API client, and UI themes.
On April 3, 2020 PowerBuilder 2019 R2 was launched by Appeon. This release includes a first-ever PowerScript-to-C# code converter, which can automatically migrate 80-95% of PowerBuilder business logic and DataWindows to
C#. Interoperability between PowerScript and .NET
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s is also now supported. Many existing features have also been enhanced.
On January 22, 2021 PowerBuilder 2019 R3 was launched by Appeon. This release provides a groundbreaking new app deployment technology called PowerClient, which securely automates the installation and update of client apps over
HTTPS
Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol (HTTP). It uses encryption for secure communication over a computer network, and is widely used on the Internet. In HTTPS, the communication protoc ...
. C# Web API development has been greatly enhanced with
asynchronous programming and support for
Amazon Aurora and
Azure cloud databases. Aside from many other new features, PowerBuilder 2019 R3 is a long-term support (LTS) version that replaces previous LTS versions
On August 6, 2021 PowerBuilder 2021 was launched by Appeon. The Cloud deployment capability of the PowerBuilder 2021 IDE, in conjunction with the matching PowerServer 2021 runtime, has been completely revamped to handle the most daunting projects with ease and bring PowerBuilder up-to-date with the latest .NET technologies. The presentation layer now executes PowerScript natively on Windows devices. The middle-tier has been rebuilt around
REST API standard with a pure .NET Core implementation. Added a new
CI/CD utility that integrates with
Git/
SVN and
Jenkins, compiles all PowerBuilder projects using the
command-line interface
A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
. It includes many other new features, which Appeon claims makes PowerBuilder one of the easiest and most productive tools for developing Installable Cloud Apps.
On September 4, 2022 PowerBuilder 2022 was launched by Appeon. This release brings enhancements to the productivity of developing both client/server & installable cloud apps and more security measures to safeguard your apps. It includes many new features, including
Windows 11
Windows 11 is a version of Microsoft's Windows NT operating system, released on October 5, 2021, as the successor to Windows 10 (2015). It is available as a free upgrade for devices running Windows 10 that meet the #System requirements, Windo ...
support, introducing time-saving functionalities to the IDE, such as Tabbed Code Editor, Jump to Objects, and Quick Code Search, and supports the latest
HTTP/2
HTTP/2 (originally named HTTP/2.0) is a major revision of the HTTP network protocol used by the World Wide Web. It was derived from the earlier experimental SPDY protocol, originally developed by Google. HTTP/2 was developed by the HTTP Working ...
and
TLS 1.3 protocols and two-way TLS authentication.
On August 4, 2023 PowerBuilder 2022 R2 was launched by Appeon. This release introduces a range of new features aimed at helping developers build powerful, feature-rich, and secure client/server and installable cloud apps more efficiently, including
tabbed windows, fillable
PDF
Portable document format (PDF), standardized as ISO 32000, is a file format developed by Adobe Inc., Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, computer hardware, ...
s, and
SMTP
The Simple Mail Transfer Protocol (SMTP) is an Internet standard communication protocol for electronic mail transmission. Mail servers and other message transfer agents use SMTP to send and receive mail messages. User-level email clients typi ...
client.
On January 8, 2024 PowerBuilder 2022 R3 was launched by Appeon. This release is a long-term support version. Features previously released in earlier releases have been enhanced and/or corrected.
Features
PowerBuilder is an
object-oriented programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
language. Nearly all of the visual and non-visual objects support
inheritance
Inheritance is the practice of receiving private property, titles, debts, entitlements, privileges, rights, and obligations upon the death of an individual. The rules of inheritance differ among societies and have changed over time. Offi ...
,
polymorphism, and
encapsulation. The programmer may utilize a common code
framework such as
PowerBuilder Foundation Classes, also known as PFC, to inherit objects from and leverage pre-existing code.
The DataWindow is the key component (and selling point) of PowerBuilder. The DataWindow offers a visual
SQL painter which supports
outer joins,
unions and subquery operations. It can convert SQL to visual representation and back, so the developer can use native SQL if desired. DataWindow updates are automatic — it produces the proper SQL at runtime based on the DBMS to which the user is currently connected. This feature makes it easier for developers who are not experienced with SQL.
The DataWindow also has the built-in ability to both retrieve data and update data via
stored procedure
A stored procedure (also termed prc, proc, storp, sproc, StoPro, StoredProc, StoreProc, sp, or SP) is a subroutine available to applications that access a relational database management system (RDBMS). Such procedures are stored in the database d ...
s or REST Web APIs as well as import/export JSON data. The RESTClient object introduced in PowerBuilder 2017 facilitates bridging the DataWindow with REST Web APIs and requiring minimal coding.
RDBMS interfaces
PowerBuilder offers native interfaces to all major databases, as well as
ODBC
In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An ...
and
OLE-DB, in the Enterprise version. There are many connectivity options that allow performance monitoring and tuning, such as:
# Integrated security
# Tracing of all SQL
# Isolation level
# Password expiration dialog
# Blocking factor
# Number of SQL statements to cache
# Use
connection pool
# Thread safety
# Trace ODBC
API
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
calls
Due to the information about the database schema (such as primary key information) that are stored in PowerBuilder's data dictionary, the code required to implement data display and browsing is greatly simplified, because the dictionary information allows generation of the appropriate SQL behind the scenes.
PowerBuilder supports the following ways of interacting with a database:
DataWindow: this is the simplest approach, relying on automatically generated SQL.
;"Embedded SQL": Embedded SQL supports SELECT, INSERT, UPDATE, DELETE and cursors. This option is used when the developer desires more control than is available with the DataWindow option. Example:
UPDATE my_employee SET STATUS = 'A';
IF sqlca.sqlcode<>0 THEN ...
;"Dynamic SQL": This is a form of parameterized SQL, where the user builds a string that may optionally have bind variables. Dynamic SQL may be used to create cursors as well.
Integration with third-party software
PowerBuilder supports
ActiveX
ActiveX is a deprecated software framework created by Microsoft that adapts its earlier Component Object Model (COM) and Object Linking and Embedding (OLE) technologies for content downloaded from a network, particularly from the World Wide W ...
and
OCX controls, both visible and non-visible. It also can use
OLE Automation as a client. However, PowerBuilder supports only
late binding, not
early binding. Therefore, when using OLE Automation, a dropdown of possible actions is not provided. PowerBuilder can also act as a
DDE client or server, providing a further mechanism to interoperate with other applications.
PowerBuilder can make Windows and third-party API calls, and, in general, works well with third-party libraries in
DLL files, however it does not directly support
callback functions.
Compilation and debugging
PowerBuilder offers a "/pbdebug" (or variants: "-pbdebug", "-pbd", "/debug", "-debug", "-deb") runtime switch, which creates a log file. This can help track down a bug "in the field", as the user simply emails this log file to the developer. It has another feature which can log all SQL statements to a file. It also has built-in performance profiling, an integrated debugger,
context-sensitive help, and an active newsgroup to provide support.
PowerBuilder applications are typically compiled to
p-code, which is then interpreted by the PowerBuilder run time. An application can also be compiled to
machine code
In computer programming, machine code is computer code consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). For conventional binary computers, machine code is the binaryOn nonb ...
, which can sometimes offer a performance benefit.
Criticism
Extensibility of the language was rather limited for older versions of PowerBuilder. To develop a solution that includes external
C++ code may not only require a competent C++ developer, but also a PowerBuilder expert to guide the developer through the myriad subtleties of the language and the PowerBuilder
Virtual Machine
In computing, a virtual machine (VM) is the virtualization or emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve ...
.
Inheritance and object-oriented features are limited to some
object types (Windows, Userobjects and Menus). In particular, it is not possible to inherit from a DataWindow. A PowerBuilder user cannot open a descendant and a parent at the same time in the painter, though they can see all ancestors' code while working on the descendant.
To address these criticisms, Appeon has set a new roadmap for PowerBuilder, which it publishes openly on the Appeon Website. Amongst developers, the (classic) PowerScript language itself, which is still available for compatibility reasons, is known as a "language built around the DataWindow", and PowerBuilder is known as the "IDE built around the DataWindow".
C# development centered around a new .NET DataWindow with automated migration of existing DataWindows was introduced in PowerBuilder 2019.
Community
Since Appeon took over PowerBuilder, it has launched a ne
official community websitefor PowerBuilder developers. This community website offers technical articles,
webinar
Web conferencing is used as an umbrella term for various types of online conference, conferencing and collaborative services including webinars (web seminars), webcasts, and web meetings. Sometimes it may be used also in the more narrow sense of ...
s, and Q&A, which are authored by community users. Appeon also hosts an annual user conference called Appeon Elevate, and recordings of the conference sessions are available from th
conference website There are a number of local user groups around the world that cooperate with Appeon to deliver abridged versions of the conference in seminar format and local language.
There are also a variety of grassroots community groups and resources for PowerBuilder developers to share and convene. PowerBuilderTV is series of webinars by PowerBuilder users and vendors that tend to focus on third party add-ons. PowerBuilder Central
is a community initiative to create a single source for third party add-ons and services.
PowerBuilder Tools
* Appeon PowerServer - Deploys existing or new PowerBuilder projects as cloud-native applications that runs on .NET Core with support for almost every single PowerBuilder feature, including the PFC framework.
* Visual Expert for PowerBuilder - Visual Expert helps in sharing the knowledge of your applications. It also automates impact analysis and checks code quality.
* Enable Multilingual - Enable makes PowerBuilder applications multilingual quickly and easily. Using Enable, developers can only need to make a few small changes to the original PowerBuilder code to go from monolingual to multilingual.
* ProDiff for PowerBuilder - ProDiff is designed to highlight the differences between versions of PowerBuilder development source code.
* Visual Guard for PowerBuilder - Visual Guard is an
access control
In physical security and information security, access control (AC) is the action of deciding whether a subject should be granted or denied access to an object (for example, a place or a resource). The act of ''accessing'' may mean consuming ...
and
application-level permissions tool. It helps you centralize view and control of users and their rights in PowerBuilder applications.
* STD Framework for PowerBuilder - A free object-oriented development framework for PowerBuilder Classic, Web Services, Appeon PowerServer Web and Mobile.
* Ultimate Suite for PB - A suite of controls, written in PowerScript, that modernizes the
GUI of PowerBuilder applications; Ultimate Suite for PB gives applications a contemporary look and makes them more user-friendly.
* AscentialTest - Automated testing for PowerBuilder, web, and others. Deep integration with the PowerBuilder VM api's allow AT to see and understand PB objects.
* PowerGen - Automated build and regeneration of PowerBuilder applications. Supports building directly from Source Control.
References
29
Ultimate Suite for PowerBuilder Product Page
External links
*
{{DEFAULTSORT:Powerbuilder
Fourth-generation programming languages
Computer-related introductions in 1991
SAP SE
C Sharp software
C++ software
Programming tools
Integrated development environments
User interface builders