Questions on deploying Java desktop applications

Hello,
I have searched the forums and been unable to find the information I need. I am not sure this is the appropriate forum to post at but had to start somewhere!
I have a Java desktop application which has only been used internally at my organization for R&D. We are now working with our legal folks on setting up various licensing options. The funding organization today said that they wanted the software set up such that deploying it externally would have behaviors such as:
* preventing one CD being used to install on multiple machines,
* preventing someone from copying the installed software from one machine to another,
* have a way for the software to "expire" after a set amount of time.
I have never had to deploy software externally before (nor does it seem has anyone else at my organization - we do science R&D) and am at a loss as to how to best do this. I have googled around a bit but not found any solutions. Has anyone here done this and could perhaps give me some pointers?
Much Thanks,
Keri

kgoorley wrote: Hello,
I have searched the forums and been unable to find the information I need. I am not sure this is the appropriate forum to post at but had to start somewhere!
Given you new not only to deployment, but also
posting to these forums, I will take the opportunity
to point out that I let this post be for a couple of
days since in had no Dukes assigned. To my
eye, dukes indicate how important a question is
to whoever asked it, and I do not generally have
time to answer questions that are not important.
You can add dukes to a thread at any time.
kgoorley wrote: ..licensing options. ..
* preventing one CD being used to install on multiple machines,
* preventing someone from copying the installed software from one machine to another,
* have a way for the software to "expire" after a set amount of time.
Web start apps. are usually deployed directly off
a server/internet site. Although deployment off CD
is theoretically possible, it is uncommon.
The basic answer to all your questions as asked is 'no'.
However, if the legal people can take a slightly different
line, and that server/site has some 'active' element to it
(e.g. it is generated using servlets), there might be other
options worth considering.
The basic approach would be not to sell licenses
per machine, but per 'use', in the sense that if
I were to sell you a license, it would be for 'nn users',
rather than 'nn machines'. This means that if you
had a license for 'two' users (let's call them Bob
and Harriet), both Bob and Harriet could use any
PC in the organization to use the software,
but once they were both logged in, no further
users of the software would be allowed.
The way to achieve this is to have the application
'phone home' to the server and tell it the
username(/password). Every 2-3 minutes,
the app. should get back to the server and
confirm it is 'still running..'. If the app. cannot
reach the server, it reports a problem to the
user, and exits.
If the server does not get a 'still running' confirmation
in a time longer than that few minutes, it assumes
the app. is off-screen, and frees that 'licence slot'.
The reason to keep letting the server know it is
there, is that if Harriet were to be logged in, and
Bob accidentally trips over the power cord and
drops Harriet's computer in a screaming heap,
her app. will never have the chance to 'log out'
and inform the server to free the slot.
As such, it is important to allow her to log-in again in
'a few minutes' (which is probably about the amount
of time it will take her machine to reboot, and chide
Bob for his oafish carelessness).
Using this system, the first & second requirements
above become redundant - as it is not the number of
PC's that we care about - just the number of users.
The third requirement could easily be handled on
the server-side, checking licenses as users
log-in, and confirming that license is still valid.
Edited by: AndrewThompson64 on Sep 27, 2007 7:30 AM

Similar Messages

  • Deploying Java Desktop App using executable JAR files

    Hi there.
    Today I am very optimistic about java. I am a beginner, and I had tried (in my few free time) to understand how to deploy java desktop apps.
    I am using the lattest NetBeans IDE to do the programming and it is very very fast and optimized.
    Going to the point, I tried some time ago to deploy an application (made with this IDE) using JAR files, but even though the application run well on my IDE, when I packed it, it rised an error saying that
    java.lang.NoClassDefFoundError: org/netbeans/lib/awtextra/AbsoluteLayout
    I was using an absolute layout on my JFrame forms and this AbsoluteLayout is provided by netbeans and not by the normal SDK.
    I then looked for the absolute layout class and found a jar file in the following path:
    C:\netbeans\modules\ext\AbsoluteLayout.jar
    So I mounted the Jar file in my File Systems and then added the contents of the file to myApp.Jar file.
    I used the automated Jar Recipe Packaging feature of netbeans, that is why I needed to mount the AbsoluteLayout.jar file into my file systems.
    Now it runs fine by just right clicking the MyApp.jar file from Windows Explorer.
    In a next reply to this topic I will include some sample code so that anybody requiring to do such implementation can take this for help.
    Regards!
    JN

    Well,
    I will take some time here to show the basic source code and procedure to create a desktop application, pack it up in a Jar file for deployment, add other classes or jars to the deployment jar file and finally open the jar file as an executable. This applies for either windows and linux environments.
    Take in count i am using Netbeans IDE 3.x (3.5)
    First I open the IDE and create a new project called MyDesktopApp. This is done by going to the menu Project / Project Manager. Then click on the New button and specify the project name and click on OK.
    At this point, the Filesystems tab in the project explorer is empty. So I mount a directory to store myDesktopApp in it. I selected c:\MyDesktopApp but you can select any name you want.
    To mount the directory you follow these steps:
    1. Right-click on File Systems
    2. From the contextual menu select Mount > Local Directory
    3. In the filechooser window, you just browse it and SELECT the directory to mount. Be aware that you can even create the directory on this window. Do not enter (double-click) into the directory you want to mount, just select it and click on finish...
    4.Then the directory entry appears under the filesystems node of the project explorer.
    Now you have to create your application. You can either create a package (special configured and tracked directory) or you can create the clases directly inside the directory. For tidy project, I will create the package.
    To create the package follow these instructions:
    1. Right-click on the mounted directory and from the contextual menu select New > Java Package
    2. In the New Wizard - Java Package window, type the package name and click on finish. I use the "MyDesktopApp" as package name.
    OK. Now the package is created under the mounted directory. Now we have to create the Main Class. In this case I will use a JFRAME as the main class but you can create any class you want.
    To create the JFRAME as main class follow these steps:
    1. Right click on the java package you just created and select New>JFRAME from the contextual menu. If you do not see the JFRAME option on the NEW sub menu you will have to select the All Templates option. I explain the All Templates option now on, it will be easier to use the JFRAME if available. Once you use JFRAME with the all templates then the JFRAME will show up in further NEW usage.
    2. So finally we used the All Templates, and you select the Java GUI Forms > JFRAME form option and click on NEXT.
    3. Give it a name. (I used MyDesktopAppFrm) and click on finish. Be aware you can set advanced options by clicking on next. But for the purposes of this topic we will use default options so click on FINISH
    4. A new JFRAME form appears inside your package. Right click on the form and select Set layout > Absolute Layout.
    5. Add some controls and code. I added a label and a button. And coded the ActionPerformed event of the button to say hello! on the label. this is up to you. The code just looks as follows:
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    // Add your handling code here:
    jLabel1.setText("Hello folks!");
    6. Compile and execute the form.
    Let's say this is our Desktop Application. Now We will pack it in a Jar in two steps...
    A. Create a JAR file (Recipe)
    1. Right-click on your package and select New > All Tempaltes (Long Route) You can also select New > JAR Recipe if available.
    2. On the New Wizard Window, choose the JAR ARchives > JAR Recipe template and click on NEXT
    3. I used MyDesktopApp as the file name and Defaults and then click on Next.
    4. Specify the JAR Contents. Select the Package (not the mounted folder) from the mounted file system and click on add and then click on NEXT twice...
    5. On the JAR Manifest window, click on GENERATE
    6. Edit the manifest in the window to add the following code:
    Main-Class: MyDesktopApp.MyDesktopAppFrm
    7. Ensure the Main-Class definition is the same as your java package and JFRAME name. Click on FINISH
    8. At this point we have a jar file in your project directory but this file wont run because it is missing some Netbeans clases that we will add in the next set of steps... Just to check, compile the file (right click on the JAR file and compile) and try to execute. It must compile but must not execute.(well if it executes you are done. It may execute if you did not set the lay out of the form as AbsoluteLayout)
    B. Add the AbsoluteLayOut to the JAR
    1. Right click on File Systems and select Mount > Archive Files
    2. Look for your netbeans installation folder and select the following file:
    .../netbeans/modules/ext/AbsoluteLayout.jar
    3. Click on finish
    4. Now the JAR File is mounted in the file systems.
    5. Right-click on your MyDesktopApp.JAR file and select properties.
    6. Look for the contents property click once on it and then on its elipsis button [...]
    7. From the FileSystems box in the Contents window, select the AbsoluteLayOut file and click on Add
    8. Then the system asks you if you are sure. Of course you are so click OK. (If not sure, just read the message text and click OK...:-))
    9. Click on OK
    10. Compile your JAR Recipe (right click on it and Compile)
    11. Now you must be able to run the file by right clicking it and EXECUTE.
    12. Also you must be able to run the file by double clicking the file from a Windows Explorer. You may receive a message asking to select the program to run the file with. You must browse and select the Javaw.exe file in the bin directory of your Java RUn Time installation. This is typically located at C:\j2sdk1.4.0_01\jre\bin or something like that. Use the File-Search feature of window to locate the JAVAW.exe file if needed.
    I hope this long explanation helps somebody to deploy Java Desktop applications. Please reply the message if it helps you just to know it was useful.
    Thanks for your time....
    JN

  • Java desktop application run problem

    Hi.
    I have designed java desktop application which includes some libraries (XMLparserV2.jar, Ojdbc6.jar,xdb.jar, Orai18n-mapping,jar) with XML ini file.
    Then I have done deploy to jar. After it I relocated jar file and XML ini files to separate directory and ran javaw -jar myjarfile.jar. I can't see anything.
    Where I can see any errors ?
    Thanks for reply in advance.
    Andrii.

    Try running java -jar myjarfile.jar from the command line and see if you get any errors showing up (probably missing classes in your path)

  • Netbeans Java Desktop Application Problem

    Hi
    I have build a java desktop application via netbeans and it creates a jnlp file to execute this applets however in my project when i press a button on an applet it opens another applet and send some parameter via html file how can i do that in desktop application because it doesnt have html file it only has jnlp file ?
    Thanks

    I guess I didnt make myself clear enough,I dont want to use another applet's public methods I want to execute it
    Lets make a scenario
    assume that I have an applet a and applet b
    on applet a there is a button called open applet b and when somebody press this button applet b will be opened
    Before I was doing that like this
                URL page = new URL("http://www.xxx.edu.tr/~team5/nps/build/giris.html");
                getAppletContext().showDocument(page,"_self");but now I made the project netbeans desktop application so I dont have any html file I only have jnlp and jar files
    so what should I do to maintain opening an applet from another applet?
    Thanks

  • Calling a soap web service from a java desktop application

    Hi,
    Does anyone know how to call a soap web service from a java desktop application? I've seen examples using Apache Axis, but it sounds like Axis needs to run on a web server and we are trying to avoid that. My initial thought was that, "of course we need a web server", but I'm wondering if there is a way to do this without a web server.
    Any help is greatly appreciated.
    thank you,
    Julie

    If you are the consumer you don't need any web server. The web server is only needed in the provider end.
    In java 6 there is a built in framework to call web services without the need of third parties (such as apache axis)
    take a look at:
    https://jax-ws.dev.java.net/guide/Developing_client_application_with_locally_packaged_WSDL.html
    http://java.sun.com/webservices/technologies/index.jsp
    For the provider end there is also a built in http server to expose web service via HTTP without the need to
    use any external web server.
    take a look at:
    http://java.sun.com/javase/6/docs/api/javax/xml/ws/Endpoint.html

  • How to start/stop/restart a java desktop application from remote machine

    Hi,
    I want to know is there a way in java where i can start/stop/restart a java desktop application running on a remote machine through another java desktop application?
    For e.g i have an Admin console which monitors its clients based on socket communication, all of them are java desktop applications. I want to also give start/stop remote clients through my Admin console.
    I am thinking in terms of windows system service which can start/restart/stop my clients on request of Admin console, but how can i call this system service remotely?
    How can i do it?

    I got it. its about connection...

  • Error code:-2147467259 Error code name:failed Java desktop application

    Hi guys,
    I'm trying to run
    Java_JRC_Desktop_View_Report_and_set_database_logon downloaded from this link:
    http://www.sdn.sap.com/irj/boc/index?rid=/library/uuid/d0d6f979-3e11-2c10-35a8-ac93994a30ed
    but at runtime my java desktop application throws this Exception:
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: org/apache/log4j/Logger---- Error code:-2147467259 Error code name:failed
    From what depends?
    thx all.

    Hi,
         I am trying to run a java code to export .rtf file to .pdf format. Below is the code
    *String reportname = "D:\\multiLingual.rpt";;*
    *String exportfilename ="D:\\multiLingual.pdf";*
    *//Open report.*
    *ReportClientDocument reportClientDoc = new ReportClientDocument();*
    *reportClientDoc.open(reportname, 0);*
    *//NOTE: If parameters or database login credentials are required, they need to be set before.*
    *//calling the export() method of the PrintOutputController.*
    *//Export report and obtain an input stream that can be written to disk.*
    *//See the Java Reporting Component Developer's Guide for more information on the supported export format enumerations*
    *//possible with the JRC.*
    *ByteArrayInputStream byteArrayInputStream = (ByteArrayInputStream)reportClientDoc.getPrintOutputController().export(ReportExportFormat.PDF);*
    *//Release report.*
    *reportClientDoc.close();*
    *//Use the Java I/O libraries to write the exported content to the file system.*
    *byte byteArray[] = new byte[byteArrayInputStream.available()];*
    *//Create a new file that will contain the exported result.*
    *File file = new File(exportfilename);*
    *FileOutputStream fileOutputStream = new FileOutputStream(file);*
    *ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(byteArrayInputStream.available());*
    *int x = byteArrayInputStream.read(byteArray, 0, byteArrayInputStream.available());*
    *byteArrayOutputStream.write(byteArray, 0, x);*
    *byteArrayOutputStream.writeTo(fileOutputStream);*
    *//Close streams.*
    *byteArrayInputStream.close();*
    *byteArrayOutputStream.close();*
    *fileOutputStream.close();*
    I am running it through eclipse as a standalone with all the required jar files in the buildpath. However when i run it gives following error in console.
    *com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: An error occured while exporting the report---- Error* *code:-2147467259 Error code name:failed*
    *     at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)*
    *     at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)*
    *     at com.crystaldecisions.reports.sdk.PrintOutputController.export(SourceFile:54)*
    *     at test.main(test.java:34)*
    Thanks in advance
    Abhijeet
    Edited by: Abhijeet D on Jul 7, 2010 5:10 PM
    Edited by: Abhijeet D on Jul 7, 2010 5:24 PM

  • How to validation of textbox in Core Java(Desktop Application)?

    I am developing billing software in Core Java (Desktop Application). I want to know how to do validation of null values of textbox. and validation of other components in Core Java
    (Same as we use javascript in JSP, what do we use in Core Java?)

    Stop that.
    If you post to forum, people answer to forum.....how else will other people gain any information?

  • Do you develop Java Desktop Applications based on netbeans RCP?

    do you develop Java Desktop Applications based on netbeans RCP?
    http://nextbridge.net/netbeans/ ,a definitive source for netbeans plugins information

    I don't. For the moment it seems too complicated. I follow the MVC pattern when the application is big and try to look at the code of successful projects.

  • Open source java desktop applications

    Hi all,
    Can someone direct me to a simple open sourced java desktop application (not from java tutorial).
    I had no luck finding one myself. It seems to me there isn't many out there. I found open workbench but thats too complex for a beginner like me.
    regards,
    Sebastian

    I had no luck finding one myself. It seems to me
    there isn't many out there. You mean like Eclipse? I took me 1 ms to think of that one. I'm sure there are many, MANY more... Did you try Google?

  • Database in java desktop applications

    0 vote down star
    I am making a desktop application in java and using MS Access asdata base. I want that if i run the setup of the application the database should be created on client machine because there can be different client using the application
    How to do it? please explain me in detail.. thanks

    Path means where ever you want and have rights to put it locally. If you're going to hard code a location into your project, then yes, that does mean the same as your development, otherwise, you'll need to save some configuration string for db location.

  • How to deploy Java an application in CE

    Hello all,
    This question I already posted before. Since I try to open the thread one more time to expect a desired answers from u people.
    I have downloaded CE trail version from SDN. It's running fine. and No SDM service is running there. My concern is how to deploy a java application in SAP J2ee engine with out SDM service.
    Experts plz suggest me how do I proceed to deploy application in CE.
    Many Thanks

    Hello Yahagiri,
    Go through this link hope this is useful to you..
    http://help.sap.com/saphelp_nw04/helpdata/en/76/fb72ec091f4bf8a2d8ba321bb7e8d9/content.htm
    Thanks,
    satya ..
    Reward if it is useful..

  • Problem While Deploying Java Web Application(Struts,Hiber) on NetWeaver 7.3

    Hi
    Fortunately i had a requirement to deploy my project JAVA (Struts, Hiber, DOJO)web application build as war file using Eclipse 3.4 on SAP Net Weaver 7.3
    Its showing in the Deployed Components List of NetWeaver ...
    When i tried to open the home page i found an exception ...
    The following is the log file content ... Hope its something related to hibernate ...
    >deploy s:\usr\sap\trans\EPS\in\LMSDemo.war on_deploy_error=stop
    Converting s:\usr\sap\trans\EPS\in\LMSDemo.war to sda
    s:\usr\sap\trans\EPS\in\LMSDemo.war has been successfully converted to sda
    Deploy settings:
    life_cycle=bulk
    on_deploy_error=stop
    on_prerequisite_error=stop
    version_rule=lower
    workflow=normal
    If there is an offline deployment, Telnet connection to host may be lost, but th
    e result can be seen using get_result command
    Processing deployment operation, wait...
    ===== PROGRESS START =====
    Deploying JavaEE_LMSDemo (sda) ...
    Deployment of JavaEE_LMSDemo (sda) finished.
    ===== PROGRESS END =====
    ===== DEPLOY RESULT =====
    sdu id: JavaEE_LMSDemo
    sdu file path: [S:\usr\sap\N73\J10\j2ee\cluster\server0\temp\tcbldeploy_contro
    ller\archives\31\263890545832850\SDA\LMSDemo.war]
    version status: NEW
    deployment status: Warning
    description: [
    1. Warning exception has been returned while the [] was starting. Warnings:[
    Warning occurred on server 102466650 during startApp of JavaEE/LMSDemo : com.sap
    .ASJ.web.000607 (Failed in component: JavaEE/LMSDemo, ) Initialization of servle
    t action failed. Check init() method of servlet. Error is: [javax.servlet.Unav
    ailableException: org/slf4j/LoggerFactory]
    ===== END DEPLOY RESULT =====
    ===== Summary - Deploy Result - Start =====
    Type | Status : Count
    > SCA(s)
    > SDA(s)
    - Warning : [1]
    Type | Status : Id
    > SCA(s)
    > SDA(s)
    - Warning : JavaEE_LMSDemo,
    ===== Summary - Deploy Result - End =====
    >
    Does anyone knows this ..

    In your deploy message it says that it can't initialize your servlet because it is missing a java class from the logging framework that is used by hibernate. It might also be possible that that logging framework ([SL4J|http://www.slf4j.org/]) is configured to use a logger that is not available in your Netweaver 7.3 installation. Maybe check the documentation of sl4j for details. There is also a [document|http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/bf0d57db-0c01-0010-6fa3-83503981eed4] about Hibernate on Netweaver but that was back when Hibernate did not use sl4j. Probably you just need to add the sl4j library to your libs.

  • Deploying a desktop application

    I've created a small Swing application which I'd like to deploy to a number of desktops. This application includes a custom JDBC driver, and I can't figure out how to include the jdbc driver in the .jar archive.
    I know it's not proper packaging to do that, but I need to do this for the time being while I trial this. Is there a way to include all the project dependencies in a .jar? I know JBuilder used to do this, but I'm at a loss with JDeveloper.

    You can't. Even if you could somehow delete the uninstaller, the user could always get around it by manually deleting all the files. If you set up some sort of protection, the user could delete the protection files or uninstall the OS altogether.

  • Questions on Deployment of Web Application in J2EE

    SAP's Portal Component API includes custom framework called DynPage. There is another framework called iViews. Both have been in existence since 2002. Which is the latest and greatest way to move a J2EE Web application based on Java Servlets, JSP, and mySQL to SAP EP. The application uses a well-designed service API which would return Java objects. Being a Web application, we have controllers which delegate HTTP requests to the service layer methods; these methods  in turn call the database through DAO classes, execute business logic and return Plain Old Java Objects. We do not use any EJBs at all, be it session or entity EJBs. What changes should be made to this kind of an application to make it deployable in SAP EP?

    Hi selvaKumar
    The portal Developement Kit i.e PDk is the technology to develope the portal content  in an application which is again deployed in the EP Server .See the iView concept in the portal is just to display the content in the portal.The content may be any thing.Whatever may be the technology you used the User Interface can be shown to the portal users via IViews.As you know PDk and IViews are the Part of NetWeaver EP .IView is basically a unit for content (info )in the portal .If you want to use JSP custom and standard tags in PDk then you will go for JSpDynpage kind of portal components.EP is basically to build UserInterfaces and used in enterprises to work efficiently on the basis of Roles performed by employees of a company.The basement of PDk or webdynpro is Java/J2ee only.Migration is not at all an issue because if you know java ,EP Developement and Implementation you can easily learn with little effort.What ever may be the application or technology you can integrate it into EP.
    regards
    venkatakalyan K

Maybe you are looking for