[TOC] [Prev] [Next] [Bottom]



Chapter One

Introducing Tango 2000


About Tango 2000 and How It Works

Tango 2000 is a powerful yet easy-to-use tool for creating dynamic, intelligent Web sites that integrate with popular database systems. With Tango's actions and builders, you build solutions by using Tango's intuitive point-and-click, drag-and-drop interface. You can create simple applications in minutes--without ever writing any code. You can customize your application files by adding your own HTML, database queries, and control flow, and by accessing external programs. You can send data to and retrieve data from external objects.

This chapter helps you understand Tango and its components. It includes:

  • understanding Tango
  • Tango Editor
  • Tango Application Server
  • Tango CGI and plug-in
  • key Tango concepts
  • what's new in Tango 2000
  • using Tango documentation
  • Tango at a glance
  • where to go next.
[top] [back to top]


Understanding Tango

Tango 2000 is the industry-leading, application server development environment for generating dynamic Web pages and accessing databases.

Tango Components

Tango consists of three main programs: Tango Editor and Tango Application Server, hereafter known simply as Tango Server, and Tango Web Analyzer (Windows-only).

  • Tango Editor is the development environment, featuring a complete graphical user interface in which to develop Tango application files (or simply, application files).
  • Tango Server is an application server that executes Tango application files created with Tango Editor. It works in conjunction with an HTTP (Web) server to return HTML to a Web browser.
  • Tango Web Analyzer (formerly known as Bolero) is a scalable, Web-site traffic analysis tool that performs real-time data collecting, summarizing, and reporting. Tango Web Analyzer captures Web transaction data for the Web sites you are monitoring and stores it in an industry-standard, SQL-based relational database system. Tango Web Analyzer is also a Web transaction data warehouse system and inventories and manages this vast amount of information.

For more details on Tango Web Analyzer, see the Getting Started Guide for Windows and the Tango Web Analyzer Administrator's Guide, which is included with Tango 2000 for Windows.

For definitions of terms used throughout the documentation, see Appendix A.

Tango Server under Mac OS is either a separate application that sends information to and receives information from a Web server (Tango2000.acgi), or a Web server plug-in. The following diagram shows how Tango works with a Web server.

How Tango works with a Web server

Web pages viewed in a Web browser can contain forms or links that point to Tango application files created with Tango Editor. When the user submits a form or clicks a link, the Web server receives the request and passes it to the Tango CGI or the plug-in version of Tango Server. Tango Server then executes the application file, which could involve interaction with a database server. When execution is complete, the results (typically, in the form of HTML contained in the application file--though any type of text or text markup can be returned) are returned to the Web server, and then to the user's Web browser.

Tango Editor

The Tango Editor development environment provides a point-and-click, drag-and-drop interface in which Tango application files are created for use specifically in Tango Server.

Tango Editor development environment

Tango Editor works by querying the database schema, and noting the tables and columns of the database. Columns can be dragged into specific actions within a Tango application file, thus defining the way in which the database is accessed. No knowledge of SQL or database specifics is required. Tango Editor also introspects objects, revealing the methods, parameters, and attributes of the object. Methods can be called on external objects using Tango actions. No knowledge of object programming is required.

A series of action results are merged to create the HTML page sent back to the Web server and on to the Web browser.

One of the major distinguishing factors between Tango Editor and other RAD (rapid application development) tools is the fact that Tango Editor is easy to use. Tango Editor contains Builders that allow for rapid development not only of the database access and processing but also automatic generation of all the necessary HTML.

Tango Server

Tango Server works with a Web server to allow for the dynamic creation of HTML based on information contained in databases. Tango Server works as a middle layer between the Web server and the databases; it and includes support for DBMS, objects, e-mail, and other external actions.

How Tango Server works

Web servers are built to support HTTP requests for HTML pages and other file types that are processed by the Web browser. When Tango Server requests are made to the Web server, they are passed on for processing to Tango Server (Tango2000.acgi or Web server plug-in).

Tracing a Web Request

To understand these components better, look at the interaction among the components.

  1. A Web browser request is made (using the HTTP protocol). URLs (Uniform Resource Locators) for Tango indicate the location of a Tango application file and optional arguments representing the appropriate entry point and parameters to the application file.
  2. A Web server receives that request and recognizes it as a Tango application request (this is normally done through recognition of a suffix to the Tango application file name, but it may be defined differently for specific Web servers).
  3. The Web server passes the request to Tango Server (Tango2000.acgi or Web server plug-in).
  4. Tango Server processes the request and executes one or more application files (previously created with Tango Editor). These files contain one or more actions necessary to fulfill the user request.
  5. Databases are accessed via ODBC, or a direct connection is made to an Oracle, DAM, or FileMaker Pro database, or data is sent to or retrieved from an external object.
  6. Results from a database action, external action, or object action are processed by Tango Server using the Results HTML associated with the action (most often, HTML containing placeholders for the pertinent columns). Tango Server performs column substitutions and data manipulation for each row and generates the final HTML for presentation.
  7. The composed HTML accumulated by several actions is consolidated into an HTML page that is then returned to the Web server.
  8. The Web server returns this HTML to the originating Web browser.

! Note: Tango 2000 does not limit you to HTML results presentation. You may return any kind of data you like from your application files (XML, images, and so on); HTML is merely the most commonly-used format.


Tango2000.acgi and the Web server plug-in version of Tango perform the same function; however, they differ in how they communicate with the Web server software: Tango2000.acgi communicates with the Web server via Apple Events and the plug-in communicates via the WebSTAR API.

Key Tango Concepts

Five key concepts enable Tango to lead the market in being an easy-to-use RAD (rapid application development) tool. They include:

  • visual development environment, including the action-based metaphor
  • extensibility
  • portability
  • scalability
  • group-based deployment.
Visual Tool

Tango Editor provides you with a comprehensible visual development environment that allows you to create application files rapidly. Tango Editor provides builders with which to create applications that find, insert, update, and delete database records. At this level of the development environment, you do not have to write any SQL or HTML to create applications; Tango Editor generates everything for you.

Tango Editor presents application files in an icon-based format. The flow of actions in the file is easily seen, and actions are displayed as distinct icons. This allows you to isolate and alter certain components of the application files you have created while letting the rest stay as they are.

Action-Based Metaphor

Tango uses a methodology based on actions, which abstracts away from the details of the implementation.

Tango-generated HTML pages are created from the actions in a Tango application file that build the HTML page dynamically based on customer input and results retrieved from a database.

The action-based approach has many benefits:

  • Ease of solution deployment. You can include multiple HTML segments inside one application file, including HTML forms. This application file is much easier to work with than working with the individual pieces of HTML: it is more easily archived and can be moved for deployment.
  • Shared common actions. A single action works on one data source and may have attached attributes, which are represented by icons. These attributes are results of the action processing (Results HTML), a page generated if there are no results (No Results HTML), and errors generated by the DBMS (Error HTML).
  • Visualization of control flow. Database actions are represented by icons and all actions are named. This makes it easy to visualize the control flow taken through the execution of an application. Control actions (such as If, ElseIf, and Loop) allow you to group, loop, and nest actions.
  • Simplification and integration with multiple data sources. You can tell what different database systems are integrated because they are listed in a clear, iconic format.
  • Grouping of all events associated with performing a single database interaction. The abstraction of the database action from its database language (normally SQL) allows Tango to deal with desktop database systems that do not support a standard relational language (FileMaker Pro, for example).
Extensibility

Tango can be extended beyond its ability to handle predefined types of actions by including different kinds of external actions, including Create Object Instance, Call Method, and the general External action. This means a Tango application file can interact with COM objects, JavaBeans, Tango's own objects (Tango class files), and external programs. For example, Tango can send data to or retrieve data from a COM object, launch another application from the command line, or launch programs written in Java. Moreover, results from most external actions are integrated back into Tango in the same manner as database queries.

The Object actions support common and platform-specific mechanisms for interacting with objects:

Platform

Supported Objects

Macintosh

JavaBeans, Tango class files

Windows

COM objects, JavaBeans, Tango class files

Unix

JavaBeans, Tango class files

The External action supports common and platform-specific mechanisms for interacting with other programs:

Platform

Mechanism

Macintosh

Apple Events are used to communicate with another process running on the same machine as Tango Server.

Windows

A DLL (dynamic linked library) mechanism is supported that allows for the creation of Windows 32-bit DLLs using such development environments as Visual Basic and C++.

Windows and UNIX

A standard shell, command line interface is provided that allows for Perl script and shell script integration, along with any standard process that uses StdIn/StdOut for communications.

All

Java externals are supported in a cross-platform manner, allowing for the integration of Tango applications with Java classes.

Portability

Tango provides Web developers with the ability to create true cross-platform Web solutions. Currently, Tango is available for the Apple Mac OS, Microsoft Windows NT, Microsoft Windows 95, Windows 98, Sun Solaris, and Linux. You can create Tango applications on one environment and deploy them on another; for example, creating Tango application files using Tango Editor on a Macintosh and deploying the application files on a Solaris Web server.

Tango application files are stored in an XML file format and can be easily transferred from one operating system to another. No recompiling or regeneration of the application files is necessary for execution or editing. This enables you to develop application files on your platform of choice and deploy onto virtually any Web server.

Because of Tango Editor's advanced abstraction of database actions, changing the designated DBMS is a matter of changing the data source associated with the Tango application file.

Scalability

Tango has the ability to scale to support enterprise solutions. Tango can scale in two areas: Tango Editor allows you to develop enterprise solutions, and Tango Server is able to scale to handle ever-increasing loads.

Tango Editor allows simple solutions to be scaled to handle the complexities of interaction among multiple database systems.

Tango Server provides scalability through its architecture and implementation. Tango Server is designed to maintain high performance under heavy loads. All platforms supported by Tango Server utilize the operating system capabilities for process multi-threading to take advantage of the scaling effects of multiple CPUs. You can deploy multiple application servers and you can deploy Tango Servers, or components thereof, on different host machines. These machines do not have to be identical in configuration or operating system, allowing you to utilize all available resources. Tango Servers on Windows and Unix platforms use load splitting architecture to handle load and use a Server Watcher to ensure maximum uptime.

Group-based Development

Tango has built-in support for team development. Tango projects draw together all the elements of an application in one place and graphically display the status of each application component. Tango projects integrate with standard source code control systems.

Within a Tango project, you can define an FTP site and deploy (upload) files defined in your project to another computer, preserving the hierarchical structure of your project files. You can also download files from a remote site to replicate a project or share projects with other developers. The project file stores a project's site definitions and details about each site, so that a project can be shared among users or team members.

The XML document object model (DOM) allows a further abstraction of the business and presentation logic layers within an application. This is particularly important within group development environments: it allows graphic HTML programmers to easily integrate the work of Tango programmers who work independently on the application's business logic.

[top] [back to top]


What's New in Tango 2000

Tango 2000 incorporates many new features not present in earlier Tango versions. Here is a list of some important features in Tango 2000 and a cross-reference to the sections in this User's Guide that discuss those features:

  • Object Extensibility allows developers to visualize objects within the Tango Development Studio and integrate business objects and functionality that exist outside of the Tango development environment. You can introspect objects to see their methods and parameters, and therefore easily create applications that pass values to and retrieve values from external objects.

    Currently, Tango 2000 supports COM objects (on the Windows platform) and JavaBeans (on Macintosh, Windows, and Solaris), as well as Tango's own native object type, Tango class files. For more information, see Chapters 21 and 22.

  • Tango class files allow developers to save Tango code--consisting of actions and meta tags--as objects for re-use in Tango application files or other Tango class files. Tango class files are available through the Object tab of the Project Workspace just as other object types are, such as COM objects and JavaBeans. Tango class files can be used again by dragging and dropping them into new Tango application files; developers only need to write code once for creating Tango-style objects--such as an auction site or a login application for a Web site--which can then be re-used in future projects. And if the Tango class file worked once, developers know it will always work when re-used, dramatically reducing debugging time and accelerating the development process. For more information, see Chapter 23.

  • Tango Web Analyzer (Windows-only) is a new suite of Tango components that allows real-time monitoring of Web site activity. Tango Web Analyzer enables Web site personalization and marketing by tracking unique and repeat visitors and mapping Web site traffic flow. All collected data is stored in a SQL database for hourly, daily, weekly and monthly reporting and analysis. A set of provided Tango class files lets developers integrate information collected via Tango Web Analyzer into their Web applications. For more information, see the Tango Web Analyzer Administrator's Guide, included with Tango 2000 for Windows, and the Getting Started Guide for Windows.

  • Custom Meta Tags allow developers to extend Tango's built-in meta tags by referencing logic defined in supported object types. Tango 2000's extensibility provides a flexible development environment for the creation of Web applications. For more information, see the "Custom Meta Tags" section of the Meta Tags and Configuration Variables manual.

  • Full XML Implementation allows XML to be treated as a data type inside Tango for manipulation of structured data. This provides developers with a standard mechanism for complete, accurate business-to-business communication. Tango application files are saved in an XML format, allowing advanced Tango developers to edit or create Tango application files outside of the Tango environment. For more information, see Chapter 9.

  • Improved Configuration and Reporting. The Tango 2000 Configuration Manager (the config.taf application file) now supports configuring multiple Tango Servers, Tango domains, Tango applications, and many new configuration variables; it also gives more details on the current operation of Tango Server. For more information, see Chapter 24 or the Getting Started Guide.

  • Application Variable Scope. Tango supports applications, which are groups of application files that share variables. This provides protection and configuration of an application on Tango Server. For more information on application scope, see Chapter 8; for more information on creating and configuring applications, see Chapter 24.

  • New Meta Tags. Tango provides many new meta tags for working with objects, binding parameters, manipulating document instances (XML), automatically creating drop-down lists and radio button groups in Tango Server, returning Tango Server status, and many other features. For more information, see the Meta Tags and Configuration Variables manual.

  • Enhanced Mail Action. Tango now supports international character sets in message text, MIME encoding, file attachments, and custom headers. For more information, see Chapter 18.

  • JavaScript Enhancements. Tango supports a wider range of variable scopes when JavaScript is called. For more information, see Chapter 17.

  • FTP Deployment. Easily deploy and download entire projects using Tango Editor's built-in FTP functionality. For more information, see Chapter 3.

  • HTML Syntax Coloring. You can display all HTML and processing instructions in Tango with different colors, depending on the category of HTML. This can aid in quick development and debugging. For example, all meta tags are one color, all standard HTML tags are a different color, and the content is yet a another color. All colors are customizable.

[top] [back to top]


Using Tango Manuals

All Tango documentation, including this User's Guide, assumes you are familiar with the basics of using a computer, such as clicking and dragging, and opening and saving files. If you need help with these tasks, you should refer to the documentation that came with your computer.

The Tango documentation does not cover the following topics:

  • setting up and configuring your Web server software and your database software
  • creating databases and modifying a database structure
  • creating JavaBeans
  • the basics of HTML.

Getting Started Guide

The Getting Started Guide helps you get up and running with Tango as quickly as possible. It covers preparing to install, installing, and setting up Tango. It also covers the various ways to reach Pervasive for product information and technical support.

User's Guide

The User's Guide introduces you to Tango and tells you how to perform the tasks necessary to create your applications. It is your main source of Tango information. Topics covered include Tango basics, including using application files, data sources, snippets, and action builders. Other more advanced topics cover meta tags, variables, specific actions, and using Tango Server. Appendices include a glossary of terms, how to use Java with Tango, and some notes and hints on deploying Tango solutions.

FileMaker Pro

FileMaker Pro Data Sources

In addition to supporting data source types such as ODBC, DAM, and Oracle, Tango 2000 supports FileMaker Pro data source types. For this reason, a few menu items and other interface elements may use terminology not applicable to FileMaker Pro, even when using FileMaker Pro data sources.

Throughout this guide, the terms table and column are used when discussing the structure of a database. These are the standard terms used for SQL databases accessed using Tango's DAM, ODBC, and Oracle data source types. FileMaker Pro data sources use different terminology. There are no tables in FileMaker Pro data sources, because it is a flat-file database system. The equivalent of a table in FileMaker Pro is a layout. As well, the FileMaker Pro term for a column in other types of databases is field. Labels for these database structure elements in the Tango Editor interface generally reflect the type of data source you are using. Wording and graphics in the documentation normally use the SQL terms.

As well, some Tango features operate differently for FileMaker Pro data sources. These differences are explained in the relevant section in a note with a FileMaker Pro icon in the margin.

Meta Tags and Configuration Variables

A companion to the User's Guide, the Meta Tags and Configuration Variables manual is an alphabetical listing and description of meta tags and configuration variables and how custom meta tags operate.

Tutorials

The Tutorials help you understand the key functions of Tango Editor. Using a series of brief lessons that build upon each other, you can progress quickly to learn Tango. The Tutorials are designed for users who are familiar with the basics of using a Macintosh, HTML, and the operation of a Web server.

On-line Help

On-line help is available in HTML format from within Tango Editor. It is your most immediate source of information. To access on-line help, do one of the following:

  • Choose Help Home Page from the Help menu
  • Choose Help from the contextual menu
  • Open your Web browser, navigate to the Tango Help folder, and choose the file home.htm.
[top] [back to top]


Tango at a Glance

The Internet is a stateless network environment. Web pages are not connected to the next, previous, or any other Web page, and the Web browser/client does not maintain a physical connection with the Web page server. Using a combination of HTML and Tango meta tags, Tango provides a means of passing information from one Web page to another.

Tango at a glance

[top] [back to top]


Where To Go Next

If you have not already done so, install Tango by following the instructions in the Getting Started Guide.

Then learn the basics of creating and editing application files. Work through the lessons in the Tutorials. With the knowledge you gain, you will soon be ready to begin creating your own Tango solutions.

Refer to this User's Guide for all the details about Tango Editor and Tango Server. This manual is divided into six sections:

  • Section I - Using Tango Editor (Chapters 2-6). Gives details on the basics of Tango Editor. Recommended for new users.
  • Section II - Tango Building Blocks (Chapters 7-9). Gives details on Tango meta tags, variables, and document instances (XML). A look through Chapter 7 and Chapter 8 is recommended for new users.
  • Section III - Tango Builders (Chapters 10-12). Gives details on the Search Builder and New Record Builder. Recommended for new users.
  • Section IV - Tango Actions (Chapters 13-19). Examines Tango actions in detail. If you work with a particular Tango action, you can read the documentation here.
  • Section V - Tango and Objects (Chapters 21-23). Gives details on using objects within Tango and creating Tango class files. Recommended for users who use or create objects.
  • Section VI - Tango Server (Chapter 24). Gives details on configuring Tango Server. A look through Chapter 24 is recommended for all users.

The Meta Tags and Configuration Variables manual is a reference for those familiar with the basics of Tango.



[TOC] [Prev] [Next] [Bottom]



docs@pervasive.com

Copyright © 1999, Pervasive Software. All rights reserved.