Introducing Tango 2000About Tango 2000 and How It WorksTango 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 TangoTango 2000 is the industry-leading, application server development environment for generating dynamic Web pages and accessing databases. Tango ComponentsTango consists of three main programs: Tango Editor and Tango Application Server, hereafter known simply as Tango Server, and Tango Web Analyzer (Windows-only).
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. 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 EditorThe 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 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 ServerTango 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. 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 RequestTo understand these components better, look at the interaction among the components.
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 ConceptsFive key concepts enable Tango to lead the market in being an easy-to-use RAD (rapid application development) tool. They include:
Visual ToolTango 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 MetaphorTango 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:
ExtensibilityTango 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:
The External action supports common and platform-specific mechanisms for interacting with other programs: PortabilityTango 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. ScalabilityTango 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 DevelopmentTango 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. ![]() What's New in Tango 2000Tango 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:
![]() Using Tango ManualsAll 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:
Getting Started GuideThe 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 GuideThe 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 Data SourcesIn 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 VariablesA 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. TutorialsThe 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 HelpOn-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:
![]() Tango at a GlanceThe 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.
![]() Where To Go NextIf 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:
The Meta Tags and Configuration Variables manual is a reference for those familiar with the basics of Tango. |
Copyright © 1999, Pervasive Software. All rights reserved.