rsion
2.0. Now it's time to ask if you're still using the best tool or if you're missing a crucial upgrade.
So what's the big picture? There are three big trends to watch for: multitier development capabilities, Web-enabled features, and the capability to generate ActiveX controls.
Traditionally, client/server tools including PowerBuilder, Delphi, and Visual Basic have supported only two tiers: client and server. The problems with two-tier client/server development are the architectures' inability to scale to enterprise-class applications and to separate the business logic from the data and the interface.
Three-tier and multitier (sometimes called
n-tier
) client/server development tools allow the programmer to split an application across several application servers. All the tools
covered here
support multitier computing and application partitioning, but they do so in very different ways. In addition to application partitioning, most client/server t
ools support Web development for Internet and intranet programming.
PowerBuilder, Delphi, and Visual Basic support ActiveX development, but Visual Basic provides the best support for ActiveX. PowerBuilder provides server-side development capabilities, including support for proprietary server-side APIs such as Netscape server API (NSAPI) and Microsoft's Internet Server API (ISAPI). Delphi supports ActiveX but is really pushing its users to JBuilder for Web development using Java.
Powersoft PowerBuilder
PowerBuilder is one of the most popular client/server development tools. It led the way for Visual Basic and Delphi. PowerBuilder is multiplatform, supporting Mac, OS/2, and Unix, but Windows NT and Windows 95 are its largest installed base.
PowerBuilder promotes data-driven development. The programmer first defines the metadata in PowerBuilder's Extended Attribute Set, then constructs the application on top of the metadata, building data windows and augmenting their behav
ior with code (PowerScript). With the 5.0 release, Powersoft is providing a
true compiler
with better application-execution performance. Also to improve performance, PowerBuilder supports both the Win16 and the Win32 API sets for Windows 3.1 and Windows 95, respectively. Plus, it provides a 32-bit ODBC interface supporting clustered indexes and a number of connection objects. Building on the existing object-oriented development model, PowerBuilder 5.0 now supports function overloading, allowing the developer to create functions that are dependent upon the objects supplied to it. ObjectCycle, PowerBuilder's new team-oriented development tool, provides a server-based object management facility, which permits versioning, reporting functions, and labeling. PowerBuilder is also enabled with Component Object Model (COM) technology, allowing developers to create both ActiveX and COM servers.
With 5.0, PowerBuilder can spread the processing load by placing nonvisual objects (objects that d
on't interact with the user) on remote servers. Such application partitioning allows developers to produce applications that can conceivably scale to larger user loads than traditional two-tier client/server computing by placing some of the application processing on a remote server. Powersoft calls this feature Distributed PowerBuilder (DP).
Although the architecture is compelling, people are finding DP difficult to configure. Other drawbacks are that it lacks heterogeneous server support and does not provide the scalability of other architectures using proven three-tier technology such as transaction processing monitors. Most PowerBuilder developers consider DP a good start, but PowerBuilder's ability to support COM could be the best way to partition PowerBuilder applications in the end.
Borland Delphi
Delphi 2.0's component-based development paradigm provides developers with the best of object-oriented and component development. Building a Delphi application is a mere matter
of building the interface and adding behavior by defining the properties using a properties window or through Object Pascal (Delphi's native programming language).
Delphi provides an application framework, the Visual Component Library (VCL), that the developer uses as a base for the application. Building the application is just a matter of understanding this framework and finding the components that provide the best starting point for your application. For example, VCL provides user interface objects for viewing and changing data, as well as list boxes, combo boxes, and menus. Delphi is able to use native Delphi components or ActiveX components. You can take the components as they are or extend their capability using traditional OO techniques. Delphi is COM-ready, able to create applications as COM servers or containers.
Delphi 3.0, now in early beta, drives deeper than the current version into the world of complex client/server programming. It will support multitiered, thin client, client/server
computing using Delphi's traditional component-based architecture as well as Microsoft's Distributed COM (DCOM). This new Delphi will also provide developers with application-partitioning capabilities through small executable files and DLLs that can be shared in a distributed application processing environment.
Borland is producing two other tools that look a lot like Delphi: JBuilder, for rapid Java applet and application development, and C++ Builder, for rapid C++ application development. Both of these tools are due this year.
Visual Basic 5.0
With Visual Basic, developers create applications by dragging and dropping ActiveX controls, then adding behavior with Visual Basic for Applications (VBA). VB provides database links through ODBC exclusively. Lately, VB has been geared toward the use of COM and DCOM, and with 4.0 it became completely ActiveX-enabled.
Visual Basic 5.0 is just out of the chute. New with 5.0 are a number of performance and productivity enhancements s
uch as a native
code compiler
, high-speed ODBC connections, and an ergonomic development environment. The package includes a new version of VBA that you'll find not only in VB but also in dozens of other products that have licensed it. There are also links to Microsoft's new Transaction Server, providing inexpensive transaction processing capabilities. The new T-SQL Debugger gives developers the ability to debug stored procedures interactively on the client.
However, the best feature is 5.0's ability to create ActiveX controls using the VB rapid development paradigm. You can create controls from scratch or by augmenting existing controls using a pseudo-OO subclassing system. You can even combine two or more existing controls to create a single control, customizing it as needed. These controls can snap into other ActiveX-enabled tools or applications, or they are are ready for delivery by the Internet or intranet to ActiveX-enabled clients. Microsoft is also providing a scaled-back
version (VB Control Creation Edition) for developers who want to produce only ActiveX components.
VB 5.0 Enterprise Edition comes with Microsoft Repository 1.0, and it shows that Microsoft can learn new tricks from its competition. The Microsoft Repository provides developers with a set of ActiveX interfaces for defining shared information models, as well as a repository engine that provides a storage mechanism for those models. Thus developers can define the application architecture using other tools, such as a CASE tool (e.g., Rational Rose), feed that model directly into Visual Basic, then back into the CASE tool again. The repository becomes the central control point for the information model. Developer/2000 and Designer/2000 from Oracle (described next) use a similar architecture, but Microsoft's repository is a bit more open. The Microsoft Repository uses Microsoft SQL Server as the physical storage engine.
Oracle Developer/2000
Developer/2000 is really an old tool revamp
ed for modern OO application development and application partitioning. Without putting too fine a point on it, Developer/2000 is Oracle Forms 4.5 for Windows. It provides all the traditional features you'll find in Forms, including PL/SQL programming and an interface design environment.
Developer/2000 wraps its application development capabilities around the Oracle repository that it shares with Designer/2000, its CASE-like sister product. Oracle's view of the world is that you define and design the application using Designer/2000 and store the design information (metadata, schema, process models, etc.) in the repository. You then use that information to create the client-side application and partition the application.
Developer/2000 programmers create an application by defining it with the Object Navigator, a structural browsing and editing interface. Object Navigator lets developers locate, edit, and inspect application components. From the Object Navigator, developers can go right to a screen
painter for defining the interface. Developers can go directly to the code editor, where they can enter PL/SQL to define behavior. PL/SQL is also the native code for Oracle Database Server.
Developer/2000 provides application-partitioning capabilities by allowing the developer to drag and drop PL/SQL defined objects from the client to an Oracle database. This provides the developer with a mechanism to balance the load between the client and the server, but there is no mechanism for deploying proprietary Developer/2000 to middle tiers. What's more, you're married to Oracle as your database since other databases don't know how to run PL/SQL objects.
Where to Now?
These wonder tools will continue to support rapid development with easy-to-use environments. They'll also provide high-performance deployment mechanisms and glide paths to Web deployment and application partitioning. The use of repositories is promising, as is the inclusion of links to middleware such as TP monitors and
distributed objects. They are, however, not yet ready to take on large-scale enterprise computing right out of the box without a lot of extra work, but that day is coming.
Where to Find
Borland
Scotts Valley, CA
Phone: 800-233-2444
Phone: 408-431-1000
Internet:
http://www.borland.com