Programovanie

Čo znamená žaloba spoločnosti Sun na Microsoft pre vývojárov Java?

7. októbra 1997 - Spoločnosť Sun reagovala na vydanie aplikácie Internet Explorer (IE) 4.0 spoločnosťou Microsoft a na jej vydanie verzie 2.0 pre SDK (Java) žalobou na okresnom súde v USA. Podľa tlačovej správy spoločnosti Sun „sťažnosť obviňuje spoločnosť Microsoft z porušenia ochrannej známky, falošnej reklamy, porušenia zmluvy, nekalej súťaže, zásahu do potenciálnych ekonomických výhod a podnecovania porušenia zmluvy.“ Spoločnosť Microsoft sa minulý týždeň konkrétne rozhodla doručiť produkty, o ktorých tvrdí, že sú plne kompatibilné s jazykom Java 1.1, avšak nepodarilo sa im úspešne absolvovať testy kompatibility Java 1.1, ktoré spoločnosť dostala od spoločnosti Sun vo februári. „Spoločnosť Microsoft sa pustila do zámerného postupu fragmentácie Javy,“ uviedol Alan Baratz, prezident spoločnosti JavaSoft, počas telekonferencie Sun dnes o 10:30 PST.

Čo to z pohľadu vývojára znamená? Po prvé, ak niečo vytvoríte s produktom Sun 1.1 JDK (alebo s prostredím certifikovaným pre Java 1.1 od inej spoločnosti, ako sú IBM, Borland a Symantec), nemusí to fungovať pod IE 4.0. Ak tiež niečo vytvoríte vo vývojovom prostredí spoločnosti Microsoft, nemusí to fungovať v prostredí, ktoré nie je od spoločnosti Microsoft Java 1.1. Spoločnosť Microsoft konkrétne nepodporuje Java Native Interfaces (JNI) alebo Remote Method Invocation (RMI) a zmenila knižnice triedy Core Java s približne 50 metódami a 50 poliami, ktoré nie sú súčasťou verejných rozhraní Java Application Programming Interfaces ( API) vydané spoločnosťou Sun.

JNI a RMI: Prečo je odmietnutie spoločnosti Microsoft týmto problémom

JNI je rozhranie natívneho kódu používané na prístup k možnostiam špecifickým pre platformu, ako je sériový port alebo mikrofón - pre veci, ktoré zatiaľ nie sú k dispozícii prostredníctvom základného API. Cieľom JNI je umožniť vývojárom poskytovať a jediná sada natívnych knižníc pre každú implementáciu Java na konkrétnej platforme.

Microsoft sa rozhodol podporovať svoje vlastné rozhranie s názvom RNI, ktoré poskytuje rovnaké možnosti ako JNI. Spoločnosť Microsoft tým, že nepodporuje JNI, núti vývojárov, aby poskytovali rôzne knižnice pre používateľov Microsoftu a iných virtuálnych počítačov Java (JVM). S podporou spoločnosti RNI spoločnosťou Microsoft sa nestalo nič zlé, ak si spoločnosť myslí, že jej technológia je lepšia. Avšak tým, že nepodporuje JNI, Microsoft nemôže nárok IE 4.0 je plne kompatibilný s Java 1.1.

RMI poskytuje prostriedky na vykonávanie kódu Java na zahraničných virtuálnych strojoch Java. Často sa porovnáva s hovormi na diaľku (RPC), s architektúrou CORBA (Common Object Request Broker Architecture) a s modelom DCOM (Distributed Component Object Model), v závislosti od pozadia hovoriaceho. Spoločnosť Microsoft tvrdí, že namiesto RMI podporuje DCOM, pretože RMI nepodporuje komunikáciu medzi Java a Java. Špecifickým účelom použitia RMI je komunikácia systému Java-Java. Napríklad pomocou RMI môžete vyvolať metódy objektov existujúcich v iných virtuálnych strojoch Java bez toho, aby ste poznali typ triedy, a to pri zachovaní runtime bezpečnosti Javy.

Ak sa potrebujete presunúť mimo komunikáciu Java-Java, CORBA je vlastne prenosné riešenie, nie DCOM. Prečo? DCOM je zameraný na svet Microsoftu, len nedávno sa pre svet Unix stáva dostupným s produktmi ako EntireX od Software AG. Ak potrebujete použiť RMI, program Internet Explorer zjavne nie je k dispozícii. Ak potrebujete komunikáciu medzi systémami Java a nie Java, na prepojenie so staršími systémami (inými ako Java), ktoré sa spoliehajú na CORBA, sa Netscape Communicator 4.0 dodáva s VisiBroker ORB spoločnosti Visigenic. (Pre podporu RMI s Netscape Communicator musíte použiť beta verziu opravy pre prehliadač, pretože Communicator sa netvrdí, že je prehliadač Java 1.1.)

Rotten to Core Java API: Jadro problému

Posledný identifikovaný problém s nekompatibilitou Java 1.1 je v skutočnosti najdesivejší. Je ľahké vyhnúť sa RMI a JNI, ak to vaša aplikácia umožňuje: Iba ich nepoužívate. Problémom je, že Microsoft rozhodol, že knižnice triedy Core Java nie sú dostatočné pre jeho potreby. Teraz nie je nič zlé na rozšírení vecí podtriedou a umiestnením nových objektov do balíka mimo hierarchie triedy java. *. Ale rozhodnutie pridať asi 50 metód a 50 polí do tried v balíkoch java.awt, java.lang a java.io, ako to urobil Microsoft, je veľmi problematické. „Microsoft klamlivo zmenil kľúčové triedy a vložil ich do svojej SDK,“ uviedol Baratz, čo má za následok, že si vývojári myslia, že píšu Java, zatiaľ čo v skutočnosti píšu niečo, čo funguje iba v prehliadači Internet Explorer.

Ako ovplyvňujú prírastky Microsoftu do tried vývojárov Java? Ak sa na tieto zmeny spoľahnete alebo ich použijete neúmyselne, bude váš program fungovať iba v systéme Java spoločnosti Microsoft. Ak tiež vytvoríte program mimo vývojového prostredia spoločnosti Microsoft, bude očakávať určité základné rozhranie API. Bohužiaľ sa toto Core API líši od API v prostredí Microsoftu, takže program tam nemusí fungovať. Test kompatibility, ktorý označil tento problém, sa nazýva a test podpisu.

Ako príklad, ak metóda foo () má akceptovať parameter typu bar, je lepšie získať objekt typu bar. Ak niekto chce, aby ste odovzdali objekt typu baz namiesto toho bude fungovať iba na tých systémoch, ktoré zmenili jadro, aby ho prijali. Spoločnosť Microsoft predstavila túto zmenu. Teraz si spoločnosť Microsoft môže myslieť, že to predstavuje referenčnú implementáciu Java pre Windows. Faktom však je, že iba spoločnosť Sun môže zaviesť zmeny do Core Java API. Áno, môže každý držiteľ licencie opýtať sa kvôli zmenám a mnohé z nich často robia. Spoločnosť Microsoft sa však bez pomoci a bez povolenia rozhodla tieto veci zmeniť.

Nakoniec bude cieľom procesu, podľa Baratza, „čo najrýchlejšie dostať spoločnosť Microsoft späť do súladu“. Kým však nebudú zákonnosti vyriešené, spoločnosť Sun pozastaví spoločnosti Microsoft všetky prebiehajúce vylepšenia technológie Java, ako napríklad nový virtuálny stroj Java 2.0 s názvom HotSpot. Ak sa spoločnosť Microsoft nevráti k súlade s Javou, bude musieť prísť s implementáciou čistej verzie svojej verzie niečoho, čo sa nebude volať Java - to znamená, ak chce urobiť niečo s ekvivalentom. bajtových kódov Java. Kto vie, čo sa stane s IE 4.0, SDK pre Java 2.0 a ďalším Visual J ++?

Slová múdrosti: Nechajte vývojára Java dávať pozor

Ako vývojár budete musieť šliapať veľmi opatrne. Ak sa rozhodnete použiť vývojové prostredie spoločnosti Microsoft a potrebujete vytvoriť riešenia pre rôzne platformy, dobre ovládajte Core Java API. Budete sa musieť vyhnúť všetkému, čo nie je súčasťou verejných špecifikácií. Kým nebude zverejnený úplný zoznam nekompatibilných prvkov, bude na jednotlivých vývojároch, aby vedeli, čo je a nie je kompatibilné. Samozrejme, ak vás nezaujíma možnosť „jednorazový zápis, spustenie kdekoľvek“, môžete využiť možnosti špecifické pre platformu Microsoft. Je však možné, že licencia Java spoločnosti Microsoft bude odobratá. Spoločnosť Sun sa už pokúša zrušiť schopnosť spoločnosti Microsoft zobraziť logo kompatibilné s jazykom Java.

John Zukowski je softvérový mág v Inštitúte MageLang, autor publikácie Java AWT Reference od spoločnosti O'Reilly & Associates a spoločnosti Borland JBuilder: Sybex nevyžaduje žiadne skúsenosti, rovnako ako sprievodca zameraním na Javu v banskej spoločnosti.

Získajte viac informácií o tejto téme

  • Tlačová správa spoločnosti Sun Microsystems

    //java.sun.com/announcement/index.html

  • Najčastejšie otázky spoločnosti Microsoft týkajúce sa toho, prečo nepodporuje RMI / JNI atď

    //www.microsoft.com/java/issues/techsupfaq.htm

  • Aktuálna podpora Java pre Netscape v aplikácii Communicator 4.0

    //developer.netscape.com/library/documentation/communicator/javajdk.html

  • Pozrite si príbeh Elizabeth Heichlerovej zo spoločnosti News Service a Boba McMillana zo spoločnosti SunWorld

    //www.javaworld.com/jw-10-1997/jw-10-sunsuit.html

  • Naša Jenni Aloi napísala príbeh o hneve Java Lobby na Microsoft

    //www.javaworld.com/jw-10-1997/jw-10-javalobby.html

  • Príbeh CNet o žalobe Sun proti spoločnosti Microsoft

    //www.news.com/News/Item/0,4,14986,00.html

  • San Jose Mercury News o súdnom spore

    //www.sjmercury.com/business/sunsuit100797.htm

  • Malo by byť spoločnosti Microsoft umožnené meniť knižnice kľúčových tried v prostredí Java? Zúčastnite sa našej najnovšej ankety

    //nigeria.wpi.com/cgi-bin/gwpoll/gwpoll/ballot.html

  • Prehľad platformovo neutrálnych vývojových nástrojov Java v NC World, JavaWorldsesterská publikácia

    //www.ncworldmag.com/ncw-10-1997/ncw-10-jvtools.html

  • Komentár Nicka Petreleyho k súdnemu sporu Sun / MS, tiež v NC World

    //www.ncworldmag.com/ncw-10-1997/ncw-10-straypackets.html

Tento príbeh: „Čo znamená žaloba spoločnosti Sun na spoločnosť Microsoft pre vývojárov Java?“ pôvodne vyšla vo vydavateľstve JavaWorld.

$config[zx-auto] not found$config[zx-overlay] not found