A Magic tervezésénél észrevették, hogy mindegy milyen átfogó lehet a motor, a Magic elvrendszernek nyitottnak kell lennie a más programokkal és más eszközökkel fejlesztett alkalmazások irányába.
A Magic komolyan támogatja a szabványokat és a nyílt rendszereket. A nyílt rendszerek univerzális elfogadottsága és a Magic nyíltsága lehetővé tette a Magic számára az elfogadottságot és sikert. A Magic ilyen megközelítése szünteti meg azon törvényszerű aggodalmakat, amelyek az innovatív és nem hagyományos technológiákkal kapcsolatos döntéseket kísérik. A Magic választásával, a fejlesztő biztosnak érezheti magát, hogy minden más technológia, ami megfelel a nyílt rendszerek követelményeinek, hozzáférhető marad.
"A nyolcas verzióval, a Magic jelentõs új képességeket kapott, ugyanakkor megtartja egyedi termelékenységi jellemzõit. A Java és ActiveX támogatása Web-képessé teszi a Magic alkalmazásokat, és a nem Magic eszközök számára nyújtott támogatásával drámaian növeli a Magic alkalmazások külsõ erõforrásokkal történõ integrálásának képességét. Ezek a jellemzõk még vonzóbbá teszik a Magicet. Olyan eszközzé vált, amely sok IS-stílusú fejlesztési projekt esetében erõsen megfontolandó."
Patricia Seybold Group
A Magic nyíltsága nagyon sokféle módon érzékelhető.
A Magic szerveralapú alkalmazásai meghívhatóak különböző kliensekből, többek között Magicből, Visual Basicből, és Javaból. A Magic képessé teszi a szervezeteket, hogy a meglévő, első generációs kliens/szerver alkalmazásaikat méretezzék, hogy tartalmazzon szerver oldali funkcionalitást, amely csökkenti a méretezhetetlennek bizonyult alkalmazások újratervezésének igényét. Más szóval, a meglévő kliens alkalmazások nőhetnek a Magic szerverének használatával, így megőrizve korábbi befektetéseket. Ez megszünteti az újrafejlesztés, bevezetés, végfelhasználók oktatásának költségét és idejét, ugyanakkor olyan eszközöket kínál, amellyel a szervezetek integrálhatják változatos kliens alkalmazásaikat és adatbázisaikat egy összefüggő architektúrába.
Manapság, az újrafelhasználható komponensek világában egy szoftvereszköz számára fontos hogy nyitott legyen a külső komponenseknek a fejlesztői felületbe történő integrálása felé. A Magic használható komponensvázként is, lehetővé téve az ipari szabványú komponensek integrálását az Internet alapú alkalmazásokba.
A Java kisalkalmazások, Java Bean, vagy ActiveX vezérlők könnyen kiválaszthatók a vezérlőpalettáról és berakhatók a HTML alapú űrlapokba (lásd a 19. ábrát).
Ez az architektúra lehetővé teszi a kliens funkcionalitás és felület Interneten keresztüli biztonságos elosztását, ugyanakkor az alkalmazáslogika biztonságos és elzárt marad. Ez a funkcionalitás nyitottá teszi a Magicet arra, hogy lehetővé tegye a fejlesztők számára növekvő számú ActiveX komponens használatát.
19. ábra: Komponens integrálása
A Magic támogatja az OLE 2.0 kapcsolást és beágyazást is. Az OLE 2.0 kapcsolás mechanizmust biztosít a Magic és az operációs rendszerből származó valamely objektum összekapcsolására. Az objektum adatbázisban történő eltárolása helyett hivatkozik rá. Az OLE 2.0 beágyazás szintén egy kapcsolatot formál a Magic és egy külső objektum között, de az objektum teljesen a kapcsolódó adatbázisban van tárolva!
A teljesen nyitott környezet felé vezetõ úton a Magic Software Enterprises megtette a szükséges lépéseket annak érdekében, hogy a Magic alkalmazások teljes mértékben képesek legyenek együttműködni, és integrálhatóak legyenek más termékekkel. A Magic Repository API segítségével egy funkciókészlet kapunk, ami lehetõvé teszi külsõ fejlesztõk számára a Magic alkalmazásgyűjtõjének közvetlen elérését.
A Repository API olvasási és írási hozzáférést biztosít minden Magic gyűjtõ komponenshez, a frissítés, a létrehozás és a törlés műveletek támogatásával. A Magic biztonságos fejlesztõi környezetével összhangban, amikor egy API-művelet kérése következik, a felhasználó adott műveletre vonatkozó joga ellenõrzésre kerül, hogy biztosítsa a hozzáférési jogok megsértésének kizárását. Az API szintén tartalmaz függvényeket, amelyekkel elérhetõk és visszakérhetõk az alkalmazás konfigurációjával és beállításaival kapcsolatos adatok, és a különbözõ Magic szótárakban és menükben lévõ adatok.
A Magic elkötelezte magát a szoftverfejlesztési életciklus folyamat teljes támogatásának lehetõvé tételéhez szükséges eszközök biztosítására. Ez a következõ példákban nyilvánul meg:
A Magic felületet szolgáltat a Popkin System Architectjéhez, egy a kezdeti adatbázistervezést segítő vezető adatbázismodellező eszközhöz. A Magic Repository API az a híd, amellyel a System Architect közvetlenül kapcsolódik a Magic fejlesztői környezetéhez. A szövetség arra a technológiára alapoz, ami lehetővé teszi a felhasználók kétirányú munkáját a Magic és a System Architect között, lehetővé téve a fejlesztők számára a mindkét technológiára alapozott tervelést, modellezést, fejlesztést, futtatást és alkalmazásfelügyeletet. Egy új felület lehetővé teszi a Magic fejlesztők számára a Magic táblák feltöltését és a Popkin System Architect (SA) modelljeiből és diagramjaiból történő programgenerálást, épp úgy, mint az SA sémák generálását a Magic alkalmazások alapján.
Ahogy ebben a fejezetben már korábban leírtuk, a Magic beépített Request Brokert biztosít az azonnali munka lehetővé tételére. Ráadásul, a Magic kapcsolódásokat biztosít az olyan legújabb technológiájú köztes termékhez, mint a BEA Tuxedoja, az IBM CICS-e, és az IBM MQ/Series üzenetkezelő mechanizmusa, hogy biztosítsa a feladatkritikus alkalmazásokhoz szükséges méretezhetőségbeli és teljesítménybeli képességeket.
Tuxedo TP Monitor
A Magic Tuxedo TP Monitorhoz kapcsolódó felülete hozzáférhető azoknak a fejlesztőknek, akiknek több ezer tranzakció feldolgozására van szükségük. Ez a felület lehetővé teszi a Tuxedo fejlett képességeinek kihasználását. A Magic lehetővé teszi létező Tuxedo szolgáltatások meghívását, és Tuxedo szoláltatások Magicben történő megírásának egyedi módját, többek között a terheléselosztást és integrált, elosztott tranzakciót 2 fázisú végrehajtással (XA). Fontos megjegyezni, hogy ez a Magic ismerős elvrendszerében történik, és nem szükséges a fordítási és linkelési szakasz.
Ahogy az a fejlesztési folyamat utolsó fázisánál szükséges, a Magic felületet biztosít a Mercury Interactive WinRunneréhez, az automatizált tesztelés egyik vezető eszközéhez, hogy a legmegbízhatóbb alkalmazást biztosítsa. A WinRunner a Mercury regressziós teszthez való eszköze, ami lehetővé teszi a Magic fejlesztők számára a tesztek fölvételét és visszajátszását ellenőrzési pontok használatával a logika és a végfelhasználói reakciók ellenőrzésére. A Magic és a WinRunner integrációja lehetővé teszi a fejlesztők számára az egérmozgás és a billentyűzethasználat felvételét, vezérlők és ablaktulajdonságok elmentését és későbbi visszajátszását. Ez az integráció lehetővé teszi a fejlesztők számára az összefüggés-érzékeny munkafolyamatok felvételét, kihasználva azt az előnyt, hogy a WinRunner képes azonosítani a Magic vezérlőket összes tulajdonságuk alapján, mint például a nevek, és az ablakkezelők.
"A Magicet használó fejlesztõcsapatoknak most már birtokukban lesz az automatizált szoftverfejlesztés elõnye ez a kiegészítés jó hír az információsrendszer menedzsereknek és a VAR-oknak, akik a legújabb RAD technológiákkal épített alkalmazások tesztelésének automatizálásához fejlett eszközöket követelnek."
Mercury Interactive
"A Popkin ezt a kapcsolatot úgy tekinti, mint egy hatalmas elõrelépést a felhasználóinknak kínált nyíltabb, vállalati szintű gyors fejlesztési megoldások irányába A Magic osztja a Popkin nézetét a nagyon termelékeny, kliens és szerver megoldások területén."
Popkin
Egy fejlesztõi környezet, ami támogatja a nagyarányú vállalati szintű fejlesztést, általában maga után vonja azt, hogy sok fejlesztõ dolgozzon az adott alkalmazás különbözõ moduljain. Törvényszerű, hogy a környezet támogatja a csapatos fejlesztést és a verziókövetést. A Magic gyűjtõ alapú verziókövetése támogatja a hatékony konkurens fejlesztést. Biztosítja, hogy a fejlesztõk ne avatkozzanak be, vagy ne változtassák meg más fejlesztõk munkáját, akik ugyanazon az alkalmazáson dolgoznak. Szintén biztosít egy mechanizmust, amellyel a fejlesztõk követhetik és megmutathatják a Magic-rendszert alkotó elemek változásait.
A Magic integrált verziókövetésének egyedi megvalósítása egy másik példája a Magic termelékeny, nagyarányú fejlesztés iránti elkötelezettségének. A Magic verziókövetési rendszere (Magic Version Control System - MVCS) a Magic alkalmazásgyűjtõjének elemeinek a vezérlését szolgáló rendszer. Az MVCS egy nagyszerű megoldás azokra a verziókövetési követelményekre, amelyekkel a Magic szoftverfejlesztõk és vezetõk szembesülnek. Rengeteg integrált funkciót tartalmaz, amit arra terveztek, hogy lehetõvé tegye a fejlesztõk maximális sebességű munkáját az unalmas verziókövetési problémák nélkül, amelyek túl gyakoriak a mai, komplex fejlesztési projektekben. Az MVCS nagyszerűen megfelel a nagy rendszerek integrálóinak és azon szoftverházaknak, ahol sok fejlesztõ dolgozik konkurens módon.
Az MVCS elmenti a verziótörténetet, ami felhasználható egy Magic fejlesztési projekt különbözõ változataiban történõ változások gyors követeléséhez. Lehetõvé teszi minden felmerülõ szoftverfejlesztési és karbantartási tevékenység követését, biztosítja a párhuzamos fejlesztést és az alkalmazásfunkcionalitás összeolvasztását. Az MVCS megszünteti a több fejlesztõ által létrehozott szoftverváltoztatások konfliktusait, és egy ellenõrzött módszert hoz létre az alkalmazásgyűjtõ elemeibe történõ be- és kilépéshez. Tulajdonságai és intuitív grafikus felülete termelékeny munkacsoportos megközelítést biztosít az elosztott fejlesztéshez.
Az MVCS teljesen integrálva van a termékbe, hogy lehetõvé tegye az azonnali csoportos fejlesztést. A Magic egyedi, vizuális fejlesztési módszertana használatos itt, a Magic fejlesztõnek biztosítandó lehetõ legnagyobb kényelem érdekében. Az MVCS úgy van megtervezve, hogy nyitott más konfigurációkezelõ eszközök használatára, ha szükséges. Programozás szempontjából minden adat könnyen elérhetõ, mivel a Magic gyűjtõben van eltárolva.