În anumite domenii tehnice, există cerințe stricte pentru compatibilitatea diferitelor sisteme. De exemplu, în lume există trei sisteme de televiziune - PAL, SECAM și NTSC, precum și dispozitive speciale pentru potrivirea lor au fost dezvoltate - decodoare. Dar cele mai stringente cerințe de compatibilitate există în câmpul computerului. Această calitate a computerelor ajută la transferarea cerințelor de compatibilitate la programele economice.
Conceptul de compatibilitate software a fost aplicat pe scară largă dezvoltatorilor sistemului IBM / 360. Obiectivul principal în proiectarea întregii serii de modele ale acestui sistem a fost de a crea o astfel de arhitectură, care ar fi la fel din punct de vedere al sistemului de utilizator pentru toate modelele, indiferent de performanța prețului fiecăruia dintre ele. avantaje imense ale acestei abordări, astfel încât să se mențină restanțele software-ului existent în timpul tranziției la noul model (de obicei, mai productive) au fost evaluate rapid atât producătorii de calculatoare și utilizatorii, și, din acel moment, practic toate firmele, furnizorii de echipamente informatice au făcut Armarea acestor principii prin furnizarea unei serii de computere compatibile. Trebuie remarcat, totuși, că, în timp, chiar și cele mai avansate arhitectura devine în mod inevitabil, depășite și există nevoia unor schimbări radicale în arhitectură și modalități de organizare a sistemelor de calcul.
Incompatibilitatea este un flagel al industriei moderne de programare. Nu este ușor să integrați module scrise în diferite limbi de programare. Programele care rulează pe diferite mașini, pentru schimbul de date, trebuie să depășească dificultăți enorme. Aplicațiile pentru diferite sisteme de operare sunt scrise folosind API-uri incompatibile, ceea ce face ca transferul să fie dificil. Și, în măsura în care interesele dezvoltatorilor muta de programe izolate și aplicații client-server pentru aplicatii bazate pe web, există noi tipuri de incompatibilități incompatibilitate între modelele de software au trecut testul timpului, și modelele care au apărut în mod spontan pentru a răspunde noilor cerințe. În loc să compilam limbi, avem de-a face cu limbile de scripting. În loc de interfețe grafice de utilizator bogate - HTML. În loc de programare orientată pe obiecte, aplicațiile la nivel de întreprindere, care sunt un amestec de cod procedural, HTML, DHTML, XML, COM și alte tehnologii independente,
Compatibilitate - sprijină executarea aplicațiilor scrise pentru alte sisteme de operare, precum și interacțiunea dintre diferite sisteme de operare, care funcționează în mediul corporativ.
Cum sunt abordate problemele de compatibilitate software? Să luăm în considerare câteva abordări.
Primul # 9472; Utilizarea limbajului de programare Java dezvoltat de Sun. Unul dintre principalele avantaje ale limbajului Java- independent de platforma pe care programul: același cod poate fi rulat pe sistemele de operare Windows, Solaris, Linux, Machintosh, etc. Este într-adevăr necesar atunci când programele sunt încărcate prin intermediul internetului pentru executarea ulterioară în conformitate. gestionarea diferitelor sisteme de operare. Abilitatea extraordinară a Java de a-și executa codul pe oricare dintre platformele suportate este realizată prin faptul că programele sale sunt transformate într-o reprezentare intermediară, numită bytecode. Bytecode-ul, la rândul său, poate fi interpretat în orice sistem care are un mediu de rulare Java. Cele mai multe dintre sistemele timpurii în care au încercat să ofere independență față de platformă au avut un dezavantaj uriaș - pierderea performanței (Basic, Perl). În ciuda faptului că Java utilizează un interpret, bytecode-ul este tradus cu ușurință direct în codurile mașinilor "native" (compilații Just In Time) "în zbor". În același timp, se obține o productivitate foarte ridicată.
Al doilea # 9472; .Net tehnologie (dot nu este disponibil) de la Microsoft.
Microsoft are o viziune a viitorului, în care aceste și multe alte probleme sunt rezolvate. Varianta acestei viziuni este inițiativa Microsoft .NET. Microsoft .NET, sau pur și simplu .NET, este un nou mod de a dezvolta și implementa software care utilizează standarde, cum ar fi HTTP și XML face o realitate visul de programe ușor care interacționează, iar Internetul permite accesul la serviciile de software la o scară fără precedent. O parte importantă a inițiativei este .NET Framework, o platformă pentru dezvoltarea și executarea aplicațiilor .NET. Utilizarea sa nu este o condiție prealabilă pentru crearea aplicațiilor .NET, dar simplifică și accelerează în mare măsură dezvoltarea. Printre numeroasele sale avantaje # 9472; programarea orientată pe obiecte pentru Web; eliminarea mai multor tipuri de erori de program cele mai comune și mai periculoase, un API comun (interfață de programare a aplicațiilor) pentru toate limbile, adică diferite limbi de programare pot fi folosite pentru a scrie diferite părți ale aplicației.
Al treilea # 9472; utilizarea limbajului SQL.
Compatibilitatea cu sistemele SQL joacă un rol important atunci când se presupune că funcționează cu datele corporative. DBMS-urile, bine pregatite pentru a lucra ca instrumente primare de procesare a informatiei pentru sistemele SQL, pot deschide usile catre sisteme cu arhitectura client-server.
DBMS-urile au acces la date SQL în următoarele cazuri:
bazele de date sunt compatibile cu ODBC (Open Database Connectivity);
sprijinul natural pentru bazele de date SQL este implementat;
este posibil să se implementeze interogări SQL ale datelor locale.
Multe dintre sistemele DBMS se pot conecta "în mod transparent" la subsistemele SQL de intrare care utilizează ODBC sau driverele care fac parte din ele, astfel că există posibilitatea de a crea programe de aplicație pentru ele. Unele produse software sunt, de asemenea, compatibile cu SQL atunci când procesează cereri interactive de date pe server sau la locul de muncă.