Analyst: Gary Cooper | Product Category: Application Development Tools |
Date: June 1999 | Company: Centura Software |
Strengths
Weaknesses |
The nature of application development is constantly changing. Traditionally, it has been the domain of the specialist, with analysts, analyst/programmers, etc., being removed from the organisational environment and closeted in development areas, often referred to as ‘Ivory Towers’. However, the customer-oriented environment of the 1990s has not proved suitable for this type of structure, and the move away from the centralised development environment into the mainstream business activity, has been welcomed by both IT and business managers alike.
A major factor behind this is the rapid development that has taken place within certain technological areas, such as the availability of software components, enabling application developers to access and integrate tailor-made components into applications using, for example, ActiveX (OCX) technologies. The success of component-based development is largely founded on the reusability of components, and the technical independence inherent in the technology. Developers can concentrate on the business rules rather than the underlying technology. This has led to vast increases in developer productivity, minimised the development cycle, improved application quality and achieved faster turn around time.
The Internet is driving the globalisation of many markets. Customers, who once only had access to potentially restrictive local markets, now have access to information almost instantaneously, anywhere in the world. This is leading to competition on a scale never before experienced, and is also leading to much greater levels of customer sophistication.
To remain competitive, organisations have to become more flexible and responsive to changing business pressures, if they are to respond positively to the demands of their customers.
Corporate development teams in particular, are required to build scalable and robust business applications that are capable of enterprise, workgroup, mobile or Web-based deployment.
Centura Team Developer (CTD), from Centura Software, provides a SQLWindows32 Integrated Development Environment (IDE) for developing 16- and 32-bit Windows-based business applications. CTD applications can be deployed as traditional Windows client/server applications, or made accessible to Web clients using a standard Web browser.
Summary
The development of applications for modern businesses that wish to acquire and maintain competitiveness, must satisfy a number of stringent operational requirements. They must be robust enough to cope with the demands made in enterprise, networked environments, where the very survival of the organisation may well be dependent upon the quality of the services delivered by IT. Applications must be scalable across the Web, corporate networks, desktop, and laptop environments. The globalisation of business has meant that IT infrastructures have had to adapt to cater for the new demands being placed upon it.
CTD – the 32-bit successor to SQLWindows – has been designed from the ground up to provide organisations with applications that subscribe to the above criteria. It provides an IDE for developing both 16- and 32-bit client/server applications that are capable of being deployed in both Windows-based and Web operating environments.
CTD contains a number of modules, including its own fourth generation (4GL) development language – Scalable Application Language (SAL), which forms the central platform of CTD. Although SAL is Centura’s proprietary development language, its basic syntax is comparable to standard languages, such as Visual Basic (VB). It is, therefore, a shallow learning curve for experienced developers to learn the necessary skills.
CTD was founded on OO technology, which fully supports single multi-level inheritance, multiple inheritance, polymorphism and encapsulation. It provides developers with an integrated tool set for developing enterprise-scale applications, both in terms of number of users and size of application. Rather than creating large, cumbersome and inflexible applications, OO technology allows applications to be written as small components that can be snapped together, supporting the creation of large, complex and flexible applications for deployment across the enterprise. CTD modules include:
The ability to access data held on disparate corporate databases is a key requirement of any enterprise application deployment. CTD provides native connectivity to a variety of databases, providing fast access methods to the data, as well as support for Open DataBase Connectivity (ODBC). Native database routers are installed and configured via the new Connectivity Administrator, considerably easing the task of configuring applications to access relational databases. Access to non-relational systems like e-mail, Lotus Notes, Tuxedo, SAP R/3 Enterprise Resource Planning (ERP) system, and Customer information Control System (CICS) is achieved through pre-built libraries and interfaces.
The central repository is an essential requirement for the building of scalable, robust applications. The key role of the repository is not just as a facilitator, but rather as a place where business objects can be centrally held and managed quite independently to support large-scale application development environments. CTD fully satisfies this essential requirement through the TOM component, a full-featured source code and component management system. For development purposes, a full single-user copy of Centura SQLBase is provided, which enables TOM to take full advantage of the SQLBase data dictionary, where all the elements used to create an application are stored.
Team development is fully supported with check-in/
check-out version control features, and multiple check-out
functionality if required, to support team-working on an individual application.
Reporting facilities are provided, indicating the frequency of check-in/check-out
usage, by whom and when. Additional control is leveraged through the merge
feature, where differences between versions are highlighted prior to selecting
which components are to be merged together.
Application debugging is achieved within the TOM environment via the defect tracking and code difference analysis features. Visual debugging features full break point and line-by-line step through, plus the ability to animate code to create faster/slower access.
Extending the IDE is achieved via the Centura CDK, which
provides developers with the ability to build add-ons in SAL or C++, for
simplifying complex and repetitive development tasks using the utilities
and Wizards provided. Code is automatically generated
to minimise the application developers input.
If required, developers have the capability to create individual application design Wizards, code profiling tools and extended debuggers.
The importance of the Internet from a business perspective
is amply demonstrated by the variety of Web-based application tools currently
available.
E-commerce in particular is beginning to have a major
impact on the way companies conduct business.
As the take up of the Web as a key business enabler gains
momentum, Web-based applications for deployment over the Internet, corporate
Intranets
and Extranets are increasingly being accepted as essential
components of an organisation’s business competitiveness.
Centura Team Developer provides developers with the full range of functionality for building business-critical applications including the Centura Web Developer. This is an optional product designed for developers building Web applications only, and is a subset of the CTD product set. It provides all the necessary support for developers, including database connectivity features. CTD applications built using the Web QuickObjects class library are Web-enabled through the Web App Manager, allowing developers to write one set of components for deployment anywhere within the enterprise.
The Web App Manager, Centura’s Application Server for the Web, and Web Server Interface provide all the functionality required for deploying both CTD and Web Developer applications across the Internet. To cater for the high volume usage expected of Web applications, the Web App Manager supports server load balancing and a distributed architecture – both essential requirements for achieving acceptable service levels. However, whilst application partitioning is not supported, developers can easily build applications that allow the Web App Manager manage state automatically, creating a dedicated application instance for each Web user. Alternatively, the application can manage its state internally by the developer programming applications to be shared by many users. Web App Manager will automatically spawn as many instances of the application as are required to service user requests, with load balancing between multiple Web App Managers being handled by the Web Server Interface, providing greater scalability. Access from a Web client is achieved using a standard Web browser, supporting ultra thin-client computing to minimise the Total Cost of Ownership (TCO).
The User Interface (UI) is displayed as a standard Windows UI or as a HyperText Markup Language (HTML) representation in a browser, with identical features, fields, buttons and screen layout, etc.
The necessity for developing and deploying business-critical applications throughout the enterprise, from desktop clients to the Web, is being addressed by organisations regardless of size or market sector. The support for industry standards is key to providing an open, extensible toolset capable of providing a future-proof technological environment. Butler Group believes that Centura’s IDE provides developers with such an environment, enabling them to concentrate on the business issues, whilst CTD takes care of the technology issues.
Market Position
The market for application development tools, particularly where applications are capable of being deployed in both client/server and Web environments within the one application, is growing. Organisations either planning to or already conducting business over the Internet, corporate Intranet or Extranet, are potential customers for the application tools vendors, regardless of their theatre of operation.
Centura makes no exceptions for CTD. It is targeted at organisations of any size or market, with corporate IT groups and packaged application vendors being prominent. Working closely with customers is a high priority with Centura. Support is provided via Centura’s professional services group, which is entirely customer-focused, and provides customers with technical support and product upgrade subscription services. Centura’s customer base is so wide ranging that it provides a number of licensing models to cater for all situations, including the negotiation of custom agreements for individual organisations. Internationalisation of the product is achieved with the Centura Object Nationalizer, which enables customers to translate the user interface into their language of choice.
The application development market is one of the most fiercely competitive markets in the IT industry. Centura’s main competition comes from Inprise’s Borland product set, Microsoft’s Visual Basic and Sybase’s PowerBuilder.
Butler Group believes that CTD provides a powerful, extensible and flexible development/deployment framework. The ability to build upwards of 95 per cent of an application on average, contrasts sharply with the industry average of just 75 per cent, before resorting to third generation (3GL) tools. The language features and tools offered by Centura to provide maximum connectivity and code reuse, should persuade many organisations that CTD must be on their shopping list.
Platforms and Connectivity
Development
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Technical Features
Centura Team Developer (CTD)
CTD Architecture
The client/server architecture supports:
CTD provides fully functional development and deployment capabilities. Applications created in a single development environment can be deployed in a Windows client/server environment, or made accessible to Web clients via a standard Web browser. Ease-of-use features, such as pre-built objects, point-and-click Wizards and over 500 built-in functions, enable the development and deployment of highly scalable business applications.
Support for ActiveX includes static component support, containment and automation, message blocks to host ActiveX events, and a Wizard to create classes. The Wizard generates a function in the class for each method on the interface, with the same parameters including a return value where present.
The data type of each parameter and return value is then mapped to its SAL counterpart. Other features and controls included are: direct access to data via an active data object; integration of a third-party calendar tool in a dialog box; support for playing audio and video files; and utilisation of Word or Excel files. Support for JavaBean objects is also provided.
CTD comprises a number of components including:
Scalable Application Language (SAL)
SAL forms the core of CTD. It is the 32-bit direct descendant of Centura’s very successful SQLWindows application development tool. It is an interpreted language that, in common with most 4GL tools, requires runtime support files for the executables.
SAL enables developers to control the runtime environment, with accessibility to the operating systems, manipulation of external data sources using the Database Explorer function to browse, create or edit database objects like tables, views and indexes, and provide tight integration with in-house and third-party applications and packages. The integration process is facilitated through the QuickObjects feature. Many QuickObjects are provided as standard, including e-mail, Lotus Notes, Tuxedo, CICS, relational databases or the Web. Where a QuickObject is not available, it can be built using the CDK.
The OO programming capability of SAL allows developers to build enterprise-scale business applications. It supports true dynamic inheritance, which is essential when supporting multiple numbers of end-users, enabling developers to extend objects, and to add or modify functionality, with a single change modifying all affected applications.
The SAL compiler provides developer productivity gains in that it does not come to a standstill when discovering an error. It permits multiple error situations before halting, allowing the developer to view all compile errors at once, and navigate to the line of code where the error occurred.
The Object Compiler (OC) is provided with CTD to dramatically speed up client applications by converting SAL into C++ which can be compiled into native Windows DLLs.
Developers can choose from a variety of application templates, which provide starting points for developing applications. Templates can even be a CTD application, taking full advantage of the reuse facilities within CTD.
Team Object Manager (TOM)
The TOM is a powerful, fully featured source code and component management system that entirely supports code reusability. It is based on a shared CTD repository, for supporting large-scale development projects involving tens of developers, hundreds of end-users and thousands of objects. Rights can be assigned to developers by project leaders, for example, only allowing them to build. All projects under development can be viewed in graphical format.
TOM stores all application elements, such as SAL code specifications and icons. It enforces configurable built-in version control in team development environments, including check-in/check-out, with multiple check-out, if required, supported by extensive reporting features. Other features included are: project branching; defect tracking; impact analysis; audit trails; and difference and merge, which highlights the differences between two revisions of the same file by displaying the two files side-by-side.
Two- and three-way merges of files can be performed. A two-way merge combines a base file and a revised file to produce a unified version. Three-way merges work in a similar fashion, but introduce two modified files to the merge process.
A visual code debugging facility provides five windows with full break points, the ability to step through code a line at a time, and animate code to either slow down or speed up the process, with double code tracker simulation.
Component tracking tools enable developers to identify reusable objects, minimising both current and future development projects.
Complex object classes can be viewed and printed using the Object Browser. A number of standard reports provide details of class behaviour. Applications viewed using the Class Browser are easier to read, maintain and understand.
The Object Browser effectively ‘self-documents’ an application class hierarchy, ensuring that both the application and documentation are in sync.
Centura Developer Extensions Kit (CDK)
A unique feature of the CTD toolset is the ability for developers to create extensions to the IDE. Using the CDK, developers are able to build applications in either SAL or C++.
Via the CDK, developers are able to create application design Wizards, QuickObjects, code profiling tools, code generation and extended debuggers. The CDK simplifies the development process by simplifying complex and repetitive tasks, automatically generating code or augmenting the development environment as required.
Through the CDK, an interface to the design environment is provided. This allows an application to examine the SAL code being developed and/or generate SAL code for the application currently being worked on.
Developers can customise software routines provided as standard with the CDK. When coupled with the CDK applet library, an entire application can be built. Using this methodology, developers are able to build high-quality applications in a shorter time-scale.
Report Builder
Report Builder is Centura’s query and reporting tool and
enables developers to create embedded reports for their applications by
taking advantage of the reporting functions in SAL. In addition, it can
be deployed to end-users to enable them to customise reports or create
their own ad hoc queries. Multiple users can be reached through a transaction
server
or other application via the extensive ActiveX automation
interface.
Access to corporate databases is achieved via an easy and intuitive graphical interface, without any need for users to know SQL to retrieve data. Users simply click on the tables and columns containing the data.
Report Builder provides users with a number of reporting features, including:
This is a free add-on product that allows users to translate applications written with CTD into alternate national languages. It is extremely easy to use, providing users with a familiar explorer interface that allows access to the developers executable files and to browse the forms included in them. The text contained within a form or message box can then be translated.
Centura Object Compiler
This is also a free product provided by Centura, which greatly improves the performance of SAL applications. Up to 80 per cent of SAL code can be automatically compiled into native DLL using this optional feature in CTD and SQL Windows.
Web App Manager
CTD applications built with the Web QuickObjects class library can be deployed to the Internet with Web App Manager.
The Web App Manager controls a pool of Centura Web Application processes at the point of deployment. There has to be one Web App Manager for each Application Server. Client requests for an application received by the Web App Manager from the Web Server Interface, are processed by either selecting a process already running or, where one is not available, launch one on behalf of the client.
Many instances of the same application can run under the control of one or many Web App Managers that are also capable of running instances of different applications.
The administration of distributed Web App Managers operating on the same network is provided with the Application Console, and includes:
To cater for the high usage expected of Web applications, Web App Manager features server load balancing and a distributed architecture.
Many of the security issues concerned with processing over the Internet are resolved by implementing industry-standard protocols. Web App Manager supports Secure Sockets Layer (SSL) and HyperText Transfer Protocol (HTTP). Support for Microsoft’s Remote Procedure Calls (RPCs) provide the security between the Web browser and the application, applying either authentication or encryption mechanisms to messages at the application level.
SQLBase RDBMS
SQLBase is a small footprint, self-maintaining SQL relational database engine, designed for PCs with the additional benefit of being ultra secure with 128-bit Triple DES data encryption built in. A full copy of SQLBase is provided for development purposes.
Optional Products
Centura Web Developer
Centura Web Developer is a subset of the full CTD product, and is able to take advantage of the functionality provided by CTD. It is targeted specifically at professional developers building applications to be deployed on the Internet, corporate Intranet and Extranet.
Web Developer supports client-side HTML, ActiveX applets, VBScript or JavaScript components. Applications work with any Internet Server API (ISAPI), Netscape Server API (NSAPI) Web server or Common Gateway Interface (CGI).
Centura Interface for R/3™®
This SAP validated connectivity product can be combined with CTD to allow developers to build cost-effective Windows applications which utilise data and transactions from a SAP R/3 system without having programming experience in SAP ABAP/4. Since the interface accesses R/3 transactions, rather than directly accessing the database, customers gain high-performance read-and-write access to their R/3 system while maintaining its integrated security features and data integrity.
SQLHost for DB2
Native connection to IBM’s DB2 database on the mainframe
for both developers and end-users.
A direct user interface will be presented either by Transmission
Control Protocol (TCP) or a gateway.
Futures
Centura maintains a vigorous development program, with major releases every nine months. It liases very closely with their customer base ensuring that they provide solutions for existing problems and not solutions looking for problems.
The next release of CTD will feature:
Centura Software has something of a colourful history. Starting life as Gupta in 1984, the road since then has taken many twists and turns, but Butler Group believes that, at last, it is on the straight and narrow, with the future looking bright. Centura provides what it describes as a complete DŽ Framework for Developing, Deploying and Distributing applications requiring embedded databases. Development is through the CTD, Deployment includes the Centura SQLBase relational database and Microservers, and Distribution includes Centura net.db, SQLHost and SQLExchange.
Centura has 19 offices located throughout the world, including in: North America; Latin America; Asia/Pacific; Europe; Middle East; and Africa. Its headquarters are in Redwood City, California, and it is traded on the NASDAQ exchange under the symbol CNTR. In excess of 200 staff are employed worldwide, achieving revenues of $57.9 million in 1997, 70 per cent of which were derived from its embedded systems business.
Centura maintains strategic alliances with many other vendors, including Microsoft, Sun Microsystems, Novell and others, to ensure that Centura products are as open as possible and provide maximum flexibility to its customers.