(immagine 800x600 - cliccare per vedere a pieno video)
Table of Contents
January 6, 1997 Borland International Inc. announced Delphi/400 Client/Server Suite 3/4 a new client/server development tool for the IBM AS/400 hardware platform. This announcement was both newsworthy and refreshing. Now, there is a bona-fide, award-winning rapid application development (RAD) tool for both Windows and the AS/400. Borland provides native support for 16-bit Windows 3.1, and 32-bit Windows 95 and NT in the Delphi/400 Client/Server Suite.
In a very short space of time, Delphi has developed a large and almost fanatical following. It is the only Client/Server development tool that features high productivity -- through a visual 4GL rapid application development environment, with high runtime performance -- through fully compiled code. It is a "best-of- breed" development tool and it's exciting to the AS/400 market in many ways:
It's expected that in the future, more, if not all, of the Borland product range will be integrated to the AS/400. This would mean that the same customer will be able to bridge client/server and Internet enabled applications through the same shared toolsets.
About Borland
Borland International (NASDAQ:BORL) is a leading provider of high-quality software products for application developers worldwide. Borland is distinguished for its award-winning family of rapid application development tools and scaleable middleware technology for desktop, Client/Server, Inter/Intranet and enterprise systems. The company's products are supported through comprehensive corporate and independent developer programs, Partners, Value Added Resellers and systems integrators. Founded in 1983, Borland's headquarters are in Scotts Valley, California.
Borland's core products include a suite of visual application development tools that share a common design paradigm, component technology and user interface, but differ in their underlying language support.
Delphi, is based on Object Pascal. It is a highly productive way to build scaleable Windows Client/Server applications. It combines the RAD productivity of visual 4GL technology, with more than 100 reusable components, along with optimized compiler performance that is among the world's fastest. Its complete, structured, object-oriented development environment provides all the benefits of object oriented development in an easy to understand, easy to use visual way.
C++Builder is based on C++ and is, like Delphi, a powerful tool for building business critical applications on Windows. It also gives developers the flexibility and ease of drag and drop visual 4GL development, along with more than 100 reusable components. At the same time, it also provides the power and control of industry standard C++ (ANSI, MFC, OWL) in the same visual RAD environment.
JBuilder is a JAVA based development tool. It is a highly productive way to create cross-platform Web-delivered Client/Server and multi-tier applications. It combines JAVA portability with the JAVA beans robust component architecture. The generated components can be shared across a common Component Library whether JBuilder, C++Builder or Delphi.
The Intrabuilder product provides an easy way to build and maintain live corporate data-driven web applications. The product provides everything a developer needs to build live interactive database applications that can be accessed from any browser.
For databases, Borland provides and integrates its own offering, InterBase. InterBase is a platform independent SQL database server, which scales from the PC desktop to both Windows NT and UNIX servers (including AIX). It has a small footprint and is easily installable, typically requiring little or no database administration. With sophisticated support for JDBC, bit mapped indexing, unstructured objects, user defined functions, distributed processing, it often becomes the database of choice for Borland's developer community.
Borland also offers the developers and users the option to connect to a variety of other open relational database systems through its native SQL links, or through ODBC.
With the acquisition of Open Environment and its Entera application server product line, Borland is developing a scaleable architecture that allows customers to use any client development tool, any server, and any database on any platform to provide and support enterprise strength solutions. Entera provides broad platform support and connectivity for IBM 3270, Open Edition MVS, AIX, OS2, Digital Unix, HP/UX, Sun Solaris, among others.
Borland's strategy is captured in its "Golden Gate" Initiative. It is a strategy focusing on helping IT developers combine and bridge the best of Client/Server and Internet/Intanet architectures for department and enterprise applications. The objective is to accelerate the creation of corporate Intranet applications, without compromising the security and reliability of current business-critical systems. By having close technical partnerships with Sun, Netscape, Microsoft and IBM, Borland is helping shape standards to ensure its tools remain open and interoperable. Borland, with its heritage in object-oriented compiler technology, together with Entera application servers, OLEenterprise, and other intelligent servers, is in a unique position to fill the need for corporate Client/Server and Internet/Intranet tools. The strategy relies on four points:
The resulting "bridges" that Golden Gate builds are:
Oracle Corporation and Borland International have recently announced a licensing agreement that makes Borland C++Builder and JBuilder technology an integral component of Oracle's developer offerings.
With this, Borland becomes a de facto standard for Oracle developers and a safe choice for corporate developers. It is part of Borland's Golden Gate strategy and extends Borland's reach into corporate IT areas where Oracle is successful.
About Delphi
Borland Delphi was introduced in February 1995 as a high-performance alternative to Visual Basic and PowerBuilder. Since then, it has set the standard for high performance rapid application development for Microsoft Windows clients. As a result of Delphi's unique combination of a native code compiler, visual two way tools and a scaleable database technology, it has received numerous awards worldwide. Delphi continues to make the "top ten" best seller lists around the world.
Delphi has also achieved a very high level of third party support, including dozens of add-on libraries and compatible tools. If you go to your favorite IT bookstore, you can find more than 30 books and half dozen monthly magazines and newspapers devoted to some aspect of Delphi development.
As a RAD tool, Delphi provides one-step tables/forms/windows development environment, coupled with simple database integration. At its base, it draws upon knowledge of the Pascal language. The interface in Borland Delphi is similar to others in GUI development, including Visual Basic. The difference is that many programming tasks are combined into one step to remove coding redundancy. In other environments, a simple database application would require a connection, a query, a result and control returned to the application. Delphi automates these tasks (and many others) by only requiring the input of basic parameters.
Delphi takes advantage of today's emerging technology. Companies like IBM, Oracle and Microsoft are producing OCX controls. These allow developers to perform database operations, create business objects, or execute functionality via drag and drop actions. Delphi has a capability in which an OCX control is declared and then can be used in future applications. Once compiled, the application automatically uses the OCX controls to perform the operations specified by the program.
Pascal was designed for the sole purpose of teaching aspiring programmers how to program in a structured way. Delphi draws upon and extends this foundation, and incorporates syntax and statements from the Pascal language set. This ensures that programmers new to Delphi do not suffer the same learning curve usually associated with similar object-oriented languages like Smalltalk or C++.
About Delphi/400
Delphi/400 is a packaged offering combining the power of the Delphi RAD environment with full access to the AS/400 server. Specifically, it includes native middleware and a set of components specifically optimized for use with the AS/400. This middleware makes Delphi/400 instantly usable by AS/400 customers. It is composed of a Windows DLL and an AS/400 program to access all the services of the AS/400 in native mode. This includes access services to native data, SQL databases, system services, communication with COBOL and RPG programs. It does not use (or require) ODBC.
It also provides specialized object classes for rapid development of applications using the AS/400. Simple classes are used to access files from the AS/400, to deal with transactions (Commit and Rollback), and to manipulate the fields of files. Specialized classes are also used to manage the operations of dynamic subfiles, and even to control the F4 key to SAA standard.
What Delphi/400 means to AS/400 customers
This product not only sounds exciting, it actually is exciting - from a number of standpoints. In matching its promise to the anticipated AS/400 application development priorities, many IS shops are finding Delphi/400 can be an extremely useful product to help achieve not only 1997 information systems goals, but also those in the future. There are a number of factors and trends driving these goals.
Contrary to popular belief, Delphi is not just a programming language. It is a suite of products and tools that combine to give developers a complete rapid application development platform. Delphi's scope is wide ranging. It includes an Object Pascal-based visual application development environment, database explorer, image editor, robust debugger, reporting utilities, and an a runtime installation utility (InstallShield). Delphi's work group code management environment (PVCS) also enables multiple developers to work on the same project.
On top of all the application development modules, Delphi comes with a complete database environment that can be used to build large, scaleable and very responsive database applications. Delphi also provides an integral relational database management system - InterBase. It can be used to prototype and deploy SQL applications across a large number of target platforms.
Various components are available within the install of the Borland Delphi/400 Client/Server Suite. This section will act as a navigator to provide an overview of how the various components integrate and work with each other.
Royalty-Free Code
One of the most appealing aspects of Delphi is that any code created with it is royalty free. This means any code you create is completely yours. Sell or distribute it, there are no additional fees paid to Borland. Some companies require you to register and pay royalty fees to sell applications created with their development environment. From an end-user perspective, this means that they don't have to pay for a runtime environment or interpreter. From a technical perspective, this means you can distribute native running code to Windows clients, without the overhead of an interpreter environment or runtime version interdependencies.
Visual Programming
Visual Programming is a generic term used to define the process by which GUI forms and controls are programmed in a "what-you-see-is-what-you-get" Windows environment. Many products, including Visual Basic, PowerBuilder, Visual Age, Visual C++ and Delphi fit into this general category. Many programmers, those with recent PC or UNIX skills, understand this way of programming well.
There is another group of application development tools, used for procedural programming. These types of development tools will be familiar to those involved with legacy systems, or familiar with system programming. Procedural programming requires a precise computer instruction sequence, given certain states of the computer (IF-THEN-ELSE, DO-WHILE, FOR etc). Procedural programming using underlying programming languages such as COBOL, Assembler, RPG, or C is typically efficient (when properly written) but its productivity, portability and reliability are much lower than visual languages.
Borland describes their visual development environment as following a PME (Properties, Methods and Events) model. This model associates properties, methods and events to an object.
For example, an object could be a button. The button has various properties, like shape and size. Also associated with the button are methods that are invoked when certain events take place, like a button click. Delphi, a true Windows development tool, allows an application developer to use as is, modify, or inherit, from such an object. This model permits even higher levels of productivity through code reuse because of the inherent object oriented technology.
The main windows used by the application developer are:
Object Pascal
Object Pascal is the foundation of the Delphi RAD platform. It is the programming language used to create applications in Delphi. Object Pascal is a derivative of the original Pascal with an Object Oriented overhaul. It supports all common Object Oriented characteristics, like inheritance, polymorphism, encapsulation, components and code re-use.
The power of the Object Pascal is similar to other object oriented programming languages on the market. But unlike other languages, Object Pascal has high ease-of-use and functionality.
The actual underlying language does not matter with the Integrated Development Environment (IDE) supplied for Object Pascal. Generally, there is very little "coding" required when developing applications. The IDE implements drag and drop functionality removing redundant coding normally required with other GUI IDEs. However, when coding is required, Object Pascal is easily learned. It is not as complex as C or C++, but it has more functionality than Visual Basic. Learning curves are almost non-existent if the programmer knows the Pascal language.
Encapsulation
Encapsulation is a core requirement of object oriented computing. It defines and enforces ways of working with data. In order to alter the data in an object, a developer must "ask" a method contained in an object if a specific operation may be performed. A method is basically a sub-routine associated with an object. The code for a sub-routine actually resides within the scope of the object code.
Object Pascal fully supports encapsulation. This allows developers to create objects with the data contained within. The methods are also implemented within the object. These methods can be used to enforce business. If implemented properly, these rules will always be abided by, thereby removing the possibility of corrupt data.
Inheritance
Inheritance allows developers to create new objects based upon existing objects. Once the new object is created, additional variables and methods can be added. However, there is no need to code the original variables and methods created in the original object. Since all objects are inherited, all declarations are carried forward to the new class.
Delphi fully supports inheritance. Delphi ships with a wide array of objects from which developers can inherit and customize to individual specifications. Therefore, it is possible to reuse the code Borland has created, thus decreasing the time spent developing an application.
Polymorphism
Polymorphism is another Object Oriented technique supported by Delphi. This is an advanced technique allowing developers to inherit multiple objects into one super object. A detailed explanation of polymorphism is beyond the scope of this whitepaper. However, when used correctly, polymorphism can substantially decrease development time by reusing code from multiple classes into one class.
Object Pascal Summary
If a developer is new to Object Oriented coding practices, there will always be a learning curve. However, with Delphi, this curve is greatly reduced by the provision of an intuitive interface and straight forward language. This translates into less time spent learning the environment, and more time spent developing applications. Turnaround time for application development will be much less with Delphi than with other environments. This translates to a quick return on the initial Delphi investment.
QuickReport
QuickReport allows developers to do reporting tasks and embed them within the application. Creation of the reports is performed within the Delphi IDE following Delphi's development model. Reports are included into the application by dragging and dropping a reporting component into a Delphi workspace. Quick Report enables creation of reports that can either be included within a Delphi application, or as a stand-alone report.
ReportSmith
ReportSmith is included in Delphi. It is a full-featured report writer and generator. It can be used to create complex end-user reports that can either be standalone or included in a Delphi application.
Visual Component Library
The visual component library is a collection of objects that you can place within your Delphi development workspace. A component provides the user with a one step process for standard object creation. Examples can range from simple objects like buttons to complex ones such as invoices. If a developer needs a button in a program, he or she simply drags and drops the button component from the component list onto the workspace. The program developer can then quickly customize the button for the application needs, and assign and manipulate events that they would like to capture when a button is pressed.
Components allow quick application development through reusable code. When a button is dropped into a workspace, all the underlying code is inserted into the Pascal Code Window automatically 3/4 all of which is transparent to the developer. This is true of all the components in Delphi.
There are more than 90 components shipped with Delphi. They range in functionality from database declaration, buttons, status bars, data grids to OCX controls. Combined, these provide a robust set of components that are more than adequate for most applications. However, if these are not enough, additional components can be created and distributed among other developers. Delphi/400 Client/Server Suite contains an additional 20 components that are specifically optimized for the AS/400.
Object Inspector
Once a component is implemented, it must be possible to modify its properties. This is done through the Object Inspector. It allows developers to edit the properties of objects and assign event handles.
The properties of an object can include just about anything, depending on the object being manipulated 3/4 font, sizing and justification 3/4 are some of the elemental properties of an object. More advanced properties are the database and table name of a data grid, used to display the information within a table. The more complicated properties often have wizards that allow easy and correct alteration of the properties. In most cases, if a property is incorrect, Delphi will notify the developer and provide help text through dialog boxes and pop-up windows.
Event Handlers
An event handler is a sequence of code destined to be executed in the case of specific client-based events such as mouse-click or screen resize. What happens when a specific button or key is pressed, something is dragged over an object, or a user exits? These event handlers allow a developer to fine tune how an object behaves in response to an end-users commands in the Windows environment.
Once created, these routines can be assigned to specific events previously created by developers. New procedures can also be created by double clicking on the event. This will take the developer to the correct area in the source, and upon it, the procedure can be coded. This allows for high quality and productivity through the integration of the edit-compile-debug cycle and code re-use.
16-bit and 32-bit Support
For those shops which have not made the switch to 32-bit desktop operating systems, Delphi 2.0 provides a development environment for Windows 3.1. This can also be useful in heterogeneous networks where desktops are both 16- and 32-bit. Therefore, the same application on both platforms can have a similar look and feel. Although, there are additional considerations with cross platform application development that are beyond the scope of this whitepaper. The bottom line is that Delphi can be used for both Windows 3.1x and Windows 95, NT application development.
Internet Solutions Pack
The recently-released Internet solutions pack is a set of components allowing developers to create Internet applications from within Delphi. A developer can now create E-mail clients, custom Web and news browsers, as well as TCP and UDP applications. Also included is support for CGI, ISAPI, NSAPI and ActiveX components. All of these components can be used in the same way as others within Delphi.
Developers will find that they will be increasing pressure to produce applications that simultaneously support Client/Server and Internet/Intranet standards. The convergence of these technologies in a single set of development tools is the essential component of Borland's Golden Gate Strategy.
Workgroup Management
Most application development efforts have more than one developer. This causes problems with version control and collaborative development. Delphi offers a Workgroup manager as part of the Delphi environment.
The workgroup manager allows multiple developers to work on a single project at one time. Changes made by other developers can be easily integrated into the full scope of the project. This saves having to implement archiving and library functions before the start of a project alleviating management costs.
Delphi Debugger
Delphi has exceptional error handling capability. Therefore, it is an extremely stable as a platform for creating and running code, and part of its stability is the integrity of the Delphi Debugger.
All developers make mistakes in their code at one time or another. A good debugger is critical. This is a key component that allows the flow of the program to be traced as it is running. Most debuggers allow developers to set break points and view the value of a variable at that point in execution. Delphi enables developers to step over problem areas and execute programs line by line to view the results.
Delphi's debugger provides this and other functions. In a GUI environment, it allows developers to set break points within the source code. Execution will stop at this point and a developer can then view the contents of any available variables. If a particular variable has an incorrect value, it can be changed to the expected value and the remaining code can be verified with the correct value.
This feature is a big advantage because in most environments, execution would stop, the problem would have to be fixed, and then execution restarted. In Delphi, the problem can be noted, the variable fixed at run time, and execution continued as other problems are sought.
Delphi's overall usability with its debugger is very complimentary to Delphi itself. However, the main benefit of the debugger is the infrequency that you will have to use it. Due to Delphi's code reuse and components, most of the coding is performed by the IDE, which assists in the creation of bug free code.
InstallShield
Once an application is created, debugged, compiled and hopefully, documented, it is time to deploy it. Delphi comes with a license of Install Shield which facilitates deployment of Delphi-created applications.
When Install Shield is used, a check list pops up of all the tasks you must do to create a deployable program. It allows you to create a setup file, accompanied by the compressed components. When this setup file is run from a PC, an install program runs. The install program allows users to customize their installation, extracts the program files from the running setup, makes registration entries, registry entries and creates program icons.
This dramatically decreases the time it takes to create an installation program. Previously, the developer would have to create an application that extracted the files, made the registration entries and created the program icons.
Now, a simple user interface allows developers to determine what needs to be done. The installation program does it all. Another benefit is that the installation program also interfaces with Windows 95 and Windows NT's uninstall utility. Therefore, a separate program is not required to remove the application when it is no longer required.
Middleware Defined
A middleware product provides a common ground for two or more computer systems. It is comparable to a human interpreter. If two people want to exchange data but they speak different languages, then an interpreter, or middleware, is needed. The interpreter receives data from one person and translates it to the native language of the other person. An exchange of data can then be performed. Middleware acts exactly the same in that it translates communication between multiple computer systems. Data can then be transparently exchanged.
Client Objects/400
Client Objects/400 provides both the middleware to an AS/400 and native components needed to access the AS/400 from Delphi. CO/400 offers a native database gateway to either DB2/400 or native files . This allows developers to insert, update, or delete from an AS/400 database, submit remote commands, and distribute processing. CO/400 provides direct client integration with the AS/400 without forcing customers to change the structure of their databases, absorbing large overheads for generic ODBC middleware or limiting functionality.
The main purpose for the CO/400 middleware is to have PC applications written in Delphi extract, manipulate and insert data onto an AS/400. This allows the AS/400 to be used as a data server. Security and referential integrity rules are still maintained, ensuring that data is safe and remains uncorrupted. AS/400 applications then have a graphical front end, bringing new life to the AS/400 investment.
Specific AS/400 components, their benefits and how they work
Ttable400
Ttable400 offers native access at the member level to AS/400 tables. This could never be done through ODBC. Ttable400 offers programmers the ability to use various database controls included within Delphi. Links and relationships between tables can be defined in the object properties not through the use of coding.
TCall
CO/400 also offers the ability to submit remote commands through the use of a Delphi component. TCall allows bi-directional parameter passing between Delphi and the AS/400. Being able to call remote procedures allows the reuse of existing code. If complex or proprietary calculations are performed on existing data, these modules can be extracted into a separate AS/400 program. Then, if required, this calculation can be performed on existing COBOL or RPG code.
TCommand
This feature allows Delphi to call an AS/400 native command. This could be useful, for example, if a database must be purged. Instead of halting all running applications, Delphi can call the command dynamically at runtime.
Data Queues
Additional functionality of CO/400 allows it to interface with data queues and data areas. This helps developers maintain their existing infrastructure if applications already utilize these AS/400 features. CO/400 can insert, read and remove data from data queues and areas.
For example, if you had an AS/400 5250 client application that inserted information into a data queue. The same action could be replicated in Delphi, where information can also be sent to the data queue. The AS/400, not knowing the source of the information, would process the data as normal.
Data Areas
An AS/400 data area is an asynchronous process, and allows parameters to be passed between programs. It has a fixed memory block structure which is based upon definition by a program. Delphi/400 contains a component allowing developers to perform the same asynchronous communication via Delphi applications as would normally be used by AS/400-based applications. Therefore, newly-created Delphi applications can exchange variables with AS/400-based applications preserving existing code investment.
CO/400 and ODBC
Some might make a comparison between ODBC and CO/400. This is warranted, but with some additional observations, there are key differences. ODBC was originally created to have transparent access to all databases. Therefore, platform optimization cannot be performed. CO/400 was created for specific access to an AS/400, thus it was optimized specifically for the AS/400's interface. When the Delphi application is coded correctly, this results in far superior performance.
Benchmarks for this are in the preparation stage and are expected to be released by ASTECH Solutions in the Summer of 1997.
Another key difference is that ODBC is meant only for database operations. It can provide query functions, data updating, commitment control, and insertion of data. CO/400 interfaces more directly with the AS/400 by offering other services, like access to remote commands, data queues, and data area support.
Summary - Borland's strengths
Borland has always been known for excellent, PC-based compiler technology, coupled with highly-productive development environments.
The company started with DOS-based development tools and C compilers, producing hits like TurboPascal and Turbo C. The next generation of tools coupled a PC GUI-based RAD workbench (Windows-based client/server development environment) that was enthusiastically embraced by both the market and the media.
Borland's Delphi, in both 16-and 32-bit versions, has more than 500,000 users. Borland's new C++Builder uses the same Delphi RAD environment workbench, but produces C++- based objects and methods. It has also been greeted enthusiastically.
The coming generation of compilers marries RAD workbenches with programming languages and standards for the Internet: JAVA. Borland has announced a JAVA environment called JBuilder. Scheduled for Beta release in the second quarter of 1997, JBuilder is open and extensible. It has high performance Just In Time (JIT) compilers and allows customers to incorporate add-ins and JavaBeans components.
Delphi, C++ Builder and JBuilder pair today's Client/Server technology with tomorrow's Internet. C++ is the language of Client/Server computing. It has a large number of users today, and these developers will need to have their applications supported and Internet-enabled. Borland's component libraries are shared. This feature enables integration of both technologies and the opportunity to change components for Client/Server to those needed for network based systems - all without physically re-writing code.
Summary - Borland and AS/400
The AS/400's large, working application portfolio is overwhelmingly based on 5250 (green screen) and RPG programming. Its RPG base has evolved to Client/Server and networks, without requiring changes (although function is limited). RPG applications can exist in a Client/Server world through RUMBA, GUI/400 or Netsoft. They can continue to exist in a network world through INET/Webulator.
In the final analysis, none of the RPG-based applications have the productivity of new RAD tools, nor do they fully utilize the power of the graphical user interface or the World Wide Web. AS/400 customers looking to renew, extend or modernize their application portfolios need to take aggressive steps in deploying both Client/Server and Internet functionality.
In January 1997 Borland announced Delphi/400 as a packaged offering combining the power of the Delphi RAD environment with the AS/400 server.
For AS/400 customers, Delphi's arrival to market heralds a new and more open development playing field. Delphi is a modern, popular, solid RAD development engine with a proven track record for productivity and efficient solutions.
Delphi's integration to AS/400, coupled with its low cost of entry, makes it an exciting product and worthy of consideration.
It's a welcome addition to the family, further enhancing the AS/400's growing reputation as an exciting, open and technically modern systems platform.
Per maggiori informazioni rivolgetevi a Consist (199.445.900 - 045/565.168).
Listino componenti e utility Delphi
Componenti e utility Delphi
Home page
Una visita a CONSIST