Lesson 1: Licensing is part of Software Engineering
For the better part of this year, 2011, I was involved in the commercial release of a novel 2D to 3D conversion software, FlexiDesign. During the development, test and release to manufacturing (RTM) of FlexiDesign I picked up a few nuggets of knowledge and experience that I don't hear being discussed often, especially in this cloud-centric world. Perhaps it was discussed fervently a decade or two ago when desktop technologies were cool, but still relevant today since not all technologies are ready for the cloud (just yet).
One of the lessons I learned during the final development sprint was how important it is to incorporate the requirements of a License Manager early in the development cycle.
Briefly (for the impatient):
- The License Manager requirements should be considered as part of the rest of your Software Engineering tasks
- The License Manager should support Network Licenses
- The License Manager must be customizable (preferably through API)
- The License Manager should support DLLs in addition to EXEs
- The License Manager should preferably be the same as the host CAD system
- The License Manager is part of Software Engineering
While most desktop applications can incorporate an off-the-shelf License Manager, the requirement has to be dealt with more carefully when you are developing CAD Add-Ins. While you can simply bolt on many License Managers on to a regular non-add-in product, it may not be possible to do so with CAD add-in products, since the CAD system may need to talk some parts of your product without any limitations and you want to protect/lock other parts of you product. For example to register an add-in with SolidWorks, you need to make sure that the ConnectToSW(), DisconnectFromSW(), RegisterFunction() and UnregisterFunction() are not locked away by your License Manager. Else your add-in may not load at all. - The License Manager should support Network Licenses
Another requirement that has high priority is the availability of Network Licenses. CAD Administrators don't want to maintain separate licenses per PC, since that is very inefficient and time consuming. So the License Manager you select must be available over the network for your add-in to connect to validate the license. This also limits the potential candidates of License Managers leaving you with even fewer choices. - Customizable License Manager (preferably through API) AND
- License Manager should support DLLs
With FlexiDesign, we realized that the default behavior of most License Managers is to prevent the licensed software from running. With CAD systems, add-ins are loaded on startup and preventing the DLL from loading (e.g. if the license for your product has expired) might prevent the CAD system from starting up - which most people may agree is not a good thing. - Same License Manager as the host CAD
If at all possible, your License Manager should be the same as the the one your CAD system uses. This is not normally possible, but if you build for Pro/Engineer then I believe they use FlexLM License Manager (http://www.flexerasoftware.com/products/software-licensing.htm). SolidWorks seems to use an in-house build License Manager - SolidNetWork License Administrator (if I got the name right).
While a Mac can technically run SolidWorks, in most cases CAD software is written solely for Windows-based machines. This means on a Mac the software will be running through a proxy instead of natively which could affect performance. This is in addition to the fact that you will still need a fully-licensed copy of Windows for Boot-Camp on the Mac if you wish to run a Windows-based CAD Suite.. . Unless you have a specific need for the Mac, I would suggest going with a PC.
ReplyDeleteSolidworks Course
This comment has been removed by a blog administrator.
ReplyDeleteGreat article for Software testing. Thanks for sharing this useful information.
ReplyDeletePerformance testing training in Chennai | LoadRunner Training Institute in Chennai
good..
ReplyDeletehow to hack chromebook using crosh
hack tp link wifi username and password
brac ngo written test question
whatsapp ethical hacking
react js developer resume india
integer max value javascript
binatone wifi hack
a certain sum of money amounts to rs.1300 in 2 years and to rs. 1525 in 3.5 years. find the sum and the rate of interest
she spent most of her time tomusic
she most of her time tomusic
Awesome post...
ReplyDeleteinternship report on python
free internship in chennai for ece students
free internship for bca
internship for computer science engineering students in india
internships in hyderabad for cse students 2018
electrical companies in hyderabad for internship
internships in chennai for cse students 2019
internships for ece students
inplant training in tcs chennai
internship at chennai
Thanks for sharing this Information. This content is so informative and helpful for many people
ReplyDeleteMicrosoft Windows Azure Training | Online Course | Certification in chennai | Microsoft Windows Azure Training | Online Course | Certification in bangalore | Microsoft Windows Azure Training | Online Course | Certification in hyderabad | Microsoft Windows Azure Training | Online Course | Certification in pune
Advanced System Repair Pro multi-scan feature will intelligently scan and analyze your computer in minutes and give you complete thorough, organized, .Advanced System Repair Pro 1.9.7.3 Crack
ReplyDeleteMicrosoft Office. Whether you're new to Office or simply want to refresh your skills, you're in the right place. Our lessons offer a mix of text, video, .Microsoft Office Login
ReplyDelete