SlideShare a Scribd company logo
Licensing platform independent
applications with Python, PHP,
and JavaScript
Ruediger Kuegler, VP Sales & Professional Services
ruediger.kuegler@wibu.com
Joerg Jans, Professional Services
joerg.jans@wibu.com
Python, PHP & JavaScript
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 1
Use Cases
Web Applications with HTML 5,
CSS3, and JavaScript
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 2
Web Applications with HTML 5, CSS3, and JavaScript
 Mobile applications for all types of devices (PCs, mobile devices, tablets)
 Current application always available, no outdated local version on the
user's PC
 No updates necessary for the user
 No administrator rights necessary for the user, only browser required
 Development tools are getting better and better
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 3
Licensing Scenario I
 Scenario
 A software publisher develops a product in the form of a web application
 The software publisher sells this complete package (server and clients) to one or
more service providers
 Each service provider resells the web application to their users and generates
revenue
 Requirement
 The software publisher wants to check that the service providers use the web
application within the agreed license terms (number of servers, number of users,
functionality, time license, ...)
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 4
Licensing Scenario II
 Scenario
 A service provider develops a web application
 The application runs on a server operated by the service provider (own data center,
Azure, AWS, ...)
 The service provider sells the web application to their users and generates revenue
 Requirement
 The service provider wants to control the use that their users make of the web
application (number of users, functionality, time license, ...)
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 5
Licensing Scenario III
 Scenario
 A software publisher develops a product in the form of a web application
 This web application is delivered to the users and runs locally on their system, for
example:
 As a local desktop application
 On a delivered controller / embedded device
 Requirement
 The software publisher wants to control the use that the users make of the
application
 Ability to enable additional functions for the users
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 6
Licensing Scenario IV
 Scenario
 A software publisher is already selling a desktop application
 In the future, some functionality will also be offered via a mobile application (i.g. at a
construction site)
 Such functionality requires a server application. This is offered as a service by the
software publisher, but can also be operated by the users themselves
 Requirement
 The software publisher wants to control the use that their users make of the web
application (number of servers, number of users, functionality, time license, ...)
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 7
Use Cases
Node.js Applications
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 8
Node.js Applications
 JavaScript runtime environment
 Platform for network applications or web server
 Optimized for performance and resource saving
 Event-driven architecture
 I/O operations are not blocked
 Single threads per operation
 Well suited for real-time applications
 Modular architecture
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 9
Licensing Scenario V
 Scenario
 A service provider develops a web application with node.js (server)
 The application runs on a server operated by the service provider (own data center,
Azure, AWS, ...)
 The service provider sells the web application to their users and generates revenue
 Requirement
 The service provider wants to control the use that their users make of the
application (number of users, functionality, time license, ...)
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 10
Use Cases
Desktop Applications with Electron
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 11
Desktop Applications with Electron
 Runtime for desktop applications with JavaScript / HTML5 / CSS
 Open Source
 Uses node.js and Chromium
 Uniform source code for all target platforms
 No platform-specific languages (C#, Objective-C, ...)
 Source code from existing web application reusable
 Native applications for target platforms
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 12
Licensing Scenario VI
 Scenario
 A software publisher creates a desktop application with Electron
 Requirement
 The software publisher wants to control the use that their users make of the desktop
application (number of users, functionality, time license, ...)
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 13
Use Cases
Python Applications
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 14
Python Applications
 Fast and easy programming
 Cross-platform support
 Large community (documentation, extensions, examples)
 Server and desktop applications
 C-based extensions possible
 Widely used in embedded systems
 Conversion into more executable files possible (Cython)
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 15
Licensing Scenario VII
 Scenario
 A software publisher creates a desktop application with Python
 Requirement
 The software publisher wants to control the use that their users make of the desktop
application (license, functionality, time license, ...)
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 16
Technical Solutions
CodeMeter Overview
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 17
Delivery to the end user
Integration into processes
Integrate once – Deliver again and again …
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 18
Integration into the software
Software Software
CodeMeter
Protection Suite
Integate once Deliver again and again
ERP/CRM
e-commerce
Software
License portal
License
Central
License
Central
CodeMeter Licensing System
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 19
CmDongle
Hardware-based
Security
License Server
License server
in LAN / WAN
CmCloudContainer
User-bound
license in the cloud
CmActLicense
Target bound
license file
Universal
Firm Code
Technical Solutions
CodeMeter Protection Suite
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 20
CodeMeter Protection Suite
CodeMeter Protection Suite
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 21
Automatic license checks
Individual license check
Automatic IP protection
Anti-debug methods
CodeMeter variant used
Encryption of individual functions
Integrity protection
Native Code
CodeMeter Runtime
IxProtector
AxProtector
AxProtector
IP Protection
IxProtector
IP Protection
Java.NET
CodeMeter Runtime CodeMeter RuntimeCodeMeter Embedded
AxProtector .NET AxProtector Java
AxProtector CmE
IxProtector CmE
Windows, macOS,
Linux
Windows, macOS,
Linux, Android
Android, Linux Java SE, Java EE
.NET Framework,
.NET Standard
CodeMeter Protection Suite
 Mainly used for desktop applications
 Requires conversion to application (exe) or library (dll, so)
 Cython, Electron
 Automatic integration of licensing calls
 Automatic protection against reverse engineering
 Automatic protection of the IP
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 22
Technical Solutions
CodeMeter Core API
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 23
CodeMeter Core API
// Allocate license
CmAccess2(…)
// Encrypt using license
CmCyrpt2(…)
// Retrieve license information
CmGetInfo(…)
// Release license
CmRelease(…)
// Error handling
CmGetLastErrorCode(…)
// Create license request
CmGetRemoteContextBuffer(…)
// Import license update
CmExecuteRemoteUpdate(…)
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 24
CodeMeter Core API
 Prerequisite: Calling a C API (.NET-API / Java-API)
 Python, node.js
 Integration of simple queries (CmAccess2)
 Integration of encryption methods: Encrypted Data in Source – EDIS
(CmCrypt2)
 Reading license information
 Requires a local CodeMeter Runtime installation
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 25
Technical Solutions
CodeMeter Cloud Lite API
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 26
CodeMeter Cloud Lite API
// List all available licenses
// and all Product Items
GetContents(…)
// Allocate license
Access(…)
// List all Product Items
// of allocated license
GetContensForHandle(…)
// Send “Keep-Alive” signal
Revalidate(…)
// Release license
Release(…)
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 27
CodeMeter Cloud Lite API
 Available as SOAP and REST API
 JavaScript, Python, and PHP
 Simple license queries
 API based on CodeMeter Core API, but including specificities like
 Lifespan
 “Keep Alive”
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 28
Best Practice Solutions
& Demo
Python and CodeMeter Core API
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 29
Python and CodeMeter Core API
 CodeMeter Core API calls in application
 Wrapper module for C library
 Check return values of CmAccess2 and CmCrypt2
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 30
Python and CodeMeter Core API
import CodeMeter
class License:
def __init__(self, productcode):
self.pc = productcode
def getError(self):
return CodeMeter.CmGetLastErrorCode()
…
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 31
Python and CodeMeter Core API
…
def check(self):
cmacc = CodeMeter.CMACCESS2()
cmacc.mulFirmCode = 6000010
cmacc.mulProductCode = self.pc
cmacc.mflCtrl = CodeMeter.CM_ACCESS_STATIONSHARE
flCtrl = CodeMeter.CM_ACCESS_LOCAL_LAN
hcmse = CodeMeter.CmAccess2(flCtrl, cmacc)
if hcmse == 0:
return False
…
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 32
Python and CodeMeter Core API
…
cmcrypt = CodeMeter.CMCRYPT2()
Data = CodeMeter.c_ubyte*16
data = Data(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
result = CodeMeter.CmCrypt2(hcmse, 0, cmcrypt, data, 16)
CodeMeter.CmRelease(hcmse)
if result != 16:
return False
# TODO: check data in detail
return True
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 33
Best Practice Solutions
& Demo
Python and
CodeMeter Protection Suite
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 34
Python and CodeMeter Protection Suite
 Compilation as extension with Cython
 pyd: Library in the native format of the target system
 Starts with _launcher.py script
 Encryption with CodeMeter Protection Suite
 Choice of extensions (combination encrypted / non-encrypted possible)
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 35
Best Practice Solutions
& Demo
PHP and CodeMeter Cloud Lite
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 36
PHP and CodeMeter Cloud Lite
 CodeMeter Cloud Lite calls in PHP code
 SOAP or REST
 Binding licenses to the user account
 Existing user management
 OAuth2 provider (e.g. Facebook)
 …
 Checking license options (entryinfo) if required
 License doesn’t stay allocated in our sample
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 37
PHP and CodeMeter Cloud Lite
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 38
PHP and CodeMeter Cloud Lite (Source Code)
function checkLicense($user, $productCode)
{
$accessInformation = array(
"firmCode" => 6000010,
"productCode" => $productCode,
"featureCode" => 0,
"shareDevice" => false,
"productItemReference" => 0,
);
$access = CloudLite_Access($user, $accessInformation, 120);
…
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 39
PHP and CodeMeter Cloud Lite (Source Code)
…
if (!$access)
{
return null;
}
…
$handle = $access->return->handle;
if ($handle == 0)
{
return null;
}
…
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 40
PHP and CodeMeter Cloud Lite (Source Code)
…
$entryinfo = CloudLite_GetContentsForHandle($user, $handle);
$release = CloudLite_Release($user, $handle);
return $entryinfo;
}
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 41
Best Practice Solutions
& Demo
Electron and
CodeMeter Protection Suite
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 42
Electron and CodeMeter Protection Suite
 Package (Windows) contains
 Application (without Intellectual Property)
 Folder with *.js files, *.html files, *.css files
 Integration (Windows)
 Encryption of Application with activated FileEncryption
 Encryption of data files
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 43
Electron and CodeMeter Protection Suite (Exe)
[WIBU-SYSTEMS Control File]
Guid={00090000-0000-1100-8005-0000C06B5161}
…
…
-cad0
-cas0
-cav
…
…
-o:"Protectedwebinar.exe"
"Unprotectedwebinar.exe"
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 44
Electron and CodeMeter Protection Suite (Data)
[WIBU-SYSTEMS Control File]
Guid={00090000-0000-1100-8005-0000C06B5161}
…
…
-cdc
…
…
-o:"Protectedresourcesappmain.js"
"Unprotectedresourcesappmain.js"
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 45
Electron and CodeMeter Protection Suite (Encrypted *.js File)
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 46
https://www.wibu.com
info@wibu.com
Europe: +49-721-931720
USA: +1-425-7756900
China: +86-21-55661790
Japan: +81-3-43608205
Many thanks for your attention!
2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 47

More Related Content

What's hot

Companio AG: Cpronto Business Whitepaper
Companio AG: Cpronto Business WhitepaperCompanio AG: Cpronto Business Whitepaper
Companio AG: Cpronto Business Whitepaper
Companio AG
 
Information on Cloud-native Applications
Information on Cloud-native ApplicationsInformation on Cloud-native Applications
Information on Cloud-native Applications
HTS Hosting
 
IBM SmartCloud and ISVs September 2013 (Softlayer)
IBM SmartCloud and ISVs September 2013 (Softlayer)IBM SmartCloud and ISVs September 2013 (Softlayer)
IBM SmartCloud and ISVs September 2013 (Softlayer)Simon Baker
 
Chaos Engineering for PCF
Chaos Engineering for PCFChaos Engineering for PCF
Chaos Engineering for PCF
VMware Tanzu
 
Learn how to Leverage Kubernetes to Support 12 Factor for Enterprise Apps
 Learn how to Leverage Kubernetes to Support 12 Factor for Enterprise Apps Learn how to Leverage Kubernetes to Support 12 Factor for Enterprise Apps
Learn how to Leverage Kubernetes to Support 12 Factor for Enterprise Apps
Michael Elder
 
Think 2019 session 7921 gazprombank and ibs dsk bank - (1)
Think 2019 session 7921   gazprombank and ibs dsk bank - (1)Think 2019 session 7921   gazprombank and ibs dsk bank - (1)
Think 2019 session 7921 gazprombank and ibs dsk bank - (1)
Goran Angelov
 
NRB - LUXEMBOURG MAINFRAME DAY 2017 - z platform - Strategy
NRB - LUXEMBOURG MAINFRAME DAY 2017 - z platform - StrategyNRB - LUXEMBOURG MAINFRAME DAY 2017 - z platform - Strategy
NRB - LUXEMBOURG MAINFRAME DAY 2017 - z platform - Strategy
NRB
 
IBM Cloud Private and IBM Power Systems: Overview and Real-World Scenarios
IBM Cloud Private and IBM Power Systems: Overview and Real-World ScenariosIBM Cloud Private and IBM Power Systems: Overview and Real-World Scenarios
IBM Cloud Private and IBM Power Systems: Overview and Real-World Scenarios
Joe Cropper
 
IBM Worklight Whitepaper
IBM Worklight WhitepaperIBM Worklight Whitepaper
IBM Worklight Whitepaper
IBM Software India
 
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
IBM Connections Developers
 
#8311: Transform the Enterprise with IBM Cloud Private
#8311: Transform the Enterprise with IBM Cloud Private#8311: Transform the Enterprise with IBM Cloud Private
#8311: Transform the Enterprise with IBM Cloud Private
Michael Elder
 
Download It
Download ItDownload It
Download ItVideoguy
 
IBM Worklight
IBM WorklightIBM Worklight
IBM Worklight
Nir Elbaz
 
[Whitepaper] an overview of ibm mobile first platform
[Whitepaper] an overview of ibm mobile first platform[Whitepaper] an overview of ibm mobile first platform
[Whitepaper] an overview of ibm mobile first platform
gule mariam
 
Make Good Apps great - Using IBM MobileFirst Foundation
Make Good Apps great - Using IBM MobileFirst FoundationMake Good Apps great - Using IBM MobileFirst Foundation
Make Good Apps great - Using IBM MobileFirst Foundation
Ajay Chebbi
 
Customer Highleveloverview
Customer HighleveloverviewCustomer Highleveloverview
Customer Highleveloverviewrehanf5
 
IBM Connect AD206 IBM Domino XPages – Embrace, Extend, Integrate
IBM Connect AD206 IBM Domino XPages –  Embrace, Extend, IntegrateIBM Connect AD206 IBM Domino XPages –  Embrace, Extend, Integrate
IBM Connect AD206 IBM Domino XPages – Embrace, Extend, Integrate
Niklas Heidloff
 
Daniel Glueck - How Bosch develops for IBM Connections
Daniel Glueck - How Bosch develops for IBM ConnectionsDaniel Glueck - How Bosch develops for IBM Connections
Daniel Glueck - How Bosch develops for IBM Connections
LetsConnect
 
Ibm certified mobile application developer worklight v6.0
Ibm certified mobile application developer   worklight v6.0Ibm certified mobile application developer   worklight v6.0
Ibm certified mobile application developer worklight v6.0
Nam Le Quoc
 
OOD Principles and Patterns
OOD Principles and PatternsOOD Principles and Patterns
OOD Principles and Patterns
Nguyen Tung
 

What's hot (20)

Companio AG: Cpronto Business Whitepaper
Companio AG: Cpronto Business WhitepaperCompanio AG: Cpronto Business Whitepaper
Companio AG: Cpronto Business Whitepaper
 
Information on Cloud-native Applications
Information on Cloud-native ApplicationsInformation on Cloud-native Applications
Information on Cloud-native Applications
 
IBM SmartCloud and ISVs September 2013 (Softlayer)
IBM SmartCloud and ISVs September 2013 (Softlayer)IBM SmartCloud and ISVs September 2013 (Softlayer)
IBM SmartCloud and ISVs September 2013 (Softlayer)
 
Chaos Engineering for PCF
Chaos Engineering for PCFChaos Engineering for PCF
Chaos Engineering for PCF
 
Learn how to Leverage Kubernetes to Support 12 Factor for Enterprise Apps
 Learn how to Leverage Kubernetes to Support 12 Factor for Enterprise Apps Learn how to Leverage Kubernetes to Support 12 Factor for Enterprise Apps
Learn how to Leverage Kubernetes to Support 12 Factor for Enterprise Apps
 
Think 2019 session 7921 gazprombank and ibs dsk bank - (1)
Think 2019 session 7921   gazprombank and ibs dsk bank - (1)Think 2019 session 7921   gazprombank and ibs dsk bank - (1)
Think 2019 session 7921 gazprombank and ibs dsk bank - (1)
 
NRB - LUXEMBOURG MAINFRAME DAY 2017 - z platform - Strategy
NRB - LUXEMBOURG MAINFRAME DAY 2017 - z platform - StrategyNRB - LUXEMBOURG MAINFRAME DAY 2017 - z platform - Strategy
NRB - LUXEMBOURG MAINFRAME DAY 2017 - z platform - Strategy
 
IBM Cloud Private and IBM Power Systems: Overview and Real-World Scenarios
IBM Cloud Private and IBM Power Systems: Overview and Real-World ScenariosIBM Cloud Private and IBM Power Systems: Overview and Real-World Scenarios
IBM Cloud Private and IBM Power Systems: Overview and Real-World Scenarios
 
IBM Worklight Whitepaper
IBM Worklight WhitepaperIBM Worklight Whitepaper
IBM Worklight Whitepaper
 
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
 
#8311: Transform the Enterprise with IBM Cloud Private
#8311: Transform the Enterprise with IBM Cloud Private#8311: Transform the Enterprise with IBM Cloud Private
#8311: Transform the Enterprise with IBM Cloud Private
 
Download It
Download ItDownload It
Download It
 
IBM Worklight
IBM WorklightIBM Worklight
IBM Worklight
 
[Whitepaper] an overview of ibm mobile first platform
[Whitepaper] an overview of ibm mobile first platform[Whitepaper] an overview of ibm mobile first platform
[Whitepaper] an overview of ibm mobile first platform
 
Make Good Apps great - Using IBM MobileFirst Foundation
Make Good Apps great - Using IBM MobileFirst FoundationMake Good Apps great - Using IBM MobileFirst Foundation
Make Good Apps great - Using IBM MobileFirst Foundation
 
Customer Highleveloverview
Customer HighleveloverviewCustomer Highleveloverview
Customer Highleveloverview
 
IBM Connect AD206 IBM Domino XPages – Embrace, Extend, Integrate
IBM Connect AD206 IBM Domino XPages –  Embrace, Extend, IntegrateIBM Connect AD206 IBM Domino XPages –  Embrace, Extend, Integrate
IBM Connect AD206 IBM Domino XPages – Embrace, Extend, Integrate
 
Daniel Glueck - How Bosch develops for IBM Connections
Daniel Glueck - How Bosch develops for IBM ConnectionsDaniel Glueck - How Bosch develops for IBM Connections
Daniel Glueck - How Bosch develops for IBM Connections
 
Ibm certified mobile application developer worklight v6.0
Ibm certified mobile application developer   worklight v6.0Ibm certified mobile application developer   worklight v6.0
Ibm certified mobile application developer worklight v6.0
 
OOD Principles and Patterns
OOD Principles and PatternsOOD Principles and Patterns
OOD Principles and Patterns
 

Similar to Licensing for cross-platform applications made with Python, PHP, and JavaScript

Innomatic Platform Architecture Overview
Innomatic Platform Architecture OverviewInnomatic Platform Architecture Overview
Innomatic Platform Architecture Overview
Innomatic Platform
 
.NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ...
.NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ....NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ...
.NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ...
VMware Tanzu
 
Software License Models - Spicing up the Mix
Software License Models - Spicing up the MixSoftware License Models - Spicing up the Mix
Software License Models - Spicing up the Mix
team-WIBU
 
Your Migration Map to a Comprehensive Protection and Licensing System
Your Migration Map to a Comprehensive Protection and Licensing SystemYour Migration Map to a Comprehensive Protection and Licensing System
Your Migration Map to a Comprehensive Protection and Licensing System
team-WIBU
 
IBM BlueMix Presentation - Paris Meetup 17th Sept. 2014
IBM BlueMix Presentation - Paris Meetup 17th Sept. 2014IBM BlueMix Presentation - Paris Meetup 17th Sept. 2014
IBM BlueMix Presentation - Paris Meetup 17th Sept. 2014
IBM France Lab
 
Bluemix summary
Bluemix summaryBluemix summary
Bluemix summary
Sam Garforth
 
Revolutionize the API Economy with IBM WebSphere Connect
Revolutionize the API Economy with IBM WebSphere ConnectRevolutionize the API Economy with IBM WebSphere Connect
Revolutionize the API Economy with IBM WebSphere Connect
Arthur De Magalhaes
 
IBM APM for Hybrid Applications
IBM APM for Hybrid ApplicationsIBM APM for Hybrid Applications
IBM APM for Hybrid Applications
Matthew Cheah
 
App V
App VApp V
App V
rsquaredg
 
Ivanti Momentum | What's New in User Workspace Manager 2020.2
Ivanti Momentum | What's New in User Workspace Manager 2020.2Ivanti Momentum | What's New in User Workspace Manager 2020.2
Ivanti Momentum | What's New in User Workspace Manager 2020.2
Ivanti
 
The fastest way to protect your know-how
The fastest way to protect your know-howThe fastest way to protect your know-how
The fastest way to protect your know-how
team-WIBU
 
Cloudmov: Cloud-Based Mobile Social TV
Cloudmov: Cloud-Based Mobile Social TVCloudmov: Cloud-Based Mobile Social TV
Cloudmov: Cloud-Based Mobile Social TV
IRJET Journal
 
IBM Z for the Digital Enterprise 2018 - Offering API channel to application a...
IBM Z for the Digital Enterprise 2018 - Offering API channel to application a...IBM Z for the Digital Enterprise 2018 - Offering API channel to application a...
IBM Z for the Digital Enterprise 2018 - Offering API channel to application a...
DevOps for Enterprise Systems
 
Cloud-Based Licensing in Offline Scenarios
Cloud-Based Licensing in Offline ScenariosCloud-Based Licensing in Offline Scenarios
Cloud-Based Licensing in Offline Scenarios
team-WIBU
 
Paris Meetup Bluemix du 15/10/2104
Paris Meetup Bluemix du 15/10/2104Paris Meetup Bluemix du 15/10/2104
Paris Meetup Bluemix du 15/10/2104
IBM France Lab
 
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conferenceIBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
matthew1001
 
WebSphere sMash June Product Review
WebSphere sMash June Product ReviewWebSphere sMash June Product Review
WebSphere sMash June Product Review
Project Zero
 
Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!
Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!
Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!
JessiRyan1
 
Developing for Hybrid Cloud with Bluemix
Developing for Hybrid Cloud with BluemixDeveloping for Hybrid Cloud with Bluemix
Developing for Hybrid Cloud with Bluemix
Roberto Pozzi
 
Monetizing Software, Machines, and Materials with New Business Models
Monetizing Software, Machines, and Materials with New Business ModelsMonetizing Software, Machines, and Materials with New Business Models
Monetizing Software, Machines, and Materials with New Business Models
team-WIBU
 

Similar to Licensing for cross-platform applications made with Python, PHP, and JavaScript (20)

Innomatic Platform Architecture Overview
Innomatic Platform Architecture OverviewInnomatic Platform Architecture Overview
Innomatic Platform Architecture Overview
 
.NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ...
.NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ....NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ...
.NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ...
 
Software License Models - Spicing up the Mix
Software License Models - Spicing up the MixSoftware License Models - Spicing up the Mix
Software License Models - Spicing up the Mix
 
Your Migration Map to a Comprehensive Protection and Licensing System
Your Migration Map to a Comprehensive Protection and Licensing SystemYour Migration Map to a Comprehensive Protection and Licensing System
Your Migration Map to a Comprehensive Protection and Licensing System
 
IBM BlueMix Presentation - Paris Meetup 17th Sept. 2014
IBM BlueMix Presentation - Paris Meetup 17th Sept. 2014IBM BlueMix Presentation - Paris Meetup 17th Sept. 2014
IBM BlueMix Presentation - Paris Meetup 17th Sept. 2014
 
Bluemix summary
Bluemix summaryBluemix summary
Bluemix summary
 
Revolutionize the API Economy with IBM WebSphere Connect
Revolutionize the API Economy with IBM WebSphere ConnectRevolutionize the API Economy with IBM WebSphere Connect
Revolutionize the API Economy with IBM WebSphere Connect
 
IBM APM for Hybrid Applications
IBM APM for Hybrid ApplicationsIBM APM for Hybrid Applications
IBM APM for Hybrid Applications
 
App V
App VApp V
App V
 
Ivanti Momentum | What's New in User Workspace Manager 2020.2
Ivanti Momentum | What's New in User Workspace Manager 2020.2Ivanti Momentum | What's New in User Workspace Manager 2020.2
Ivanti Momentum | What's New in User Workspace Manager 2020.2
 
The fastest way to protect your know-how
The fastest way to protect your know-howThe fastest way to protect your know-how
The fastest way to protect your know-how
 
Cloudmov: Cloud-Based Mobile Social TV
Cloudmov: Cloud-Based Mobile Social TVCloudmov: Cloud-Based Mobile Social TV
Cloudmov: Cloud-Based Mobile Social TV
 
IBM Z for the Digital Enterprise 2018 - Offering API channel to application a...
IBM Z for the Digital Enterprise 2018 - Offering API channel to application a...IBM Z for the Digital Enterprise 2018 - Offering API channel to application a...
IBM Z for the Digital Enterprise 2018 - Offering API channel to application a...
 
Cloud-Based Licensing in Offline Scenarios
Cloud-Based Licensing in Offline ScenariosCloud-Based Licensing in Offline Scenarios
Cloud-Based Licensing in Offline Scenarios
 
Paris Meetup Bluemix du 15/10/2104
Paris Meetup Bluemix du 15/10/2104Paris Meetup Bluemix du 15/10/2104
Paris Meetup Bluemix du 15/10/2104
 
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conferenceIBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
IBM MQ Light @ Capitalware's MQTC 2.0.1.4 conference
 
WebSphere sMash June Product Review
WebSphere sMash June Product ReviewWebSphere sMash June Product Review
WebSphere sMash June Product Review
 
Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!
Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!
Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!
 
Developing for Hybrid Cloud with Bluemix
Developing for Hybrid Cloud with BluemixDeveloping for Hybrid Cloud with Bluemix
Developing for Hybrid Cloud with Bluemix
 
Monetizing Software, Machines, and Materials with New Business Models
Monetizing Software, Machines, and Materials with New Business ModelsMonetizing Software, Machines, and Materials with New Business Models
Monetizing Software, Machines, and Materials with New Business Models
 

More from team-WIBU

Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
team-WIBU
 
Unlocking the Future: Empowering Industrial Security
Unlocking the Future: Empowering Industrial SecurityUnlocking the Future: Empowering Industrial Security
Unlocking the Future: Empowering Industrial Security
team-WIBU
 
The Power of Partnership: Enabling Success Together
The Power of Partnership: Enabling Success TogetherThe Power of Partnership: Enabling Success Together
The Power of Partnership: Enabling Success Together
team-WIBU
 
Unleash the Power of CodeMeter - CodeMeter Basics
Unleash the Power of CodeMeter - CodeMeter BasicsUnleash the Power of CodeMeter - CodeMeter Basics
Unleash the Power of CodeMeter - CodeMeter Basics
team-WIBU
 
Keine Zeit für Leerlauf – Lizenzverfügbarkeit für Geschäftskontinuität
Keine Zeit für Leerlauf – Lizenzverfügbarkeit für GeschäftskontinuitätKeine Zeit für Leerlauf – Lizenzverfügbarkeit für Geschäftskontinuität
Keine Zeit für Leerlauf – Lizenzverfügbarkeit für Geschäftskontinuität
team-WIBU
 
No Time to Idle – License availability for business continuity
No Time to Idle – License availability for business continuityNo Time to Idle – License availability for business continuity
No Time to Idle – License availability for business continuity
team-WIBU
 
Optimizing Cloud Licensing: Strategies and Best Practices
Optimizing Cloud Licensing: Strategies and Best PracticesOptimizing Cloud Licensing: Strategies and Best Practices
Optimizing Cloud Licensing: Strategies and Best Practices
team-WIBU
 
For a Few Licenses More
For a Few Licenses MoreFor a Few Licenses More
For a Few Licenses More
team-WIBU
 
App Management on the Edge
App Management on the EdgeApp Management on the Edge
App Management on the Edge
team-WIBU
 
Protecting and Licensing .NET Applications
Protecting and Licensing .NET ApplicationsProtecting and Licensing .NET Applications
Protecting and Licensing .NET Applications
team-WIBU
 
A Bit of License Management Magic
A Bit of License Management MagicA Bit of License Management Magic
A Bit of License Management Magic
team-WIBU
 
The first step is always the most decisive
The first step is always the most decisiveThe first step is always the most decisive
The first step is always the most decisive
team-WIBU
 
Protection and monetization of 3D printed objects in the spare parts business...
Protection and monetization of 3D printed objects in the spare parts business...Protection and monetization of 3D printed objects in the spare parts business...
Protection and monetization of 3D printed objects in the spare parts business...
team-WIBU
 
Authenticate and authorize your IIoTdevices
Authenticate and authorize your IIoTdevicesAuthenticate and authorize your IIoTdevices
Authenticate and authorize your IIoTdevices
team-WIBU
 
How and Why to Create and Sell Consumption-Based Licenses
How and Why to Create and Sell Consumption-Based LicensesHow and Why to Create and Sell Consumption-Based Licenses
How and Why to Create and Sell Consumption-Based Licenses
team-WIBU
 
Serving Up Features-on-Demand for Every Appetite
Serving Up Features-on-Demand for Every AppetiteServing Up Features-on-Demand for Every Appetite
Serving Up Features-on-Demand for Every Appetite
team-WIBU
 
Security and Protection for Machine Learning.pptx
Security and Protection for Machine Learning.pptxSecurity and Protection for Machine Learning.pptx
Security and Protection for Machine Learning.pptx
team-WIBU
 
License Portal - The DIY Solution
License Portal - The DIY SolutionLicense Portal - The DIY Solution
License Portal - The DIY Solution
team-WIBU
 
Running code in secure hardware or cloud environments
Running code in secure hardware or cloud environmentsRunning code in secure hardware or cloud environments
Running code in secure hardware or cloud environments
team-WIBU
 
Subscriptions - Relationships built to last
Subscriptions - Relationships built to lastSubscriptions - Relationships built to last
Subscriptions - Relationships built to last
team-WIBU
 

More from team-WIBU (20)

Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Unlocking the Future: Empowering Industrial Security
Unlocking the Future: Empowering Industrial SecurityUnlocking the Future: Empowering Industrial Security
Unlocking the Future: Empowering Industrial Security
 
The Power of Partnership: Enabling Success Together
The Power of Partnership: Enabling Success TogetherThe Power of Partnership: Enabling Success Together
The Power of Partnership: Enabling Success Together
 
Unleash the Power of CodeMeter - CodeMeter Basics
Unleash the Power of CodeMeter - CodeMeter BasicsUnleash the Power of CodeMeter - CodeMeter Basics
Unleash the Power of CodeMeter - CodeMeter Basics
 
Keine Zeit für Leerlauf – Lizenzverfügbarkeit für Geschäftskontinuität
Keine Zeit für Leerlauf – Lizenzverfügbarkeit für GeschäftskontinuitätKeine Zeit für Leerlauf – Lizenzverfügbarkeit für Geschäftskontinuität
Keine Zeit für Leerlauf – Lizenzverfügbarkeit für Geschäftskontinuität
 
No Time to Idle – License availability for business continuity
No Time to Idle – License availability for business continuityNo Time to Idle – License availability for business continuity
No Time to Idle – License availability for business continuity
 
Optimizing Cloud Licensing: Strategies and Best Practices
Optimizing Cloud Licensing: Strategies and Best PracticesOptimizing Cloud Licensing: Strategies and Best Practices
Optimizing Cloud Licensing: Strategies and Best Practices
 
For a Few Licenses More
For a Few Licenses MoreFor a Few Licenses More
For a Few Licenses More
 
App Management on the Edge
App Management on the EdgeApp Management on the Edge
App Management on the Edge
 
Protecting and Licensing .NET Applications
Protecting and Licensing .NET ApplicationsProtecting and Licensing .NET Applications
Protecting and Licensing .NET Applications
 
A Bit of License Management Magic
A Bit of License Management MagicA Bit of License Management Magic
A Bit of License Management Magic
 
The first step is always the most decisive
The first step is always the most decisiveThe first step is always the most decisive
The first step is always the most decisive
 
Protection and monetization of 3D printed objects in the spare parts business...
Protection and monetization of 3D printed objects in the spare parts business...Protection and monetization of 3D printed objects in the spare parts business...
Protection and monetization of 3D printed objects in the spare parts business...
 
Authenticate and authorize your IIoTdevices
Authenticate and authorize your IIoTdevicesAuthenticate and authorize your IIoTdevices
Authenticate and authorize your IIoTdevices
 
How and Why to Create and Sell Consumption-Based Licenses
How and Why to Create and Sell Consumption-Based LicensesHow and Why to Create and Sell Consumption-Based Licenses
How and Why to Create and Sell Consumption-Based Licenses
 
Serving Up Features-on-Demand for Every Appetite
Serving Up Features-on-Demand for Every AppetiteServing Up Features-on-Demand for Every Appetite
Serving Up Features-on-Demand for Every Appetite
 
Security and Protection for Machine Learning.pptx
Security and Protection for Machine Learning.pptxSecurity and Protection for Machine Learning.pptx
Security and Protection for Machine Learning.pptx
 
License Portal - The DIY Solution
License Portal - The DIY SolutionLicense Portal - The DIY Solution
License Portal - The DIY Solution
 
Running code in secure hardware or cloud environments
Running code in secure hardware or cloud environmentsRunning code in secure hardware or cloud environments
Running code in secure hardware or cloud environments
 
Subscriptions - Relationships built to last
Subscriptions - Relationships built to lastSubscriptions - Relationships built to last
Subscriptions - Relationships built to last
 

Recently uploaded

Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 

Recently uploaded (20)

Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 

Licensing for cross-platform applications made with Python, PHP, and JavaScript

  • 1. Licensing platform independent applications with Python, PHP, and JavaScript Ruediger Kuegler, VP Sales & Professional Services ruediger.kuegler@wibu.com Joerg Jans, Professional Services joerg.jans@wibu.com Python, PHP & JavaScript 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 1
  • 2. Use Cases Web Applications with HTML 5, CSS3, and JavaScript 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 2
  • 3. Web Applications with HTML 5, CSS3, and JavaScript  Mobile applications for all types of devices (PCs, mobile devices, tablets)  Current application always available, no outdated local version on the user's PC  No updates necessary for the user  No administrator rights necessary for the user, only browser required  Development tools are getting better and better 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 3
  • 4. Licensing Scenario I  Scenario  A software publisher develops a product in the form of a web application  The software publisher sells this complete package (server and clients) to one or more service providers  Each service provider resells the web application to their users and generates revenue  Requirement  The software publisher wants to check that the service providers use the web application within the agreed license terms (number of servers, number of users, functionality, time license, ...) 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 4
  • 5. Licensing Scenario II  Scenario  A service provider develops a web application  The application runs on a server operated by the service provider (own data center, Azure, AWS, ...)  The service provider sells the web application to their users and generates revenue  Requirement  The service provider wants to control the use that their users make of the web application (number of users, functionality, time license, ...) 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 5
  • 6. Licensing Scenario III  Scenario  A software publisher develops a product in the form of a web application  This web application is delivered to the users and runs locally on their system, for example:  As a local desktop application  On a delivered controller / embedded device  Requirement  The software publisher wants to control the use that the users make of the application  Ability to enable additional functions for the users 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 6
  • 7. Licensing Scenario IV  Scenario  A software publisher is already selling a desktop application  In the future, some functionality will also be offered via a mobile application (i.g. at a construction site)  Such functionality requires a server application. This is offered as a service by the software publisher, but can also be operated by the users themselves  Requirement  The software publisher wants to control the use that their users make of the web application (number of servers, number of users, functionality, time license, ...) 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 7
  • 8. Use Cases Node.js Applications 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 8
  • 9. Node.js Applications  JavaScript runtime environment  Platform for network applications or web server  Optimized for performance and resource saving  Event-driven architecture  I/O operations are not blocked  Single threads per operation  Well suited for real-time applications  Modular architecture 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 9
  • 10. Licensing Scenario V  Scenario  A service provider develops a web application with node.js (server)  The application runs on a server operated by the service provider (own data center, Azure, AWS, ...)  The service provider sells the web application to their users and generates revenue  Requirement  The service provider wants to control the use that their users make of the application (number of users, functionality, time license, ...) 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 10
  • 11. Use Cases Desktop Applications with Electron 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 11
  • 12. Desktop Applications with Electron  Runtime for desktop applications with JavaScript / HTML5 / CSS  Open Source  Uses node.js and Chromium  Uniform source code for all target platforms  No platform-specific languages (C#, Objective-C, ...)  Source code from existing web application reusable  Native applications for target platforms 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 12
  • 13. Licensing Scenario VI  Scenario  A software publisher creates a desktop application with Electron  Requirement  The software publisher wants to control the use that their users make of the desktop application (number of users, functionality, time license, ...) 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 13
  • 14. Use Cases Python Applications 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 14
  • 15. Python Applications  Fast and easy programming  Cross-platform support  Large community (documentation, extensions, examples)  Server and desktop applications  C-based extensions possible  Widely used in embedded systems  Conversion into more executable files possible (Cython) 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 15
  • 16. Licensing Scenario VII  Scenario  A software publisher creates a desktop application with Python  Requirement  The software publisher wants to control the use that their users make of the desktop application (license, functionality, time license, ...) 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 16
  • 17. Technical Solutions CodeMeter Overview 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 17
  • 18. Delivery to the end user Integration into processes Integrate once – Deliver again and again … 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 18 Integration into the software Software Software CodeMeter Protection Suite Integate once Deliver again and again ERP/CRM e-commerce Software License portal License Central License Central
  • 19. CodeMeter Licensing System 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 19 CmDongle Hardware-based Security License Server License server in LAN / WAN CmCloudContainer User-bound license in the cloud CmActLicense Target bound license file Universal Firm Code
  • 20. Technical Solutions CodeMeter Protection Suite 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 20
  • 21. CodeMeter Protection Suite CodeMeter Protection Suite 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 21 Automatic license checks Individual license check Automatic IP protection Anti-debug methods CodeMeter variant used Encryption of individual functions Integrity protection Native Code CodeMeter Runtime IxProtector AxProtector AxProtector IP Protection IxProtector IP Protection Java.NET CodeMeter Runtime CodeMeter RuntimeCodeMeter Embedded AxProtector .NET AxProtector Java AxProtector CmE IxProtector CmE Windows, macOS, Linux Windows, macOS, Linux, Android Android, Linux Java SE, Java EE .NET Framework, .NET Standard
  • 22. CodeMeter Protection Suite  Mainly used for desktop applications  Requires conversion to application (exe) or library (dll, so)  Cython, Electron  Automatic integration of licensing calls  Automatic protection against reverse engineering  Automatic protection of the IP 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 22
  • 23. Technical Solutions CodeMeter Core API 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 23
  • 24. CodeMeter Core API // Allocate license CmAccess2(…) // Encrypt using license CmCyrpt2(…) // Retrieve license information CmGetInfo(…) // Release license CmRelease(…) // Error handling CmGetLastErrorCode(…) // Create license request CmGetRemoteContextBuffer(…) // Import license update CmExecuteRemoteUpdate(…) 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 24
  • 25. CodeMeter Core API  Prerequisite: Calling a C API (.NET-API / Java-API)  Python, node.js  Integration of simple queries (CmAccess2)  Integration of encryption methods: Encrypted Data in Source – EDIS (CmCrypt2)  Reading license information  Requires a local CodeMeter Runtime installation 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 25
  • 26. Technical Solutions CodeMeter Cloud Lite API 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 26
  • 27. CodeMeter Cloud Lite API // List all available licenses // and all Product Items GetContents(…) // Allocate license Access(…) // List all Product Items // of allocated license GetContensForHandle(…) // Send “Keep-Alive” signal Revalidate(…) // Release license Release(…) 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 27
  • 28. CodeMeter Cloud Lite API  Available as SOAP and REST API  JavaScript, Python, and PHP  Simple license queries  API based on CodeMeter Core API, but including specificities like  Lifespan  “Keep Alive” 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 28
  • 29. Best Practice Solutions & Demo Python and CodeMeter Core API 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 29
  • 30. Python and CodeMeter Core API  CodeMeter Core API calls in application  Wrapper module for C library  Check return values of CmAccess2 and CmCrypt2 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 30
  • 31. Python and CodeMeter Core API import CodeMeter class License: def __init__(self, productcode): self.pc = productcode def getError(self): return CodeMeter.CmGetLastErrorCode() … 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 31
  • 32. Python and CodeMeter Core API … def check(self): cmacc = CodeMeter.CMACCESS2() cmacc.mulFirmCode = 6000010 cmacc.mulProductCode = self.pc cmacc.mflCtrl = CodeMeter.CM_ACCESS_STATIONSHARE flCtrl = CodeMeter.CM_ACCESS_LOCAL_LAN hcmse = CodeMeter.CmAccess2(flCtrl, cmacc) if hcmse == 0: return False … 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 32
  • 33. Python and CodeMeter Core API … cmcrypt = CodeMeter.CMCRYPT2() Data = CodeMeter.c_ubyte*16 data = Data(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) result = CodeMeter.CmCrypt2(hcmse, 0, cmcrypt, data, 16) CodeMeter.CmRelease(hcmse) if result != 16: return False # TODO: check data in detail return True 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 33
  • 34. Best Practice Solutions & Demo Python and CodeMeter Protection Suite 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 34
  • 35. Python and CodeMeter Protection Suite  Compilation as extension with Cython  pyd: Library in the native format of the target system  Starts with _launcher.py script  Encryption with CodeMeter Protection Suite  Choice of extensions (combination encrypted / non-encrypted possible) 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 35
  • 36. Best Practice Solutions & Demo PHP and CodeMeter Cloud Lite 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 36
  • 37. PHP and CodeMeter Cloud Lite  CodeMeter Cloud Lite calls in PHP code  SOAP or REST  Binding licenses to the user account  Existing user management  OAuth2 provider (e.g. Facebook)  …  Checking license options (entryinfo) if required  License doesn’t stay allocated in our sample 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 37
  • 38. PHP and CodeMeter Cloud Lite 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 38
  • 39. PHP and CodeMeter Cloud Lite (Source Code) function checkLicense($user, $productCode) { $accessInformation = array( "firmCode" => 6000010, "productCode" => $productCode, "featureCode" => 0, "shareDevice" => false, "productItemReference" => 0, ); $access = CloudLite_Access($user, $accessInformation, 120); … 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 39
  • 40. PHP and CodeMeter Cloud Lite (Source Code) … if (!$access) { return null; } … $handle = $access->return->handle; if ($handle == 0) { return null; } … 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 40
  • 41. PHP and CodeMeter Cloud Lite (Source Code) … $entryinfo = CloudLite_GetContentsForHandle($user, $handle); $release = CloudLite_Release($user, $handle); return $entryinfo; } 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 41
  • 42. Best Practice Solutions & Demo Electron and CodeMeter Protection Suite 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 42
  • 43. Electron and CodeMeter Protection Suite  Package (Windows) contains  Application (without Intellectual Property)  Folder with *.js files, *.html files, *.css files  Integration (Windows)  Encryption of Application with activated FileEncryption  Encryption of data files 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 43
  • 44. Electron and CodeMeter Protection Suite (Exe) [WIBU-SYSTEMS Control File] Guid={00090000-0000-1100-8005-0000C06B5161} … … -cad0 -cas0 -cav … … -o:"Protectedwebinar.exe" "Unprotectedwebinar.exe" 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 44
  • 45. Electron and CodeMeter Protection Suite (Data) [WIBU-SYSTEMS Control File] Guid={00090000-0000-1100-8005-0000C06B5161} … … -cdc … … -o:"Protectedresourcesappmain.js" "Unprotectedresourcesappmain.js" 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 45
  • 46. Electron and CodeMeter Protection Suite (Encrypted *.js File) 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 46
  • 47. https://www.wibu.com info@wibu.com Europe: +49-721-931720 USA: +1-425-7756900 China: +86-21-55661790 Japan: +81-3-43608205 Many thanks for your attention! 2019-06-27 © WIBU-SYSTEMS AG 2019 - Licensing for cross-platform applications with Python, PHP, and Javascript 47