PHP ja Raintree skriptimiskeele ülevaade ja edasiarendus

Date

2012

Journal Title

Journal ISSN

Volume Title

Publisher

Tartu Ülikool

Abstract

Käesoleva töö eesmärk oli välja pakkuda lahendusi ühe või teise Raintree Estonia OÜ-s kasutatava skriptimiskeele edasiarendamiseks. Selle eesmärgi saavutamiseks kirjeldati töö esimeses osas domeenispetsiifiliste keelte olemust ja mõningaid karakteristikuid. Teises peatükis vaadeldi Raintree põhirakenduse arhitektuuri ja Raintree skriptimiskeele osa sel-les. Samas vaadeldi ka Raintree skriptimiskeele elemente ning süntaksit. Kolmandas pea-tükis keskenduti Raintree ja PHP põhirakenduse integratsiooni selgitamisele ja PHP keele-le loodud Core Library raamistiku põhiklasside kirjeldamist ning raamistiku kasutamise eesmärki. Neljandas peatükis võrreldi Raintree skriptimiskeelt ja PHP-d nende domeeni-spetsiifilisuse, laiendatavuse, süntaksi ja keele elementide aspektist. Viiendas ja viimases peatükis võeti kokku eelnevate osade põhjal Raintree skriptimiskeele ja PHP eelised, puu-dused ja kasutamise Raintree-s ning jõuti järeldusele, et mõlema keele eeliseid saab ühen-dada laiendades PHP keelt nii, et ta oleks Raintree skriptimiskeelega sarnaselt domeeni-spetsiifiline. Keelte edasiarendamise eesmärk on tingitud faktist, et olemasolevaid keeli ei kasutata eesmärgipäraselt – kuigi PHP võeti kasutusele just objekt-orienteeritud programmeerimise võimaluste poolest lihtsasti laiendatavate ärirakenduste moodulite ehitamiseks, kasutatakse selle asemel Raintree skriptimiskeelt. Põhjus peitus nende kahe keele implementatsioonis, kus Raintree skriptimiskeel oma domeenispetsiifilisuses väljendab palju täpsemalt Raintree põhirakenduse olemust, võrreldes PHP-ga. Kuna tuli ühendada nii objekt-orienteeritus kui ka domeenispetsiifilisus, siis seda on lihtsam saavutada PHP keele do-meenispetsiifilisuse edasiarendamise teel, sest PHP kasutamisega kaasnevad ka teised selle keele võimalused, näiteks massiivid ja liidestamisel kasutatavad PHP laiendused nagu SOAP ja HTTP. Antud töös kirjeldatud probleemidest vääriks edasi uurimist jõudluseprobleemid Raintree-spetsiifilises PHP-keele laienduses. Teiseks, järgides antud töö lahenduses välja pakutud PHP parendamise plaani, saaks koostada konkreetse disainidokumendi, mille abil saaks PHP-d laiendada RSL-i eeskujul domeenispetsiifiliseks keeleks.
The main goal of the thesis was to find a solution for enhancing one or another scripting language that is used by Raintree Systems, Inc. Language enhancement was elicited by the fact that the current languages are not used purposefully, although PHP was put to use be-cause of its object-oriented programming features in order to create easily extendable busi-ness application modules, but Raintree scripting language is used instead. The reason of this phenomenon was in the way how these two languages were implemented – compared to PHP, Raintree scripting language in its domain specificness is expressing more accu-rately the essence of Raintree application. Since the solution to the problem was incorpo-rating object-orientation and domain specificness, then the easiest way to achieve it would be extending the PHP with domain-specific commands. In that way we would acquire oth-er benefits that PHP has to offer like arrays and PHP-specific HTTP and SOAP extensions for implementing data interfaces between Raintree and other information systems. For achieving this thesis’s objective, the domain-specific language essence and characteris-tics were described in the first chapter. In the second chapter the architecture of Raintree application and Raintree scripting language was observed, also the language elements and syntax. In the third chapter the focus was on describing the integration between Raintree application and PHP. Also the Raintree Core Library framework’s main classes and the benefits of using the framework were described. In the fourth chapter the Raintree script-ing language and PHP was compared in the aspect of syntax, domain specificness, exten-sibility and language elements. Fifth, the last chapter connected the previous chapters by describing the advantages and disadvantages, when comparing PHP and Raintree scripting language, then the usage of these languages in Raintree Systems, Inc. and came into con-clusion that the advantages of the both languages can be incorporated by extending the PHP in a way that it would be domain-specific as Raintree scripting language.

Description

Keywords

Citation