Magic

Hordozhatóság

"A Magic megközelítése több jelentõs elõnyt kínál: Könnyű átvihetõség azon platformok bármelyikére, ahol a Magic futtatómotor elérhetõ"

Hurwitz Consulting Group

Koncepció és architektúra szempontjából nehéz ideálisabb megoldást kitalálni, mint a Magic. A vezetõség által a meglévõ adatokba és a Magic-kel fejlesztett új alkalmazásokba történõ befektetések biztonságosak a Windows, NT, AS/400, OpenVMS, és a különbözõ Unix platformok esetében is. Ez a biztonság azért lehetséges, mert a Magic alkalmazásmotorja portolva lett ezekhez a környezetekhez. Ráadásul, a meglévõ örökölt alkalmazások létezhetnek a Magic alapú alkalmazások mellett is.

Az adatokba történõ befektetés szintén védett. A Magic átjárókat biztosít a széles körben használt SQL RDBMS-ekhez és az örökölt rendszerekhez. Tény, hogy a Magic támogatja az elosztott, heterogén adatnézeteket. A Magic sokféle fájlt és adatbázistípust képes elérni mindenféle hálózati konfiguráción át, különbözõ kommunikációs protokollok használatával.

A Magic az adatok szigetei között szükséges hidakat biztosítja, hogy megõrizze a múltbeli befektetést.

Ha már van egy alkalmazásleíró módszertan, egy erõs virtuális gép, és egy alkalmazásgyűjtõ, az egyetlen dolog, amit meg kell változtatni minden különbözõ platformkörnyezet számára, az a virtuális gép - a Magic alkalmazásmotor. Ahelyett, hogy az alkalmazásfejlesztõnek kéne átvinnie, újrafordítania, és újralinkelnie az alkalmazás forráskódját, az eszköz szállítója az, aki átviszi, újrafordítja, és újralinkeli a Magic alkalmazásmotor forráskódját egyetlen egyszer, minden népszerű platformra. Mindaz, amit egy fejlesztõnek az alkalmazás átviteléhez tennie kell, az összesen egy fájl átvitele, név szerint, a Magic Gyűjtõé. Fontos megjegyezni, hogy a Magic módszertana gyors és hatékony eszközöket tartalmaz akár az egész alkalmazás, akár egy kiválasztott alrendszer átvitelére (pl.: egyedi táblák).

A Magic nagy választékú platform, adatbázis, és klienstámogatása a 20. ábrán látható.

A Magic robusztus együttműködési képessége

20. ábra: A Magic robusztus együttműködési képessége

Adatbázis-függetlenség

Az alkalmazásfejlesztők örömmel fogadnának egy módszertant és eszközkészletet, amely lehetővé tenné számukra alkalmazások általános módszerrel való építését, az alatta lévő adatbázistól függetlenül, amellyel az alkalmazás végül futna. A fejlesztők szintén örömmel fogadnának egy módszertant és eszközkészletet, amelyben egy alkalmazás egy bizonyos adatbázishoz vagy fájlkezelőhöz szükséges testreszabása könnyen megérthető, könnyen használható és gyors.

Az SQL-alapú adatbázisok egyik szándékos előnye a magas szintű adatbázisfüggetlenség biztosítása. Gyakorlatban, az erőfeszítés, ami ahhoz szükséges, hogy egy alkalmazás, ami pillanatnyilag az egyik kereskedő saját SQL adatbázisával működik, működjön egy másik kereskedő saját SQL adatbázisával, változhat a nagyon egyszerű, ODBC-alapú folyamattól kezdve, egészen a hosszadalmas, unalmas folyamatokig, amelyeknek velejárója a forráskód szerkesztése, újrafordítása, és újralinkelése. A szükséges erőfeszítés sokban múlik az alkalmazásfejlesztő eszköz módszertanán és képességein. Továbbá, az SQL-képesség nem nyújt megoldást az örökölt adatbázisok folytatólagos támogatásának igényére és az új alkalmazásokkal való átlátszó integrálásra.

Nehéz elképzelni a Magicénél egyszerűbb megközelítését az adatbázisfüggetlenségnek. A Magic-kel, egy táblabejegyzést kell csak módosítani a választott adatbázis kijelöléséhez.

A Magic adatbázis-függetlensége értéket ad a meglévő befektetéshez és biztosítja az előrelépés lehetőségét. A Magic azonnal használható a stratégiai alkalmazások fejlesztésének elkezdéséhez, mialatt a szervezeten belül a legmegfelelőbb RDBMS-ek belső vizsgálata lezajlik. Minden alkalmazás átláthatóan és könnyen átvándoroltatható igény szerint.

Fogalmilag, a folyamat könnyen érthető, könnyen használható, és gyors. Ezek az előnyök természetes módon származnak a Magic kódmentes, táblavezérelt technikájából. Ezek az előnyök nem származhatnak természetes módon más, nyelv alapú rendszerekből, amelyek a beágyazott SQL-től, előfordítóktól, és linkerektől függnek.

"Fontold meg [a Magic választását,] ha: fontos a RAD-képesség, és a termelékenységnek magasnak kell lennie. Keresztplatformos támogatásra van szükség. Kívánatos az n-szálon keresztül történõ alkalmazás végrehajtás. Sokféle adatbázishozzáférés szükséges."

Gartner Group

A Magic átjárók

Nyílt rendszerű termékként a Magicet úgy tervezték, hogy a fõ relációs adatbáziskezelõ rendszerekkel és fájlkezelõ rendszerekkel együttműködjön. Ezt a különbözõ RDBMS-ekhez és örökölt rendszerekhez való specifikus adatbázisátjáró modulokkal éri el. Ezek a MagicGate adatbázisátjárók hídként szolgálnak, amelyeken át a Magic fejlesztõk hozzáférnek a különbözõ kereskedõktõl származó különbözõ adatbázisokhoz.

A MagicGate adatbázisátjárók integrált részei a Magic alkalmazáskörnyezetnek. A fejlesztõ szállítja a szükséges átjárókat, hogy teljesítse az alkalmazás adatbázisigényét. Kiegészítõ átjárók üzembe helyezésével a fejlesztõ könnyen válthat egyik adatbázisról a másikra a Magic kiváló vizuális fejlesztési módszertanának használatával.

A kliens/szerver és a Web együttműködés területe az, ahol a Magic architektúrájának, koncepciójának és képességeinek egyszerűsége, ereje és eleganciája nyilvánvalóvá válik. A megfelelõ átjáróknak a kívánt kliensrendszeren történõ üzembe helyezésével, és a Magic Repository nevének és szerver elhelyezkedésének táblázatsorokban történõ megadásával, egyszerűen, bármely támogatott Magic-kliens azonnal futtathatja az alkalmazást.

A végfelhasználók bármely, olyan szerverplatformon lévõ alkalmazást futtathatnak, amellyel egy hálózaton van a kliensállomásuk, feltéve, hogy az aktuális alkalmazás adatbázisainak eléréséhez szükséges átjárók elérhetõek a kliensplatformon.

A Magic és a relációs adatbázis-támogatás

A Magic egy alkalmazásfejlesztő olyan eszköz, amely elsősorban az adatbázisorientált alkalmazások professzionális fejlesztőit célozza meg. A Magic-kel fejlesztett alkalmazások használhatók a főbb SQL-képes RDBMS-ekkel, beleértve a Sybaset, Oraclet, Microsoft SQL Servert, DB2-t és Informixet. Szintén biztosított a támogatás más ODBC-képes adatbázisok számára.

A Magic egyedi, táblázatvezérelt megközelítése használatos az SQL-nek mind a Data Definition Language (DDL), mind a Data Manipulation Language (DML) megközelítésének megválaszolásához, anélkül, hogy a fejlesztőt SQL kódolására szorítaná.

A Magic DDL tábláinak a legfontosabb tulajdonsága az öröklődés ("eredeztetés") tulajdonsága. Bármelyik Magic-táblában bármelyik bejegyzésnek bármilyen módosítása automatikusan végigvezetésre kerül minden olyan Magic-táblázatban, amelyik hivatkozik a megváltozott táblázatra. Mivel a Magic programok maguk is olyan táblákban vannak definiálva, amik Magic DDL táblákra hivatkoznak, ennek a kijelentésnek a jelentőségét nem lehet túlhangsúlyozni. Újraszerkesztés, újrafordítás és újralinkelés nélkül az egész módosított alkalmazás azonnal készen áll a tesztelésre. A fejlesztők számára, ennek az egyszerű tulajdonságnak a kihasználása kiemelkedő jelentőségű, főleg azoknak, akiknek a felelősségébe tartozik a magas szinten együttműködő kliens/szerver hálózatokon futó alkalmazások karbantartása.

A Magic szemléletében az a meglepő, hogy egy alkalmazásnak nem csak a statikus, deklaratív aspektusai vannak táblázati bejegyzésekkel definiálva, de a dinamikus funkcionális és procedurális aspektusok is táblázatokban lettek definiálva. Még az alkalmazásprogramok (a DML utasítások logikai megfelelője) által végrehajtandó adatbázisműveletek megadása sem von maga után kódolást.

A Magic a DML funkcionális megfelelőjét különböző mechanizmusokon át éri el:

Az adatmanipulációhoz tartozó taszk üzemmódok

21. ábra: Az adatmanipulációhoz tartozó taszk üzemmódok

A Magic alkalmazásmotornak és a taszk üzemmódoknak ez az erőteljes kombinációja reprezentálja a Magic egyik leginnovatívabb aspektusát, és fontos tényező a hatalmas termelékenységi előny biztosításában.

A fentiek tudatában, egy Magic programban lévő, implicit módon kért adatbázisművelet lefordításának feladata explicit kérésekké, amelyet egy specifikus RDBMS felismer, a Magic szoftver különböző "rétegeinek" a felelőssége; és nem az alkalmazás programozójáé. A Magic alkalmazásmotor, a Magic Request Broker, a Magic File Manager, és a MagicGate adatbázisátjáró modulok egyesítése kezeli az implicit adatbáziskérések lefordítását az RDBMS felé történő explicit függvényhívássá.

Fontos megjegyezni, hogy az SQL-kifejezések automatikus generálása mellett még a programozó explicit módon írhat és beágyazhat SQL kifejezéseket bármely Magic programba. A gyártóspecifikus képességek egyszerűen kihasználhatóak, a termék szintaktikai követelményeinek megfelelő kifejezések írásával. A megfelelő MagicGate adatbázisátjáró elfogadja, és továbbadja ezeket a kifejezéseket az adatbázisszervernek.