Op maandag 24 juni 2002 18:31 schreef mbravenboer het volgende:
[..]
Als je het nieuwste van het nieuwste wilt hebben, ben je afhankelijk van Sun. Het komt dan neer op Microsoft Windows, Solaris en Linux. Apple loopt iets achter met Mac OS X maar is behoorlijk goed bezig. IBM loopt ook altijd achter op Sun en de versies die ondersteunt worden varieren nogal al.
... en Sun's versies draaien het beste op Sun's Solaris middels bv native threads in de JVM.
Het mooi is echter: stel je wilt Xerces of Xalan gebruiken. Op elke Java Platform waar Java enigszins bij de tijd is (1.2 of hoger) draaien Xerces en Xalan. Dat is het voordeel van Java: een complexe XML Schema validator werkt in 1 klap op alle platformen. Een XSLT processor werkt ook in 1 klap op alle platformen.
Je denkt verkeerd om. Je moet niet denken 'ik wil Xerces gebruiken', je moet denken 'ik wil XSLT en XML gebruiken'. En dat die tools die jij noemt daar dan voor in aanmerking komen is leuk voor ze, maar wellicht zijn andere tools beter: als ik in VB een COM object bouw dat XML moet verwerken, heb ik dan IETS aan java-tools? Nee. Ik heb WEL iets aan een COM object dat dat voor mij doet. Ziedaar MSXML.
De objects in java zijn alleen leuk in java, ik heb er buiten java niet zoveel aan, ik heb dan altijd java nodig. Daarom zeg ik: functionaliteit is belangrijker.
Platformonafhankelijkheid is alleen nuttig, indien:
1) je om beheertechnische redenen kiest voor 1 platform
2) je een standalone tool wilt maken die moet draaien op zoveel mogelijk platforms en dat niet afkan met functionaliteit die je deelt.
Maar, dingen die java nodig hebben zijn dus niet nuttig buiten java, dus je argument snijdt niet echt hout en is alleen nuttig wanneer je in de TAAL java op veel platforms wilt programmeren, je kunt dan altijd dezelfde tools / 3rd party libraries gebruiken.
[..]
En als iemand nu een toolset gebaseerd op Unix of Linux heeft en eigenlijk ook gebruik wil maken van leuke XML stuff uit .NET of Java? Ga je dan je toolset maar weggooien? Nee: je wilt immers geen consessies doen. Maar ja: je wilt juist ook tools gebruiken die op andere platformen draaien. Is er een reden waarom een XSLT engine of XML Schema validator alleen op Microsoft Windows zou moeten werken? IMHO niet. Xerces of Xalan draaien op elke Java Platform. Waarom is de MSXML code niet beschikbaar voor alle platformen waarop de basisverzameling van .NET libraries draait?
Omdat het COM objects zijn. COM is alleen beschikbaar op een select aantal platforms. En in een COM oriented world heb je geen moer aan java-tools/libs/objects maar wel aan COM objects, OF je moet java gebruiken, maar misschien wil je dat wel niet. (ik iig niet)
[..]
Waarom functionaliteit dirstribueren en spreken in termen van services als daar helemaal geen concrete reden voor is?

Steeds meer applicaties worden ipv 2 lagen, meerdere lagen en die lagen worden op verschillende machines gehost. De reden daarvoor is veelal dat de verschillende lagen beter gemanaged kunnen worden op aparte machines en hergebruik makkelijker wordt.
Veel materiaal zoals bijvoorbeeld mijn running-example: XML Schema validators en XSLT engines hebben geen enkele band met een specifiek platform en kunnen dus gewoon platform onafahnkelijk geimplementeerd worden. Daar komt platform onafhankelijkheid tot z'n recht en dat zie je bijvoorbeeld terug in de vele fantastische XML gerelateerde producten die beschikbaar zijn voor het Java Platform.
huh? Sinds wanneer is een aan het java platform geklonken library platform onafhankelijk? Kan ik die zonder java in VB gebruiken? Nee. IEDERE implementatie van een zekere set functionaliteit legt grenzen op aan de toepassing van die implementatie. Of dat nu is de interface in de library zelf, de keuze welk binary object model of de keuze welk framework, er zijn altijd keuzes. Ook jouw voorbeeld is alleen binnen java 'platformonafhankelijk', maar dan wel zolang je java gebruikt.
[..]
Nee, in het geval van een Oracle server interesseert inderdasd niemand dat iets en je zou ook wel een rund zijn als je dat allemaal percee op je eigen platform wilt draaien (alhoewel het voor ontwikkeling misschien makkelijk kan zijn). Voor karrevrachten andere producten is het echter wel mooi als je het gewoon op je eigen platform kan gebruiken. Extreme voorbeelden als een database server vormen wat mij betreft niet echt een bewijs van de onzin van platform onafhankelijkheid.
juist in client-server applicaties is platformonafhankelijkheid altijd gepredikt en toont de huidige stand van de techniek aan dat het niet nodig is. Voor standalone tools (dus 1 executable met een paar schermpjes of commandline interface) is dat minder belangrijk, maar ook daar zul je zien dat functionaliteit nu makkelijker wordt gedeeld, want DAT is belangrijk: niet 20 tools met dezelfde lap code er in maar 1 keer een service met die code en 20 clients op die service.
[..]
Ja, waarom? Omdat MSXML onnodig platform specifiek is geimplementeerd en alleen op de voor dat platform gebruikte methoden benaderd kan worden. Is dat een bewijs dat de platform onafhankelijkheid irrelevant en onhandig is?
Nee, maar het toont aan dat 'platformonafhankelijk' bezig zijn met java op een ander platform waar java wel draait maar men BUITEN java ook nog dingen doet, niet belangrijk is. In de windowswereld gebruik je COM objects. Geen java object/class/jarfile, tenzij ik mn programmatuur in Java ga bouwen. Maar, op windows iets in java bouwen is onnodig, er zijn equivalenten die je op windows betere performance en functionaliteit bieden.
Daarom is jouw voorbeeld niet nuttig: je zit aan java vast. Dus geen platformonafhankelijkheid, tenzij je java gebruikt.
Xerces en Xalan vind ik het bewijs dat platform onafhankelijhkheid wel interessant is.
Alleen wanneer je java gebruikt. Ik gebruik geen java, maar C++, C# en VB6. Het is dan veel belangrijker dat MSXML er is en goed via com een hoge performance haalt dan dat ik met java een lib kan gebruiken die hetzelfde doet. Je platformonafhankelijkheid houdt dan dus op.
[..]
Exact: waarom je zou in vredesnaam je OS (ja: je OS) moeten bepalen welke XML library jij kunt gebruiken? Dat is echt een absoluut onzinnige beperking.
Dat doe jij ook: door java te kiezen zit je aan java vast voor al je code. Of kun je tegenwoordig in java alweer com objects bouwen?
Als ik op windows voor een java oplossing zou kiezen, ga ik dus voorbij aan MSXML met een betere performance op windows. Waarom zou ik dat doen, als mn programmatuur toch op windows draait en via een webservice communiceert met andere services?