FAS nykytermein


FAS ja FASOS – suomalainen “LAMP‑pino” ennen webiä

FAS‑ohjelmointikieli ja FASOS‑käyttöjärjestelmä muodostivat yhdessä kokonaisuuden, jota voidaan nykytermein verrata LAMP‑pinoon. Kyse ei ollut vain kielestä tai käyttöjärjestelmästä, vaan yhtenäisestä sovellusympäristöstä, jossa ohjelmointi, ajonaikainen hallinta, tiedonkäsittely ja siirrettävyys oli suunniteltu toimimaan saumattomasti yhdessä.


Mitä LAMP tarkoittaa – ja miksi vertaus toimii

Nykyinen LAMP‑pino koostuu neljästä kerroksesta:

  • Linux – käyttöjärjestelmä
  • Apache – palvelin ja ajonaikainen ympäristö
  • MySQL – tiedonhallinta
  • PHP / Python / Perl – sovelluslogiikka

FAS‑ympäristössä nämä roolit eivät olleet erillisiä tuotteita, vaan yksi integroitu kokonaisuus, jossa vastuut jakautuivat seuraavasti:

NykytermiFAS‑ympäristön vastine
LinuxFASOS
ApacheAjomonitori
PHP / PythonFAS‑kieli
MySQLMerkkimuotoiset tiedostot + IS/IR‑rakenteet

FASOS – käyttöjärjestelmä sovelluksia varten

FASOS ei ollut yleiskäyttöinen käyttöjärjestelmä nykyisessä mielessä, vaan sovellusajoon erikoistunut ympäristö. Sen tehtäviä olivat:

  • Modulien lataus ja purku ajonaikaisesti
  • Muistinhallinta eri laiteympäristöissä
  • Kutsujen optimointi ja linkitys
  • Yhteys käyttöjärjestelmän palveluihin

Nykytermein FASOS vastasi Linuxin ja sovelluspalvelimen yhdistelmää, jossa sovellusten elinkaari ja resurssien hallinta oli keskitetty.


FAS‑kieli – sovelluslogiikka ja liiketoimintasäännöt

FAS‑kieli oli sovelluslogiikan ydin, kuten PHP tai Python nykyisessä web‑pinossa. Sen erityispiirteitä olivat:

  • Yksinkertainen peruskieli
  • Vahva makrojärjestelmä
  • Modulaarinen rakenne
  • Call‑by‑reference‑parametrinvälitys

Makrot vastasivat nykyisiä framework‑laajennuksia: niillä rakennettiin monimutkaisemmat rakenteet ilman, että peruskieltä paisutettiin.


Ajomonitori – Apache ennen HTTP:tä

Ajomonitori oli FAS‑ympäristön näkymätön mutta keskeinen osa. Se:

  • Vastasi ohjelmien käynnistyksestä
  • Hallitsi modulien latausta
  • Optimoi kutsuja ajonaikaisesti
  • Tarjosi rajapinnan käyttöjärjestelmään

Nykytermein ajomonitori vastasi Apachea tai muuta sovelluspalvelinta, joka ei itse sisällä liiketoimintalogiikkaa, mutta mahdollistaa sen suorittamisen tehokkaasti ja hallitusti.


Tiedonhallinta – ennen relaatiotietokantoja

FAS‑ympäristössä tiedot tallennettiin merkkimuotoisina tiedostoina, mikä oli tietoinen ratkaisu:

  • Täysi koneriippumattomuus
  • Helppo siirrettävyys
  • Ennustettava rakenne

IS‑ ja IR‑rakenteet vastasivat nykyisiä indeksoituja tietokantoja, mutta ilman erillistä tietokantapalvelinta. Tietomallit olivat lähempänä flat file + indeksi ‑ratkaisua kuin relaatiomallia.


Modulaarisuus = mikropalvelut ennen mikropalveluja

FAS‑ohjelmat koostuivat itsenäisistä moduleista, joita:

  • Ladattiin vain tarvittaessa
  • Voitiin päivittää erikseen
  • Jaettiin useiden sovellusten kesken

Tämä vastaa nykyistä mikropalvelu‑ ja kirjastomallia, jossa yhteiset komponentit elävät omassa elinkaaressaan.


Siirrettävyys – “write once, run anywhere”

FAS‑ympäristön keskeinen tavoite oli siirrettävyys:

  • Sama ohjelma eri koneilla
  • Sama lähdekoodi eri käyttöjärjestelmissä
  • Minimaalinen ympäristökohtainen muutos

Nykytermein tämä vastaa konttiajattelua: sovellus ja sen ajonaikainen ympäristö muodostavat yhtenäisen kokonaisuuden.


Miksi vertaus LAMP‑pinoon on perusteltu

FAS + FASOS:

  • Yhdisti käyttöjärjestelmän, ajonaikaisen ympäristön ja sovelluslogiikan
  • Tarjosi vakaan ja pitkäikäisen alustan
  • Mahdollisti laajat sovelluskokonaisuudet ilman ulkoisia riippuvuuksia

Kyseessä oli ennen webiä syntynyt sovelluspino, joka ratkaisi samoja ongelmia kuin nykyiset web‑arkkitehtuurit – eri teknologioilla, mutta yllättävän samankaltaisilla periaatteilla.


Perintö

FAS‑ympäristö osoittaa, että monet nykyiset ohjelmistoarkkitehtuurin perusideat – modulaarisuus, siirrettävyys, ajonaikainen hallinta – eivät ole uusia. Ne toteutettiin Suomessa jo vuosikymmeniä ennen web‑aikakautta, omista lähtökohdista ja omiin tarpeisiin.

FAS ja FASOS olivat aikansa täysi sovelluspino, jonka ajattelutapa on yhä tunnistettavissa nykyisissä järjestelmissä.


Scroll to Top