Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 11 reacties
Bron: Sun

Sun zal op korte termijn diensten gaan aanbieden aan bedrijven om hen te adviseren hoe zij het beste gebruik kunnen maken van Java en Java-serversoftware. Dit plan heeft de naam Service Oriented Architecture (SOA) Path meegekregen, zo heeft Joe Keller, Suns vice-president van marketing, laten weten. De adviesdiensten zullen bestaan uit het uitvoeren van een assessment, het leveren van bouwschema's voor Java-software zodat optimaal gebruikgemaakt kan worden van mogelijkheden van het Sun Java Enterprise System-platform, en het uitvoeren van testen om te beslissen welke applicaties geselecteerd worden om gebruikt te worden als shared service binnen een organisatie.

Volgens Keller zullen de diensten van SOA Path relatief licht van gewicht zijn. Het is de bedoeling dat de adviseurs puur pragmatisch naar problemen kijken en alleen voor die ene situatie met een oplossing komen. Het invoeren van een groter Java-systeem, dat meer effecten heeft op de organisatie, kan begeleid worden door andere consultants van Sun. Suns concurrenten IBM en BEA Systems bieden al vergelijkbare adviesdiensten aan rond hun eigen Java-software. Gezien het feit dat analisten verwachten dat de komende jaren meer organisaties zullen overstappen op het gebruik van SOA-software, is het niet vreemd dat ook Sun een graantje wil meepikken van deze groeimarkt.

Moderatie-faq Wijzig weergave

Reacties (11)

Ik heb persoonlijk goede ervaringen met java software totdat je meerdere applicaties wil gebruiken die ook verschillende jre's vereisen. B.v. ciscoworks gebruikt Jre 1.3.1x en werkt niet icm met andere nieuwe java programmatuur dat b.v. jre 1.4.x en hoger gebruikt.
We hebben het opgelost door installatie van VMware met in iedere omgeving een bepaalde versie van de Jre.

M.a.w. downward compatibility is een ramp met java.
Een aparte pc emuleren voor elke applicatie mbv VMWare lijkt me een beetje overkill. Het is prima mogelijk om meerdere JRE versies naast elkaar te installeren.
Bij een normale applicatie moet het programma er dan natuurlijk wel voor zorgen dat de juiste vm gebruikt wordt, maar dit is simpel te realizeren. En voor java webstart applicaties is zelfs een kwestie van een regeltje in de jnlp file wijzigen om de minimum en/of maximum vm versie te specificeren.
Maar even terugkomend op de backwards compatibility van de VM, ik heb hier zelf eigenlijk nooit problemen mee gehad. Als je je als programmeur aan de API houd blijft je applicatie wel werken, voor zover ik weet zijn zelfs alle depricated methods uit versie 1.1 nog aanwezig.
In je reactie noem je juist het probleem met Java. Het woordje 'ALS'.
Helaas zijn de meeste toepassingen die Java nodig hebben geschreven met de Remi gedachte. 'Ik alleen op de wereld'
Daarom gaat het juist zo vaak fout.
Vanuit de Java architectuur gezien is het een prachtig product.
Vanuit de ontwikkelaar gezien is het een mooi product.
Vanuit de beheerder gezien is het een dramatisch product vanwege de verschillende versies.
Java is een leuk taaltje maar ik denk dat doordat opensource steeds meer in de schijnwerpers komt. c++ java weer weg stoot. zeer veel c++ programmas kunne in een paar jaar optimaal draaien voor iedereen. of hij nu windows linux of iets anders gebruikt.

java zal dat nooit zijn.
Volgens mij weet jij niet zoveel van software maken. Voor Java is een enorm aantal libraries beschikbaar, wat ontwikkelaars in staat stelt om snel applicaties te maken. J2EE is erg belangrijk op server-gebied en behalve Microsoft doet vrijwel elke grote softwareleverancier aan Java.

Met zo'n uitgangspositie zal het voor een andere taal/platform moeilijk zijn om snel veel marktaandeel weg te nemen.

Verder is het performance argument niet echt heel erg sterk: veel applicaties staan 95% van hun tijd te wachten. Ook is een JIT compiler in sommige gevallen beter in staat om te optimaliseren dan een gewone compiler: de JIT compiler 'ziet' welke code inderdaad vaak wordt uitgevoerd en heeft bovendien meer kennis van het onderliggende platform. Je kunt C++ natuurlijk compileren voor een bepaalde processor, maar een Java programma doet dat dankzij de JVM automatisch.

Verder heeft garbage collection natuurlijk ook zo z'n voordelen (en nadelen natuurlijk, maar die zin over het algemeen niet zo groot).
Het klopt dat de meeste applicaties 95% van de tijd staan te wachten, maar kom niet met het verhaal dat JIT de performance kan benaderen van binaries.
Voorbeeltje:
object my_objects[];

Car a = (Car)my_objects[1];
Deze operatie gaan met c++ in 1 CPU tik.
Echter, in Java (en .NET) wordt intern uitgevoerd in pseudo code:
1) controleer of my_objects een geldige pointer is
2) controleer of lengte my_objects>=2
3) haal type van my_objects[1] op
4) zit class Car in overervingsboom van echte class van het object?
5) stop variabele in a

De garbage collector is enorme nadelen. Iedereen die grote java applicaties bouwt/gebruiker, weet dat er sprake is van pauzes tijdens collection. Deze kan oplopen tot enkele seconde bevriezen van het systeem.
Ook is het geheugengebruik van Java niet goed: De JVM wacht tot dat de heap vol is en gaat daarna pas rommel opruimen. Java apps die langer draaien gebruiken dus altijd de Max Heap Size.

Voor business applications is Java oke, maar ik moet er niet aan denken dat java voor alle proggies gebruikt wordt!
Tja, ieder z'n meug. Ik beweer ook niet dat grabage collection de oplossing is voor alles, maar over het algemeen is een kleine pauze voor garbage collection beter dan een crash vanwege een memory leak.

Bovendien zijn er in modernere JVMs ook mogelijkheden om concurrent garabage collection te doen, dus zonder een 'stop the world' pauze.

Ik zou ook zeker geen OS in Java schrijven, maar voor server-side applicaties is het op dit moment IMHO duidelijk de beste keuze.

En voor wat betreft performance: dit is een interessant linkje
Ik denk dat ze bij het bedenken van de naam "SOA" niet echt naar de Nederlandse markt keken... Om nou in een presentatie aan management te vertellen dat onze servers voortaan een SOA hebben...

(edit) hoewel... gezien mijn ervaring met Java en servlets zie ik wel wat in die naam.
Uit het SAP bericht van woensdag:
SAP heeft een flink aantal bedrijven weten te strikken die hebben toegezegd ondersteuning te gaan bieden aan het nieuwe Service Oriented Architecture (SOA) platform van het bedrijf.

Dus SAP en SUN hebben beide hun eigen SOA dienstverlening...
waarom specificeer je niet bij het opstarten van je applicatie welke java installatie hij moet gebruiken dan?

het is geen probleem om tig jre versies te installeren, en iedere applicatie een ander te laten gebruiken. je kunt of het opstartcommando van de applicatie veranderen in "c:\java\jre_versie\bin\java -jar applicatie.jar" of je start je applicatie vanuit een batch file en zet daarin je JAVA_HOME variabele op de directory van de te gebruiken jre.
voor het geval je er over gelezen zou hebben, het gaat om server-side applicaties.
Bea Weblogic op een Solaris machine ofzo, daar gaat het echt niet om het kiezen van een JRE alleen :)
(je hebt wel nog keus, BEA (JRockit), IBM en Sun hebben hun eigen VM implementatie.

En je kan inderdaad ook tig J2EE application servers installeren en een applicatie op een van de tig instances deployen, maareuhm, volgens mij bedoel je dat niet echt :)
Jouw opmerking is misschien meer iets voor de SWING client van die enterprise app ofzo.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True