Slashdot Mirror


Sun's JDIC And JDNC: A Cross-Platform ActiveX?

Espectr0 writes "eWeek is reporting that last week, Sun Microsystems Inc. licensed a pair of the underlying technologies of the Java Desktop System under the open-source LGPL (GNU Lesser General Public License). The two projects, JDNC (JDesktop Network Components) and JDIC (JDesktop Integration Components), are essentially to Java application developers what Microsoft's ActiveX and COM were to Windows developers--an architecture for creating easily configured application components and for integrating with the functionality of the local operating system and other applications."

28 comments

  1. incorrect. by Anonymous Coward · · Score: 0

    java is still kickin: "Windows Loses Another Customer to Sun's JDS" http://www.eweek.com/article2/0,1759,1618125,00.as p

    1. Re:incorrect. by Anonymous Coward · · Score: 0

      moe: What's that? [ca-ching] homer: I said, "you lost a customer!" moe: yeah, you can use it! [ca-ching, ca-ching!]

  2. Not Quite by pnatural · · Score: 4, Informative

    This quote is misleading:

    The two projects, JDNC (JDesktop Network Components) and JDIC (JDesktop Integration Components), are essentially to Java application developers what Microsoft's ActiveX and COM were to Windows developers--an architecture for creating easily configured application components and for integrating with the functionality of the local operating system and other applications."

    From the JDNC project page:

    The goal of the JDesktop Network Components (JDNC) project is to significantly reduce the effort and expertise required to build rich, data-centric, Java desktop clients for J2EE-based network services. These clients are representative of what enterprise developers typically build, such as SQL database frontends, forms-based workflow, data visualization applications, and the like.

    And then from the JDIC project page:

    The JDesktop Integration Components (JDIC) project aims to make Java(TM) technology-based applications ("Java applications") first-class citizens of current desktop platforms without sacrificing platform independence.

    The quote is misleading because it doesn't explain how ActiveX is similar to JDNC/JDIC. The similarity is platform lock-in: ActiveX and COM means you're stuck on Windows (albeit with a choice of programming languages). JDNC/JDIC means you're stuck on Java (but without real, viable choice on the language).

    The fundamental problem (IMHO) is that desktop component integration is limited to a single desktop. Yes, I can have code reuse on Windows, and I can have code reuse on Gnome|KDE|Sun(tm)Java(r)Desktop(tm), but will I ever have (or need?) component integration across the three? It seems to me that developers have enough to handle getting the core functionality right.

    This kind of thing seems like just so much... distraction.

    1. Re:Not Quite by dstrupl · · Score: 1

      > but will I ever have (or need?) component integration across the three?

      What about writing a screensaver that works on all three? Possible with JDIC and quite cool IMHO.

    2. Re:Not Quite by Anonymous Coward · · Score: 0

      To the tune of Teen Angst, by Cracker:


      Cause, what the world needs now
      is another [cross platform screensaver]
      like I need a hole in my head.

    3. Re:Not Quite by Decaff · · Score: 4, Insightful

      JDNC/JDIC means you're stuck on Java (but without real, viable choice on the language).

      Well, considering how widely used Java is, its a lot better than being stuck on Windows.

      Anyway, who says you are stuck with Java? There are dozens of languages available on the Java VM, including Python, LISP, Basic, Prolog, Smalltalk, Groovy, Ada, Forth, Pascal, Modula-2, Oberon and COBOL.

      The fundamental problem (IMHO) is that desktop component integration is limited to a single desktop.

      It isn't. Just because its using code from a library labelled 'jdesktop' does not mean that it is in any way restricted to Java Desktop - if you read about it you will see it will work with any Java client system - application, Applet, or WebStart, on any platform.

      but will I ever have (or need?) component integration across the three?

      You have it automatically, as the system is portable.

    4. Re:Not Quite by pnatural · · Score: 2, Insightful

      Well, considering how widely used Java is, its a lot better than being stuck on Windows.

      Since windows is more widely used than Java, by your argument, it's even better to be stuck on Windows. Ugh.

      Anyway, who says you are stuck with Java? There are dozens of languages available on the Java VM, including Python, LISP, Basic, Prolog, Smalltalk, Groovy, Ada, Forth, Pascal, Modula-2, Oberon and COBOL.

      I said "real, viable choice on the language". Are any of these real and viable? Not a troll, I'm curious: which of these is usable for enterprise or carrier-class applications? For which of them can I purchase a support contract from a reputable company?

      Just because its using code from a library labelled 'jdesktop' does not mean that it is in any way restricted to Java Desktop - if you read about it you will see it will work with any Java client system - application, Applet, or WebStart, on any platform.

      Oh, I see. It will work on any platform as long as that platform is Java. Got it.

    5. Re:Not Quite by Decaff · · Score: 2, Informative

      Since windows is more widely used than Java, by your argument, it's even better to be stuck on Windows. Ugh

      I was questioning your use of the word 'viable'. I mean, its like questioning if Windows is a viable desktop system. You may not like it (I don't) but there is no questioning that it is viable.

      I said "real, viable choice on the language". Are any of these real and viable?

      Most, if not all of them. Java Python (Jython) has a good solid history, and Groovy has a lot of momentum. The Smalltalks aren't that great, but work as command-line. There is a lot of interest in porting languages to the JVM, as its so widely available.

      Not a troll, I'm curious: which of these is usable for enterprise or carrier-class applications? For which of them can I purchase a support contract from a reputable company?

      Lots of them. For example, there are commercial and fully-supported compilers for COBOL, Pascal, Modula and Oberon.

      Others are open-source efforts.

      Oh, I see. It will work on any platform as long as that platform is Java. Got it.

      You asked if it was limited to a particular Desktop, not platform, didn't you?

    6. Re:Not Quite by bay43270 · · Score: 1

      Thanks for clearing things up. The original story was very trollish (lets pretend trollish is a word). These project don't bring Java any closer to being like ActiveX than it already was. JDIC is just a set of Java wrappers around JNI calls (like BrowserLauncher). It has the same security restrictions as any other Java code making JNI calls (once authorized to use JNI, your not in a sandbox anymore). The same can be said of SWT, but you don't see any comparisons between SWT and ActiveX.

      That said, I think JDIC is a great idea. Sun's boiled down least common denominator approach to UI has cost them any chance of being accepted on the client side (no matter what speed improvements are made). Even SWT doesn't completely integrate with the OS. This project is a good start.

    7. Re:Not Quite by molarmass192 · · Score: 1

      Since windows is more widely used than Java, by your argument, it's even better to be stuck on Windows.

      Ummmm, Windows is NOT more widely used than Java. It's not even close. Java is in use on over 1.5 *billion* devices compared to Windows being in use on most of the ~800M PCs in operation world wide. Remove from that total the 650M PCs with Java installed and you have 150M PCs with Windows only compared to 1.5B Java-enabled devices. So, at most, Windows-only-enabled devices enjoys a whopping 10% of the market of Java-enabled devices.

      Oh, I see. It will work on any platform as long as that platform is Java. Got it.

      No, because Java isn't a platform -but- it will work on any *Java-enabled* platform, that means Windows, Mac, Linux, Solaris, AIX, HPUX, *BSD, Symbian, PalmOS, BREW, ORIGIN, etc ...

      --

      Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
  3. Oh GAWD. Just what we ALWAYS wanted. by sulli · · Score: 4, Funny

    Cross platform viruses, worms, spambots, and spyware? No thanks!

    --

    sulli
    RTFJ.
  4. Re:Oh GAWD. Just what we ALWAYS wanted. by Decaff · · Score: 2, Informative

    Er no. This is Java. Unlike ActiveX, its designed not to do nasty things.

  5. repeat after me - Java is *not* cross platform by DrSkwid · · Score: 2, Insightful

    It may have a few platforms but ubiquitous it isn't.

    It is like saying that Flash / Shockwave is cross platform just because there are a few players.

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    1. Re:repeat after me - Java is *not* cross platform by Decaff · · Score: 3, Insightful

      It may have a few platforms but ubiquitous it isn't

      Java is on at least Windows, .Net, MacOS, MacOS/X, Linux 32-bit, Linux 64-bit, BSD, OS/2 (yes, OS/2!), PalmOS, DG/UX, Tru64, OpenVMS, Reliant Unix, BS2000, HP-UX, Solaris, AIX, OS/390, OS/400, VM/ESA, Netware, Oracle embedded, DYNIX, Irix, Symbian, QNX, VxWorks, NextStep, OpenStep, OSF/1, DOS, AtheOS, RISC OS, ARMLinux, EPOC, GCOS, Windows CE, Psion Series 5, Plan 9, Sony Playstation (!).

      How would you define 'few'?

      but ubiquitous it isn't.

      Java is pre-installed on 60-70% of all new PCs. The number of JRE kits manually downloaded from Sun's site alone is in the tens of millions. There are well over a 100,000,000 mobile phones out there with embedded java.

      How would you define 'ubiquitous'?

    2. Re:repeat after me - Java is *not* cross platform by DrSkwid · · Score: 1

      How would you define 'ubiquitous'?

      When it's running on my terminal

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    3. Re:repeat after me - Java is *not* cross platform by Decaff · · Score: 1

      When it's running on my terminal

      sourceforge.net/projects/javacurses

      "Provides the classes necessary to create a text based Java application with colors, attributes and windows."

      It runs on your terminal.

    4. Re:repeat after me - Java is *not* cross platform by RAMMS+EIN · · Score: 1

      It doesn't have to be ubiquitous to be cross-platform. Just running on POSIX and win32 systems, both of which Java does, make it very much cross-platform in my eyes.

      Flash/Shockwave is cross-platform, too. The difference is that Flash is really write once, run everywhere (of course, provided there is an implementation, but that goes for anything). Java has many many compatibility and look-n-feel issues that its proponents tend to sweep under the carpet. Flash isn't that much affected by those, because it is not intended to fit in with any environment, nor is it a generic programming language.

      --
      Please correct me if I got my facts wrong.
    5. Re:repeat after me - Java is *not* cross platform by DrSkwid · · Score: 1

      flash, hmm

      you might want to read this

      http://www.macromedia.com/shockwave/download/alter nates/

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  6. Re:STILL Not Quite by Ded+Mike · · Score: 1

    >>Since windows is more widely used than Java, by your argument, it's even better to be stuck on Windows. Ugh.

    No, Java devices (now verging on close to 14 Billion total) FAR outnumber Windows devices. Java is more than just computer desktops, as are these libs.

    --
    Remember guys, this is Amerika. Just because you have the most votes, doesn't mean you get to win.--Fox Mulder
  7. interesting by 12357bd · · Score: 2, Interesting

    Thing are getting interesting,
    Sun is approaching java to desktop (hurray for them, it only took 5 years!).
    Mac is publishing rendezvous for linux, win and others (after ten years of networking, will we finally get something like a 'zero' config system!?).

    It seems that the non-windows side of the world is awakening!.

    --
    What's in a sig?
    1. Re:interesting by RAMMS+EIN · · Score: 1

      Actually, Macs have had zero configuration networking with Appletalk, which I think was introduced at the onset of networking for Macs.

      As for non-windows on the desktop, well, arguably, Windows is the latecomer. Macintoshes and the X Window System both existed in 1985. It would take Microsoft several years after that to come up with a usable GUI.

      It's more like the world is waking up to the non-Windows side.

      --
      Please correct me if I got my facts wrong.
    2. Re:interesting by 12357bd · · Score: 1

      It's more like the world is waking up to the non-Windows side.

      Yes!

      I think is because the windows side entered a comatose state when internet came and it's still there. :)

      --
      What's in a sig?
  8. Re:Oh GAWD. Just what we ALWAYS wanted. by Wudbaer · · Score: 1

    Which does not mean it's not possible to do nasty stuff anyway. Mobile phone worms anyone ? (yes, there are published and plausible proof-of-concepts and IIRC I read something recently that there are also a handful in the wild)

  9. Re:Oh GAWD. Just what we ALWAYS wanted. by Decaff · · Score: 1

    Which does not mean it's not possible to do nasty stuff anyway.

    Nothing is ever impossible, but its very, very difficult, because of in-build security.

    Mobile phone worms anyone?

    The mobile phone worms are nothing to do with Java. The proof-of-concept was code that used the raw Symbian OS.

  10. Sun got it right... after someone shown the way by Snaapy · · Score: 1

    > JDIC also provides Java developers with a way to tap into the functionality of the client operating system they are run from. Sasaki said one of the first applications built with the JDIC project was a Java screen saver that runs on Windows, Linux and Mac OS X.

    JDIC sounds like Sun has finally gave up "100% pure Java" principle and allows Java developers to access native functionality easily. For example, Swing has been burden because it has "Java only" implementation. It totally ignores all UI provided by client OS which means that text boxes and file dialogs never behave correctly in Swing. On the other hand this allows you to run "Windows themed Swing" under Gnome, but who wants that...

    SWT and Eclipse league have wrapped native components and provided their own implementation only if native platform lacks the specific components. This is why SWT reacts 3x quicker than Swing, follows native GUI guidelines and is a pleasure to use compared to its Swing counterparts. Also, drilling through SWT to use native OS mechanisms like COM is easy. This is often required for compatibility reasons.

    > For example, rather than using Java's own HTML-rendering capabilities, a developer could use a JDIC to integrate a Web browser running on the local operating system, such as Internet Explorer or Mozilla.

    SWT had this from the beginning. For example, Eclipse on Windows use IE as help viewer by default.

  11. Re:Sun got it right... after someone shown the way by Decaff · · Score: 2, Interesting

    JDIC sounds like Sun has finally gave up "100% pure Java" principle and allows Java developers to access native functionality easily.

    You always have been able to do this. Its called JNI (Java Native Interface).

    It totally ignores all UI provided by client OS

    No it doesn't. You can cut and paste between Swing and the client OS. You can drag and drop between Swing and and client OS. You can access Client OS information, and Client OS Print Services. There are tools available that allow you to embed ActiveX components in Swing.

    which means that text boxes and file dialogs never behave correctly in Swing.

    Never behave correctly? I can enter text, cut, copy, paste, reformat, edit styled text and HTML.

    The file dialogs allow me to search for files and directories, filter by file types, create new directories.

    How is this not 'behaving correctly'?

    This is why SWT reacts 3x quicker than Swing

    Yes, SWT is a good product. However, the next release of Java (out September) allows Swing to be accelerated through the use of OpenGL. That should be fast.

  12. Ok, great by RAMMS+EIN · · Score: 1

    Java becomes more like a usable programming language every day!

    The functionality of mailcap, later cloned in win32, GNOME and KDE, is now available to Java as JDIC!

    And JDNC provides powerful GUI functionality, including an XML format for describing GUIs, a la Glade, wxWidgets XML resource files, XUL , XAML. Of course, they are all completely incompatible. Also worth mentioning here is GNU Enterprise, which has seemingly similar aims to JDNC.

    I don't know what all this has to do with ActiveX. For all I know, ActiveX was MicroSoft's intended replacement (or umrella) for Java and JavaScript. It has met with mixed success, having met with popelarity mostly as a malware target. JDIC and JDNC look like decent proposals to me. It's good to see Java maturing both in speed and functionality. The more choices, the merrier, after all.

    --
    Please correct me if I got my facts wrong.