Forté 4GL
   HOME

TheInfoList



OR:

Forté 4GL was a proprietary application server that was developed by Forté Software and used for developing scalable, highly available, enterprise applications.


History

Forté 4GL was created as an integrated solution for developing and managing client/server applications. Forté 4GL consists of an application server, tools for deploying and monitoring an application and an object oriented proprietary programming language, TOOL (transactional object oriented language). Given that TOOL only runs on the Forté application server, many users simply refer to their "TOOL" applications as "Forté" applications. The first release of Forté 4GL was published in August 1994. After releasing this initial product, Forté Inc. proceeded to build several extensions including: * Web Enterprise – an HTML-wrapper interface for rich-client applications to publish their screens through web servers. * Forté Express – a rapid database GUI interface kit, released in July 1995. * Conductor – a work flow engine capable of choreographing activities, released in March 1997. * Forté Fusion – an integration backbone to link external systems using XML messaging and tie in with the Conductor engine. In 1999, Forté Software came out with a version of Forté that was based on
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
instead of TOOL named ''synerJ'' and was also referred to as "Forté for Java". As with the original TOOL-based products this consisted of a development IDE, a code repository, and a runtime environment. This new java product was of interest to
Sun Microsystems Sun Microsystems, Inc., often known as Sun for short, was an American technology company that existed from 1982 to 2010 which developed and sold computers, computer components, software, and information technology services. Sun contributed sig ...
who bought out the company. The TOOL-based extensions listed above were bundled together and re-branded as Unified Development Server (UDS) and Integration Server (IS) under the IPlanet division. The server modules were later bundled together as Enterprise Application Integration (EAI). Sun declared the product's end-of-life, indicating no future plans to continue development of the product. Sun's official support of Forté ended in April, 2009.Sun phases out UDS
/ref>


Capabilities

Being an enterprise application development system, Forté 4GL supported close linkage to a number of different
relational database A relational database (RDB) is a database based on the relational model of data, as proposed by E. F. Codd in 1970. A Relational Database Management System (RDBMS) is a type of database management system that stores data in a structured for ...
systems, including
Oracle An oracle is a person or thing considered to provide insight, wise counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. If done through occultic means, it is a form of divination. Descript ...
,
Sybase Sybase, Inc. was an enterprise software and services company. The company produced software relating to relational databases, with facilities located in California and Massachusetts. Sybase was acquired by SAP in 2010; SAP ceased using the Syba ...
,
Microsoft SQL Server Microsoft SQL Server is a proprietary relational database management system developed by Microsoft using Structured Query Language (SQL, often pronounced "sequel"). As a database server, it is a software product with the primary function of ...
,
Informix Informix is a product family within IBM's Information Management division that is centered on several relational database management system (RDBMS) and multi-model database offerings. The Informix products were originally developed by Inform ...
, and DB2. These linkages could be via SQL embedded within the TOOL code, or via SQL constructed on the fly. It also had support for distributed applications: the developer would create an instance of a specific class, which would be placed on a user-specified server. Calls to methods through instance would be sent across the network transparently; the developer would not need to know the underlying details of how the call would be transmitted.


Programming Language TOOL

TOOL is an object-oriented language with the following features (among others): * automatic garbage collection * referenced based, no pointers * single inheritance and interfaces * supports multi-threaded programming * integrated statements for database access * event handling * exception handling * strong integration with GUI * one common base class called Object TOOL code is case-insensitive. A statement is always terminated by the semicolon. Compound statements are enclosed by the keywords begin and end. Comments are indicated by // or -- (remainder of line becomes a comment), /* ... */. Data Types The Simple Data Types are: * boolean * float * double * char * string * Integer data types ** i1, ui1 (signed / unsigned one byte integer) ** i2, ui2 (signed / unsigned two bytes integer) ** i4, ui4 (signed / unsigned four bytes integer) ** integer (signed four bytes integer, same as i4) ** short (signed integer, at least two bytes, same as int) ** int (signed integer, at least two bytes) ** long(signed integer, at least four bytes) The corresponding object data types are (some examples): * BooleanData, BooleanNullable * IntegerData, IntegerNullable * DoubleData, DoubleNullable * TextData, TextNullable Arrays are indicated by the keywords Array of. The first element of an array is indexed by 1. Variable Declaration
name : string = 'John';
result : integer;
dataArray : Array of IntegerData = new;
Conditional Statements (if-statement, case-statement)
if result = 5100 then
    ...
elseif result != 0 then
    ...
else
    ...
end if;

case result is
    when 1 do
        ....
    when 2 do
        ....
    else
        ...
end case;
Iteration, Loops
for k in 1 to 10 by 2 do
    ...
end for;

for dataItem in dataArray do
    ...
end for;

k : integer = 2;
while k < 14 do
    ...
    k = k + 1;
end while;
Events An event is posted e.g. by the following statement:
post EV_CustomerSet(id = selectedID);
This statement posts an event named EV_CustomerSet. This event has one argument named "id". Events are handled by event handlers, for example:
event loop
    preregister
        register GeneralHandler();
        ...
    postregister
        waitTimer.IsActive = true;
        ...
    when EV_CustomerSet( id ) do
        ...
    when waitTimer.Tick() do
        exit;
    when task.Shutdown do
        exit;
end event;
Exception handling
begin
    ...
    raise UsageException();
    ...
exception
    when e : UsageException do
        task.ErrMgr.Clear();
        ...
    else
        ...
        raise;
end;
Multithreading A new thread is launched by a statement like start task report.Print();


See also

*
TeamWare Sun WorkShop TeamWare (later Forte TeamWare, then Forte Code Management Software) is a distributed source code revision control system made by Sun Microsystems. It was first announced in November 1992 as SPARCworks/TeamWare and ProWorks/TeamWare and ...


References

{{Reflist


External links


Sun's documentation for "Sun ONE Unified Development Server (UDS) 5.2"Sun's documentation for "Forté 4GL 3.5 (UDS)"


* ttp://www.cnet.com/news/suns-forte-buy-gives-server-software-a-boost/ Sun's Forte buy gives server software a boostbr>Forte tools create a collaborative platform for developers
Fourth-generation programming languages