Link to home
Start Free TrialLog in
Avatar of joegoggins
joegoggins

asked on

Implementing Licence

I currently have a distrubuted Java application system . Basically I am hoping someone may be able to tell me the best way to implement Licencing on my distributed application.

Note that I have a single controller that I was going to use to pass the licence's out to all other related applications. What I need to know is , whats the best technology in Java currently to allow me to check Licence's and all the other stuff that follows .. I want to be able to pass out licence's form my controller , and also be able to shutdown my controller and all other application permently if the licence expires.
Avatar of NetWize
NetWize

Does it have to be "all free"?
If not there should be some good products out there dealing with that (for example the flexLM floating license server used in Together)
Avatar of joegoggins

ASKER

I was preferring to create the Licence myself , with a number of different parammeters that must be meet by all .. Its just i've never created a licence for an application before and i'm not sure how the best way to go about it is ..
So you know how to check the license in your client-apps,  but are unsure about how they get it from the server?

So if you read the license in from file in your application I'd suggest you switch this to reading from network?
What i currently have ?
     -> A properties file that contains parameter ie: Expiry Date
     -> An encrypted key that represents the properties file ( ie: i know then if anyone corrupts/changes my properties file )
     -> Multiple client applications , all connected to my main controller

What i want to do ?
     -> Have a single licence on my controller that i can push out to the connected clients
     -> How do i get all the clients to be able to communicate to tell me what properties of the licence they are using. ( Without creating separate sockets for all )

I was looking at using J2EE JMS but would prefer using something different as serialisation etc.. will result in trouble and confusion in the future ...ie : XML based if possible
     
The best return on investment is a good lawyer who will sue the ones who steal your software.  :)  Seriously, unless you are using an obfuscator for your entire source, it is very easy to decompile your .jars, remove the licensing code, recompile and run with them.  An obfuscator will slow most people down.  Licensing is just a game that seems to never end.
brian
Well,

how to clients and server interact in your application (i mean besides licensing?) Maybe you could use one of your existing methods to send the licensing properties as String (or byte-array)?
To NetWize , i am currently doing my licencing this way , but must assume that there is better ways out there. Its possiblle someone may listen over the tx line and filter my messages out.

To bkrahmer :
What is an obfuscator ?? and how is it used ...
www.condensity.com has a good obfuscater my company uses. It shredders your class and member-names so they look like

class a extends b implements c {
 a b = c.e();
 public a(bd ef) {
   b.b=ef.as();
 }

This is also good for reducing app-size (used for applets)

Why would it be a problem if someone "knows" your licensing properties? I thought you explained that you compute a secure hash to check if someone changed them?
Sorry NetWize , I'm working of a Linux machine ... Condesity does'nt suppport me. Anyway , i cannot use these outside products as i use JAXB in developing new classes dynamically and confusion would cause way to much hassle throughout my code.

What i was hoping for is a new Java facility available for making Licencing easier in a distrubuted system. ie : as JMS allows topics requests etc...  

I am going to close this posted question.
A request has been made to refund and/or delete this question; if there are no objections within 72 hours, the request will be granted.

EXPERTS: Please leave your thoughts on the disposition of this question here.

Banath
EE Moderator
Points refunded and moved to PAQ

** Mindphaser - Community Support Moderator **
ASKER CERTIFIED SOLUTION
Avatar of Mindphaser
Mindphaser

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial