Met SuperNOVA van
Four Seasons software
worden client-server applicaties
ontwikkeld waarvan de objecten
vrij over het netwerk
kunnen worden verdeeld.

De ster van Bilthoven

GUI-onafhankelijk ontwikkelen met SuperNOVA 4.1

Totdat volledig gedistribueerde systemen doorbreken worden met zgn. client-server tools bruggen geslagen tussen mainframe databases en desktop apps. Op deze markt zijn RDBMS leveranciers aktief die hun 4GL front-ends loskoppelen van de engine naast een aantal database-onafhankelijke producenten als UniFACE en Forté en wat microsoftware om vensters te verven. Met tweede generatie CS tools kunnen applicaties door de beheerder vrijelijk worden gepartitioneerd. SuperNOVA blinkt uit in brede ondersteuning van OSen, RDBMSen, netwerken, GUIs en OLTP monitors.

de makers

Four Seasons Software behoort tot de Transmediair Group, die is opgericht in 1977. Aanvankelijk werd vanuit de Amerikaanse vestiging geopereerd, maar tegenwoordig vindt de R & D plaats op het hoofdkantoor in Bilthoven, waar 4S ca. 35 medewerkers heeft. Dit jaar worden in de buurlanden enkele vestigingen geopend. Grote klanten behoeven voor hun veelal complexe projecten technische ondersteuning van de bron zelf, maar die dient liefst hun eigen taal te spreken. De firma ontwikkelt ook zelf met SuperNOVA.

4S groeit voorspoedig: in 1994 werd meer dan een miljoen aan belastbare winst geboekt. Die groei is tot nog toe geheel uit eigen vermogen gefinancierd, maar voor de nieuwe wereldwijde marketingstragie zal enig vreemd kapitaal worden aangetrokken.

het maaksel

SuperNOVA wordt vooral gebruikt bij grote bedrijven, VARs en overheidsinstellingen. AT&T verkoopt het weer door aan diens klanten. Er zijn inmiddels zo'n 6000 ontwikkelingslicenties en naar schatting 25000 gebruikerslicenties van verkocht. De prijsstelling mag scherp heten: een complete ontwikkelomgeving heeft men al voor ca. f 5.000, terwijl gebruikerslicenties op f 1500 - 2000 komen. Voor de onderliggende database is dan nog maar één licentie nodig.

Het hart van SuperNOVA is de engine, die op elk deelnemend systeem geïnstalleerd wordt. Hieronder bevinden zich de diverse interfaces. Naar de database toe kan evt. in SQL gesproken worden, maar de Record Management Layer spreekt diens moedertaal. Behalve RDBMS tabellen kunnen ASCII-files of arrays in het geheugen worden gebruikt. Dezelfde interfaces zijn te vinden in het produkt 4S-RAIL (Relational Access Interface Library), dat een open database-onafhankelijke API biedt voor C applicaties.

Met de grafische application builder kunnen complete applicaties worden gebouwd. Hiermee kan interactief de data dictionary worden aangemaakt, de User Interface worden ontworpen en de applicatielogica gedebugged. Dialoogschermen bevatten componenten als teksten, invulvelden, grafieken, buttons, menu's en keuzelijsten. Door de muis te klikken genereert de gebruiker bepaalde events, die aan de componenten gekoppelde functies activeren.

De data dictionary en de code worden opgeslagen in ASCII-vorm, zodat de ontwikkelaar naar wens met vi1 kan werken. Deze 4GL is een geïnterpreteerde taal, wat de portabiliteit bevordert; ze wordt omschreven als 'polymorf' en 'object-oriented'. Met SN2C is compilatie naar C mogelijk.

Een ander lid van de familie is 4S-Report, waarmee de eindgebruiker op WYSIWYG wijze rapporten kan genereren. 4S-BriefCASE is een 'lower CASE' tool, waarmee uit een data model automatisch prototypen gegenereerd kunnen worden aan hand van een set door 4S uitgekookte recepten; af te maken naar smaak.

Ondersteunde platforms

Operating Systems GUIs Netwerken Databases
AIX Motif TCP/IP Informix
Solaris OpenLook Starlan Oracle
HP-UX PM DECnet Ingres
OSF/1 Windows Progress
Linux character mode Sybase
SCO Teradata
UnixWare EDA/SQL
NetWare DB2
Open VMS DEC RMS
MPE/IX RDB
Stratus-VOS Adabas
OS/400 Allbase
OS/2 ODBC
Microsoft C-ISAM

de flexibiliteit

De kracht van SuperNOVA is dat het alle belangrijke systemen ondersteunt. Omdat alles op platformonafhankelijke wijze is opgeslagen, kunnen delen van een database en applicatie dynamisch worden gedistribueerd; afgezien van de visualisatie is de beheerder vrij in de keuze van de lokaties. De gebruiker kan kleuren en lettertypen naar wens aanpassen of de dialoogteksten vertalen. SuperNOVA is al vertaald in het Japans; Chinese en Koreaanse versies komen er aan.

Delen van een applicatie die op een host moeten draaien, worden gegroepeerd tot services. Een engine slaat de hele applicatie op en zal de nodige objecten distribueren naar de hosts die een service moeten leveren op het moment dat daarom gevraagd wordt. Welke host wat krijgt is vastgelegd in de Dispatch Tables die door de gebruiker kunnen worden gewijzigd.

SuperNOVA kent twee distributievormen: private en shared services. Meerdere hosts kunnen dezelfde service exporteren. Daemons verdelen de importverzoeken dan over de hosts. Zijn die alle bezet, dan krijgt de gebruiker een nee op haar rekest.

SuperNOVA ondersteunt expliciete en impliciete transacties waarin de te wijzigen data over meerdere databases verspreid kunnen zijn met een two-phase commit protocol. Dat zorgt ervoor dat alle updates op een consistente wijze worden uitgevoerd, of transacties in hun geheel teruggedraaid. De onderliggende DBMSen voeren slechts hun deel van een transactie uit. Zo mag de ene database iemands adresrecord niet wissen als er in de andere nog openstaande factuurrecords aanwezig zijn. Desgewenst kan deze taak worden overgenomen door veelgebruikte OLTP monitoren als Tuxedo of Top End. SuperNOVA bezit faciliteiten voor beveiliging, encryptie en datacompressie.

Later dit jaar wordt versie 5.0 verwacht. Daarin zal de interactieve builder worden verbeterd en een interactief tool voor de partitionering van applicaties opgenomen. Voor groepsgewijze ontwikkeling komt er een mechanisme voor versiebeheer van sources en objects. Verder zullen DCE RPC en OMG CORBA zullen ondersteund.

literatuur

  1. N.N., "Client-server, modekreet die vorm moet krijgen", UNIX info 8[2], 14-16 (1994)
  2. D.C. von Asmuth, "Het is maar hoe je het bekijkt", UNIX info 6[7], 74 (1993)
  3. F. de Lange, "Client-server, tweede generatie", UNIX info 8[5], 9-13 (1994)
  4. J. Caspers, "ObjectIQ", UNIX info 8[1], 28-30 (1994)
  5. N.N., "MAGIC-ontwikkelomgeving", UNIX info 7[6], 26 (1994)
  6. J. Caspers, "unify", UNIX info 8[7], 74-5 (1994)

    Daniel von Asmuth

    1. of EMACS of Brief of...