What is the difference between Java Deployment Toolkit Plug-in and deployJava.js? - deployment

I was reading this article:
http://www.java.com/en/download/faq/deployment_toolkit.xml
and I get confused about the purpose and use of the DT Plug-in and the deployJava.js.
I always believe that the Deployment Toolkit is the set of functions of the deployJava.js file (like this link says: http://blogs.oracle.com/thejavatutorials/entry/deployment_toolkit_101) but according to the article there are two parts of the Deployment Toolkit: the Plug-in and the interface for the developer.
I'm asking about all of this because the deployJava.js fails to detect the appropriate version of Java in some of the machines of our users and I was wondering if the DT Plug-in could help us improve the detection, but I don't know how exactly it detects the Java version and when it does it or how can I use it to solve detection problems?
Most of this doubts are driven by the question in the article:
"Does deployJava.js work if the Java DT Toolkit plug-in is disabled?
Yes, deployJava.js contains some pure JavaScript functions, which will continue to work even if the Java DT Toolkit plug-in is disabled."
So... why do I need the deployJava.js if the DT Plug-in exists or vice versa?
Any help on this matter would be very appreciated.
Thank you very much.

If anyone has doubts about it, I've posted this question in the oracle forum and this was the reply:
Deployment toolkit is combination of native library and javascript
helpers. javascript is the only official public API to native library.
JRE is installed with DT native library that is left on the system if
JRE is uninstalled. As of now DT native library is only available on
Windows.
Javascript helper functions use native library if it is available but
many actions can be performed (with degraded accuracy, etc.) even if
native library is not present.
Note that there is new Javascript APIs for DT as alternative to
deployJava.js. it is called
[dtjava.js|http://download.oracle.com/javafx/2.0/deployment/deployment_toolkit.htm#BABJHEJA]
and is primary API for JavaFX applications. However, it also supports
pure Java apps and likely will be main JS API for DT going forward
(some more testing and bug fixing may be needed).
Hope this helps to clarify the relationship.
Thxs to igor
Link to oracle post: https://forums.oracle.com/forums/message.jspa?messageID=9932788#9932788

Related

C/C++ support (binding) of reporting tools?

From the last few days, i am trying to figure out best reporting tools for my work. I have mongoDB database server and now i need to integrate it with reporting tool. For mongoDB i used the C binding so i am looking for a reporting tool in C/C++. I came across some great tools like BIRT, Jaspersoft and Pentaho but i didn't get clean answer whether they have support for C/C++. So my question is do they have C/C++ binding or API?.
Also if you have some other tools recommendation for my work then please share that also.
To answer your question: No, these tools don't have a C/C++ API.
However, as Stennie pointed out in the comment, this shouldn't really be necessary, as you can use them with a http API. If you really want to use integrate them tightly with a C/C++ program, consider embedding Java into your program and see Embed Java into a C++ application?.

How to add my own tool in sakai 2.9 like announcement?

I am new to sakai, i want to add my own tool in sakai source code like announcement,syllabus...etc That tool having some my own functionality for this what i have to do, how can i develop my own tool in sakai.
Thanks.
Use one of the archetypes to get you started, then customise it. When you are comfortable you can change the UI layer to be whatever you like.
https://confluence.sakaiproject.org/display/BOOT/Developer+Tools
If you are looking for a solid "base" tool shell to begin with tool development my recommendation would be to start here: "Sakai Wicket Maven Archetype". There are a few other very good archetypes available but are often outdated and may cause you some problems based on my experience. This has been the one I've had the most success with.
This uses Wicket but does not mean you have to use Wicket to develop further with it. Make sure to pull the 1.2 version as last check the binaries for the others were not available yet so replace -DarchetypeVersion=1.4.1 with -DarchetypeVersion=1.2 It will compile and deploy successfully as a tool "as-is" that you can modify as needed. It also allows you to code in Java to directly access the sakai API and pull from its database or even add your own tables. I've successfully used it with NetBeans 8.0.1 and MySQL 5.6 under Windows 7 with Maven 3.2.3 and Sakai 10.1.
The code is well-documented and is no-frills but with enough varied functional use examples to allow you to do "almost" anything you want. The wicket manual is 600+ pages but in my experience you should be able to accomplish a lot just by looking at the code in the archetype.

Difference between IDE and Framework

What is a difference between an IDE and Framework with respect to Java?
Basically :
The IDE is the software you use to develop ; for example, Eclipse is an IDE (code editor, debugger, build tools ... )
The Framework is a set of both libraries and best practices that help you not re-invent the wheel, and provide a set of guidelines on how to develop.
Quoting wikipedia, an IDE :
is a software application that
provides comprehensive facilities to
computer programmers for software
development. An IDE normally consists
of:
a source code editor
a compiler and/or an interpreter
build automation tools
a debugger
While a Framework :
is an abstraction in which common code
providing generic functionality can be
selectively overridden or specialized
by user code, thus providing specific
functionality. Frameworks are a
special case of software libraries in
that they are reusable abstractions of
code wrapped in a well-defined
Application programming interface
(API), yet they contain some key
distinguishing features that separate
them from normal libraries.
An IDE is an application used to write and compile code. A framework is generally a software component that someone else wrote that you can use/integrate into your own project, generally to avoid re-inventing the wheel.
A framework is a tool that is closely attached to the language you are using and usually extends upon or adds the the language features.
An IDE (Integrated Development Environment) provides automation support for the language you use with regards to syntax highlighting of keywords, errors, building projects, cleaning them, intgegration with VCS, etc. and usually provides default support for popular frameworks used for your language.
Java makes use of frameworks like Hibernate, Struts and Spring to extend the language and NetBeans or Intellij IDEA bring support for these tools to your Java project in a structured manor.
As per all answers I can come to a conclusion that Visual Studio is an IDE and .NET is a framework.
And also a framework(list of .dll) can be integrated into an IDE. Mean framework is a part of an IDE.

Developing Eclipse plugins without Java

Is it possible to create Eclipse plugins/program Eclipse RCP apps without Java? (preferably in Jython)
This will be possible in the next Eclipse major release e4:
One of the goals of e4 is to provide support for writing plugins in other languages.
The quote is from http://wiki.eclipse.org/E4/JavaScript which summarizes the current state of using javascript to implement eclipse plug-ins in e4.
This issue in eclipse's bugzilla issue #227058 also has some discussion on that, but I believe it is outdated.
I am currently not aware of activity regarding other languages.
No. An Eclipse plugin is an OSGi bundle, and that requires interacting with a variety of things that can't implemented in Jython as far as I can see.
If you want to avoid Java, you can look at other things that target the JVM, but you will have to figure if you can produce and consume the specific items needed to call the necessary things and be called in the necessary ways.
OSGi bundles may be written in other JVM languages like Scala. Eclipse plug-ins, as of now, does not support any language other than Java. The Eclipse Plug-in Development Environment heavily makes use of JDT which ties it to Java. However there are some plans I heard that plug-ins might be supported in other languages. But I don't see that coming in near future.
You can write your main code in Jython and use Java interfaces to call then from Java. Take a look at this for details. Also, I am writing a utility library (github.com/abhin4v/jywrapper) to do the same. It has very little documentation right now, but you can look at the examples provided.

How can I make my application support plugins?

I'm work in an aplication that need be capable of support plugins, but i dont know how this work.
See Design Pattern for implementing plugins in your application?
The answers tend to get very platform specific. It also depends on how much control of your core app data and logic the plugin must have.
The C++ QT4 book has a good description of adding a file-type plugin to it's architecture, there area also a bunch of modeling apps (openscenegraph, blender, povray ) that have good documentation for their plugin architectures.
You need to design your application's API in such a way that plugins can be created, and you need to add the necessary plugin management interfaces and supporting code to invoke the plugins. There is no catch-all way of managing plugins.
Take a look at the open source application called Rawr (c#). Each addin is a seperate .dll and the main app uses reflection to access the code. Very nicely done.
www.codeplex.com/Rawr