Forgot your password?
typodupeerror
Java Oracle

Oracle's Ambitious Plan For Client-Side Java 292

Posted by timothy
from the larry-pulls-a-shot dept.
snydeq writes "Fatal Exception's Neil McAllister suggests that the real news out of this year's JavaOne is Oracle's ambitious plan to revitalize Java on the desktop, the Web, and mobile devices. 'It's been tempting to assume that Oracle, with its strong enterprise focus, would ignore the client in favor of data center technologies such as Java EE. This week, we learned that's not the case. In fact, the real news from this year's JavaOne conference in San Francisco may not be Oracle's plans for Java 8 and 9, but the revelation that Oracle is gearing up for a new, sustained push behind Java for the desktop, the Web, and mobile devices. If it can succeed in its ambitious plans, the age of client-side Java could be just beginning.'"
This discussion has been archived. No new comments can be posted.

Oracle's Ambitious Plan For Client-Side Java

Comments Filter:
  • No Thanks (Score:2, Insightful)

    I've spent quite a bit of effort over the last two months removing Java from all of my clients' computers. I've seen it used as an attack vector far too often and it was time for Java to go. I've even got some - but not all - of my clients to let me remove Flash and Acrobat Reader. In the long run it's safer for them, and cheaper for them too.
    • Re: (Score:2, Insightful)

      by Anonymous Coward

      I've spent quite a bit of effort over the last two months removing Java from all of my clients' computers. I've seen it used as an attack vector far too often and it was time for Java to go. I've even got some - but not all - of my clients to let me remove Flash and Acrobat Reader. In the long run it's safer for them, and cheaper for them too.

      Why is it that every Java story on Slashdot is infected by an IT Admin Monkey telling us that he's removing Java from his "users" machines. If these IT monkeys really wanted to remove the most targeted attack vector from their "users" machines they would replace "Windows" with something secure.

      • Re:No Thanks (Score:5, Insightful)

        by Cwix (1671282) on Saturday October 08, 2011 @01:22PM (#37648620)

        If these IT monkeys really wanted to remove the most targeted attack vector from their "users" machines they would replace "Windows" with something secure.

        Actually if they wanted to remove the most targeted attack vector they would remove the users from the machines.

      • Re: (Score:3, Funny)

        by Anonymous Coward
        Yeah, my sysadmin went a step further and unplugged the Internet from the wall. He said that it was being used as an attack vector far too often, and it was time for the this ridiculous "Internet" thingy to go. In the long run, it's been safer, and cheaper for me too!
      • Why is it that every Java story on Slashdot is infected by an IT Admin Monkey telling us that he's removing Java from his "users" machines. If these IT monkeys really wanted to remove the most targeted attack vector from their "users" machines they would replace "Windows" with something secure.

        This generally makes me think of admins who want an easy life, instead of trying to understand what the problem is and solving it properly. This is usually the most dangerous sort of admin - reminds me of the intern who got an application to compile, by removing all the logic from the code. Also, how many time do you have people saying Java is slow or something else negative, only to find the are actually talking about JavaScript in the web browser?

        If we uninstalled everything that was a possible vector of

      • If they really wanted to make their machines secure, they'd remove the users. Unfortunately, IT is never told to make the network secure, they are told to make it secure and usable. Uninstalling Windows typically means rewriting a large amount of Windows-only code, or at least doing exhaustive testing of it in WINE, and that's beyond the budget of most IT departments.
    • Oracle cannot be trusted. Oracle is clearly no friend to F/OSS.

  • There are some pretty cool developments going on in Java lately, e.g. LINQ, functions and reified generics. Why wait for the JCP when there are enough mad people out there who will implement all the tools that Java is perceived to lack? See for example: https://github.com/nicholas22/jpropel-light [github.com]
  • by Lord Lode (1290856) on Saturday October 08, 2011 @12:32PM (#37648372)

    Just make sure the Java plugin doesn't hang browsers anymore or make them sluggish!

    I hate it when visiting a academical website that has the well-meant intention to show some mathematical principle using a Java applet, but instead Firefox hangs while loading it... I'm not sure if it's the fault of Firefox or the Java plugin, but no matter what, it doesn't help Java.

    Flash can do it, why not Java?

    • by JAlexoi (1085785)
      Flash is almost always fully preloaded, while Java is almost never. I bet you have Java Quick Start turned off...
  • By suing anyone who actually does anyone with it? Sounds like a great strategy to me!
  • licenses (Score:5, Informative)

    by roman_mir (125474) on Saturday October 08, 2011 @12:36PM (#37648396) Homepage Journal

    I have a set of systems I am building that are used by a store chain. It's my line of products, one of the components is a store management system that is used in the stores. Every piece is server/client, but in this component the client is a Java swing application that also can be used as an applet (that's the good part about Java, with minimum work you can have it working as an applet if it works as an application.)

    So I know that most people on /. are derisive about such solutions, but I am moving the stores from Window platform to GNU/Linux (Ubuntu actually). Of-course it's possible to build everything in C and C++, etc., but when the entire solution is java with every component on every server / client, even though most clients here are thin, that run in a browser of choice, using Java as a client is really the most logical thing.

    Every component is compatible with each other, the communications between components are all built in exactly the same manner, be it a server-server or server-full client.

    The important thing is that moving from Windows to GNU/Linux is easier, because the look and feel stays almost the same.

    The one real problem for me is actually some driver for certain types of devices, like zebra thermal printers and such, but that's not a problem with Java itself, that was a problem with moving the clients from Windows to GNU/Linux (haven't figured this out yet, so one of the computers in stores is still Windows, because the configuration and font setup software supplied with the Zebra printers is for Windows.)

    I can accept the hate, that the Java solution may not be wonderful or uber-cool or whatever the current feelings are about what people hate today, but the point is that it's working. If I couldn't get it to work, I would have had no choice but to go with something else, but that would require extra work, to get it all communicating with the server sides, that are Java based.

    The speed of this application totally depends on the data model, database work, algorithms and communications, but the Java GUIs themselves are not presenting any major problems. If I want to, I can even style the main frame of the window with anything, any kind of graphic that doesn't look like a normal window, this works with JNI, but I don't really need that in this project.

    I have used this in a browser as an applet and I have used this to communicate over the Internet, not just within the stores themselves, which is an interesting feature.

    So can somebody tell me what they think I should be on a look out for here? Is Java going to blow the fuses or are the tables going to catch on fire?

    • Re:licenses (Score:5, Interesting)

      by Anonymous Coward on Saturday October 08, 2011 @12:56PM (#37648498)

      We thought (signed) Java applets would be a sound method to get cross-platform client software onto desktops. What we found is that the browser plugin from Sun/Oracle and even OpenJDK is buggy and unstable on most platforms. We get assertion failures out of the plugin loader that have been listed as bugs on Sun's tracker for almost a decade, as well as bizarre GUI related exceptions. Things seem to get worse the more you use the applet/browser interfaces, for example to access the cookie store or the page DOM.

      It crashes or hangs Firefox and Seamonkey on Linux x64 perhaps 10% of the time the applet loads. It crashes Safari on Mac OS X over 50% of the time. It seems most stable, but still not foolproof, on older Windows systems.

      • by roman_mir (125474)

        Well, in my case this particular client application is normally installed as full desktop app, running it an applet is possible and I sometimes do it, but that's not the main selling feature. In reality there is no reason to run this application in a browser. In a store there are normally 2 computers for administrators - one is on the Internet and internal network, and the other is on the internal network only. Both computers have the client installed and one of them has the server installed, both clients c

        • by leenks (906881)

          There is your problem, you are running as root ;-)

          But seriously, it looks related to these two bugs - http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6935229 [sun.com] and http://bugs.sun.com/view_bug.do?bug_id=6896647 [sun.com]. Try enabling the XX options suggested and see if it fixes them (and upgrade to JDK7 when you can; there are lots of things fixed in JDK7 that annoyingly haven't been backported to 6.0).

          • by roman_mir (125474)

            The JVM is installed as a root, the tomcat server runs as a tomcat user, but I do navigate system as root :)

            I am actually going to try these flags in one of these stores, see if that helps. Of-course there are all sorts [pastebin.com] of errors that creep up and kill the JVM this way. Here is a shitty one, that only affects 2 stores for some reason and this one crashes the client, not the server [pastebin.com].

            Lovely stuff like this, very useful.

            # Problematic frame:
            # C [libc.so.6+0x6e199] unsigned long+0xec9

            Life is basically hard :)

    • As long as it's performant, it doesn't matter.

      Performance has long been an issue with most Java apps, however.  But resouce usage on the client should not be too important since your application is the only thing the system will be used for.

      Security matters as well, but that's generally down to your software design skills, and not he language used.
      • by roman_mir (125474)

        Well, it's not the only app running. There are some office apps, email client, possible a browser opened at the same time. Things like that, who knows what's in the browser.

        It's about 2G RAM per machine and I dedicate 1G to the client (-Xms256m -Xmx1000m), it's not absolutely necessary, but they can load the entire base (about 35000 SKU) into the memory of the applet and they can open multiple catalog windows in it as well, multiple order windows, who knows what they do. 35000SKU would easily take 35000 2

  • Why are they sueing google over its implementation of the jvm instead of working with them if they really want java on mobile?

    Client side java, really? That's so last century oracle! Get with the program.

  • by GodWasAnAlien (206300) on Saturday October 08, 2011 @01:04PM (#37648536)

    Google was the best bet in bringing Java back to life.

    But Oracle is suing Google for making Java somewhat popular again ...

    I imagine even Google will give up on Java at some point with some new platform that exposes binder services to javascript, deprecates Java, and merges with Chrome OS.

    • Actually Google was just bastardizing Java as much as Microsoft did with J++. Oracle has every right to sue Google and Google isn't as innocent as you seem to believe.

      Sun made a promise to keep Java standardized as much as possible. Oracle stepped up to the plate and continue to defend Java.

      • Actually Google was just bastardizing Java as much as Microsoft did with J++. Oracle has every right to sue Google and Google isn't as innocent as you seem to believe.

        Sorry, but this is just plain wrong.
        Google does nothing that harms Java in anyway. After all there is no "Google Java". The program text for android applications running on the Dalvik VM "looks like Java" just as C looks like "C". But that has nothing to do with Java Trademarking etc.

      • by ADRA (37398)

        Sun/MS
        1. Microsoft's J++ implementation mirrored the functionality delivered with J2SE
        2. Microsoft's were in a business relationship with one another regarding

        Oracle/Google
        1. Google's Android competes with J2ME in cursory ways for sure, but I'd equate J2ME as more dumbphone+ based, and the standard Android API's are really pigeon holed into the types of devices they're using them on now. App engine's a very far throw from J2EE and I'd consider them so different that they can't be considered direct competito

      • by JAlexoi (1085785)
        Really... Have you ever developed with that crap called J2ME? Android is breath of fresh air in the mobile Java related world. If it weren't for Android, Java on the smartphone would be dead by now.
      • Microsoft, back in the day, signed a licensing agreement with Sun - which is why it was called "Microsoft Java", despite "Java" being trademark of Sun. That agreement had certain clauses that were violated.

        Google didn't sign any agreements with Sun/Oracle, and they don't use Sun/Oracle trademarks in their products. They're just using the source code, licensed under an open source license.

  • by Junta (36770) on Saturday October 08, 2011 @01:05PM (#37648540)

    First, you would have to get every vendor to agree to this. Not a single one will. Oracle has spent time making enemies of most people required for such a plan to succeed, and their mission statement completely conflicts with the goals of the rest of the people that would be needed.

    Oracle has been too confrontational with Google to get their help on anything that would advance Oracle's motives.

    Since Oracle's angle is in effect reducing platform differentiation, Microsoft and Apple are not about to give them the time of day as success would simply erode whatever value they could possibly construct.

    Open source communities have been sufficiently alienated by Oracle's goings on that they don't have a prayer in Firefox or other open source browsers either.

    Combine this political obstacle with the simple fact that there isn't a large need to be filled. Between Flash and Javascript+HTML5, there isn't much to add to the web experience and for things like smartphone and desktop applications, the respective vendors have it too good right now in their walled gardens to relinquish control.

    This didn't happen in the late 90s/early 2000s, and it's not going to happen now.

    • First, you would have to get every vendor to agree to this. Not a single one will. Oracle has spent time making enemies of most people required for such a plan to succeed, and their mission statement completely conflicts with the goals of the rest of the people that would be needed.

      Who are these enemies? Apple, IBM, and SAP are members of the OpenJDK project. Sure Google chose to make their own bastardization of the JVM and call it Dalvik which used a different byte-code format that is almost a one-to-one b

      • by angel'o'sphere (80593) on Saturday October 08, 2011 @02:36PM (#37649130) Homepage Journal

        Dalvik which used a different byte-code format that is almost a one-to-one byte code replacement to the JVM format.

        That is incorrect. Javas byte code manipulates a stack, the Dalvik VM is a register machine.

        • That is incorrect. Javas byte code manipulates a stack, the Dalvik VM is a register machine.

          That's being obtuse. Data format has nothing to do with implementation. One attribute has nothing to do with the other. Try again.

          • That's being obtuse. Data format has nothing to do with implementation. One attribute has nothing to do with the other. Try again.

            Wow ... I'm impressed, you are in the marketing?Writing three sentences that make no sense at all in a row to make a nice sounding phrase makes neither your phrase true nor my previous post wrong.

            So, what is the equivalent Dalvik opcode for aload_0 or for ladd e.g.? Ah ... you see, there is none.
            So much to your "almost a one-to-one byte code replacement" ... there is no single by

          • by JAlexoi (1085785)
            The opcodes themselves are one to one, just like you would transform an add command to a Power CPU to a x86 CPU. In the end it's still an add command.(By the same logic, LLVM is guilty of the same thing)
            Next, and most important point, is that the .class file format is radically different to .dex format. Sure, they're convertible.. Just like ODF can be converted into OOXML.
      • by Junta (36770)

        Apple's relationship with Java started at slightly more than token and has recently markedly declined as they realized they can charge people to develop and market iApps in a walled garden and Java doesn't play into their strategy.

        IBM and SAP I'll give you are very attached to Java, but I don't see that doing much for "Java everywhere". Java in the enterprise is there and will continue to be there, but the goal in this article was Java *everywhere*. In the consumer market, Java plays a negligible client r

      • by JAlexoi (1085785)

        Apple, IBM, and SAP are members of the OpenJDK project

        Are you an Oracle DBA, per chance? Because you defend one of the most hated companies in Java land. You just have to remember how anyone in Java world viewed Oracle's products prior to BEA acquisition.
        You might think IBM's involvement in OpenJDK might mean something positive, but IBM is still a very aggressive competitor to Oracle. IBM is pretty much on a all hate relationship with HP and hate+cooperation with Oracle.

  • by canoeberry (719818) on Saturday October 08, 2011 @01:13PM (#37648572)
    Why all the freakishly negative comments about one of the best languages to come along in a while? Super blazingly fast and fun to program. No, it's not ruby or python, but then again those languages are slow as thick shit in comparison. Anyway, if Java is going to succeed on the desktop it has to be possible to write apps which don't take up 500M of RAM, like Eclipse for example. That thing uses 500M of real memory for what!? Displaying a UI, edit three or four files, a console window ... I mean, this is 500M we're talking about. I blame Swing and the fact that its components are based on AWT Component, which is a huge memory hog with about 60 instance variables - holy cow, I thought I was exaggerating but it's close enough (53 + 13 because JComponent extends Container not Component). 66 * 8 = 512 bytes although not all elements are pointers I admit. Awesome! (not). I wonder if things would have been different if they didn't completely screw up Swing. AWT was done in about a week in 1995, it's OK that it wasn't perfect. But there is no excuse for Swing to suck so badly.
    • Re: (Score:2, Interesting)

      by Anonymous Coward

      Java just allows for shitty code. I have written C++ apps. They all used somewhere between 2 and 10 megs of RAM. I wrote a small Swing GUI with one text pane and 4 buttons, it uses 50-70 megs of RAM. WTF? Then, I wrote an entire enterprise app in SWING and man that thing uses a TON of memory....somewhere around 256-500 megs depending on if someone has been using it a lot or not. Not to mention now I work on J2EE code, which is just inefficient as shit. Our web frontend is so slow and all the UI guys

      • by tfigment (2425764)

        I total agree. My boss pretty much discarded his middle layer in geronimo and rewrote the php layer to directly use the database instead of webservice because performance was so poor on our critical monitoring website.

        We use a lot of Java and it just sucks memory and performance like there is no tomorrow. We have one server that we just had to up the memory from 5 GB to 7 GB to 10 GB because the fracken java app was doing god knows what with what should be at most 500 MB of data. I'm sure its bad code and

      • by JAlexoi (1085785)

        I am not a bad developer, btw. I am senior level, btw.

        Do you know how much an hour of your work costs compared to a gig sick of Buffered ECC RAM? Newegg says highest priced DD2 is $80 per 1GB. Now do the right thing, calculate how much your company would spend on buying the memory and letting you spend 1 less on a specific task, as opposed to spending 1 hour more and not buying 1GB RAM...

    • Eclipse doesn't use Swing. Eclipse is the premier SWT app.

    • What exactly sucks in Swing?
      And why are you complaining about Eclipse using 500M?
      Do you really think MS Visual Studio uses less?
      WTF when you compile a few undret megabytes of source code, where exactly do you think this is happening? My computer uses RAM for that ...

      Java can use as less RAM as a C program can. With one small exception: the JVM is added.

      Do you have any clue about what you are actually talking? Your Eclipse example is not even using Swing and you complain about Swing, sigh. If you are not abl

    • by gangien (151940)

      It's funny you complain about swing and then bring up an example of eclipse, which is not swing.

      It's true java uses up too much memory in general. There's also many complaints about swing, but you don't know what you're talking about.

      And eclipse, btw, does a ton of shit. Not that it should eat up .5 GB of memory, but..

    • by ljw1004 (764174)

      And the other stuff that Eclipse does...

      Parse your code in the background, generate symbol tables, maintain complete symbols of every class in your program, generate bound method trees at least of the current method you're on and usually others, provide intellisense, refactoring, scan your code for usage or other stylistic errors, colorize, ...

    • by nzac (1822298) on Saturday October 08, 2011 @04:30PM (#37649918)

      Why all the freakishly negative comments about one of the best languages to come along in a while? Super blazingly fast and fun to program. ... Anyway, if Java is going to succeed on the desktop it has to be possible to write apps which don't take up 500M of RAM

      Java is a trade off that uses excessive memory usage to allow you to 'have fun programming' (write shit code) and run almost a fast a C/C++ and have byte code that will run on multiple platforms.

      Its inherent to the language to use heaps of memory (needing a VM and using conservative GC) and have slow load times populating that memory. Is a language that has a niche (only good for running on a desktop with 4Gigs or more of ram) not a brilliant language. Probably the main reason its hated, is its owned by Oracle though. You cannot rewrite Java and have the extra memory usage disappear.

    • by devent (1627873)

      Are you for real? My Eclipse uses 76MByes of RAM. Please read with me: 76 Megabytes RAM. Seventy six. And I have a bunch of plugins, like Groovy, Maven, etc. What I did was start up Eclipse and run a few tests in JUnit.

      Also you picked your application somewhat wrong. Eclipse is not a text editor, it's a full blown IDE, like VisualStudio. How much does VisualStudio uses, and it's written in C++. Also Eclipse uses SWT not Swing; SWT uses the native widgets of the system, and Swing is drawing it's own widgets.

    • Why all the freakishly negative comments about one of the best languages to come along in a while?

      "One of the best languages"? Are you kidding me?

      No lambdas. More verbose than PL/I. Lame.

    • by Xest (935314)

      The 1980s called, they want their understanding of software back.

      Much modern software, supported by modern OS' use available memory to cache as much stuff that can be cached to increase performance. If a piece of software is using a few hundred mb it's probably doing so for good reason, rather than wasting CPU cycles dynamically calculating everything whilst your few gb of memory sits completely unused.

      Modern IDEs don't just provide a few text editor windows, they provide things like autocomplete, and it's

  • From the article:

    I can think of few examples of consumer-facing desktop Java applications.

    How about Spiral Knights [spiralknights.com]? It's not World of Warcraft, but a million users isn't something to sneeze at.

  • HTML5 etc. (Score:5, Insightful)

    by lkcl (517947) <lkcl@lkcl.net> on Saturday October 08, 2011 @01:30PM (#37648666) Homepage

    um, i know it's being said quite a lot, already, but it's worth repeating: java's pretty much dead on the desktop. people are even replacing Flash applications with HTML5, as it's reaching high market share and maturity, especially now that IE9 has actually better (read "stricter") HTML5 compliance than the Free Software equivalents. how in god's name is oracle expecting to break into that?

    the other thing that's worth emphasising is that when you have alternative language bindings to HTML5, you get the best of both worlds. so... why doesn't oracle put its money behind getting java bindings (or, better "generic" bindings like DCOM and XPCOM) on top of HTML5 browser engines? with Trident (the engine behind MSHTML aka IE) that's a done deal already: Trident (MSHTML.DLL and MSXML.DLL) already *has* DCOM bindings so it's a matter of about 2-3 weeks to get something like that up-and-running. XPCOM (XulRunner) is a little trickier: you'd have to find or create java bindings to XPCOM (they don't exist afaik) and the hardest (technically speaking) is webkit (used in android, safari, ipphon etc.)

    then you have literally the best of both worlds. HTML5 as the "front-end", and whatever-language-you-choose to control and direct it. btw this is exactly what's been done for the pyjamas project (http://pyjs.org) except using python not java.

    • um, i know it's being said quite a lot, already, but it's worth repeating: java's pretty much dead on the desktop.

      I really wonder on what basis comments like this are made.
      Every new Java version improves also the feeling on the Desktop. I absolutely don't get what you are talking about. Most companies I have connections to use Java, on the Desktop. Why should they write their desktop applications in a different language than the server part?

      • I really wonder on what basis comments like this are made.

        It's based on the basis of seeing exactly one Java desktop application in the last 5 years (and that looked and felt like crap, being written in Swing).

        Why should they write their desktop applications in a different language than the server part?

        Why should they write a desktop application to begin with? 99% of all intranet LOB applications have been web-based for ages. No headache with rolling out updates that way.

    • by devent (1627873)

      um, i know it's being said quite a lot, already, but it's worth repeating: java's pretty much dead on the desktop.

      On what evidence did you base your opinion on?

  • by smcdow (114828) on Saturday October 08, 2011 @02:52PM (#37649254) Homepage

    FTA: That means JavaFX is now supported on any device that offers a JVM.

    Bzzt. Thanks for playing. There is one extremely important class of device that does not and will not ever offer a JVM.

  • It would be cool if Java applets could access the HTML DOM as easily as JavaScript. Then it would be a nice alternative for programming on the web.

When all else fails, read the instructions.

Working...