SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Companio AG: Cpronto Business Whitepaper
Companio AG: Cpronto Business WhitepaperCompanio AG: Cpronto Business Whitepaper
Companio AG: Cpronto Business WhitepaperCompanio AG
 
Information on Cloud-native Applications
Information on Cloud-native ApplicationsInformation on Cloud-native Applications
Information on Cloud-native ApplicationsHTS 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 PCFVMware 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 AppsMichael 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 - StrategyNRB
 
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 ScenariosJoe Cropper
 
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 PrivateMichael Elder
 
Download It
Download ItDownload It
Download ItVideoguy
 
IBM Worklight
IBM WorklightIBM Worklight
IBM WorklightNir 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 platformgule 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 FoundationAjay 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, IntegrateNiklas 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 ConnectionsLetsConnect
 
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.0Nam Le Quoc
 
OOD Principles and Patterns
OOD Principles and PatternsOOD Principles and Patterns
OOD Principles and PatternsNguyen Tung
 

Was ist angesagt? (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
 

Ähnlich wie 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 OverviewInnomatic 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 Mixteam-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 Systemteam-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. 2014IBM France Lab
 
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 ConnectArthur De Magalhaes
 
IBM APM for Hybrid Applications
IBM APM for Hybrid ApplicationsIBM APM for Hybrid Applications
IBM APM for Hybrid ApplicationsMatthew Cheah
 
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.2Ivanti
 
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-howteam-WIBU
 
Cloudmov: Cloud-Based Mobile Social TV
Cloudmov: Cloud-Based Mobile Social TVCloudmov: Cloud-Based Mobile Social TV
Cloudmov: Cloud-Based Mobile Social TVIRJET 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 Scenariosteam-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/2104IBM 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 conferencematthew1001
 
WebSphere sMash June Product Review
WebSphere sMash June Product ReviewWebSphere sMash June Product Review
WebSphere sMash June Product ReviewProject 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 BluemixRoberto 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 Modelsteam-WIBU
 

Ähnlich wie 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
 

Mehr von 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 Identityteam-WIBU
 
Unlocking the Future: Empowering Industrial Security
Unlocking the Future: Empowering Industrial SecurityUnlocking the Future: Empowering Industrial Security
Unlocking the Future: Empowering Industrial Securityteam-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 Togetherteam-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 Basicsteam-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ätteam-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 continuityteam-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 Practicesteam-WIBU
 
For a Few Licenses More
For a Few Licenses MoreFor a Few Licenses More
For a Few Licenses Moreteam-WIBU
 
App Management on the Edge
App Management on the EdgeApp Management on the Edge
App Management on the Edgeteam-WIBU
 
Protecting and Licensing .NET Applications
Protecting and Licensing .NET ApplicationsProtecting and Licensing .NET Applications
Protecting and Licensing .NET Applicationsteam-WIBU
 
A Bit of License Management Magic
A Bit of License Management MagicA Bit of License Management Magic
A Bit of License Management Magicteam-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 decisiveteam-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 IIoTdevicesteam-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 Licensesteam-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 Appetiteteam-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.pptxteam-WIBU
 
License Portal - The DIY Solution
License Portal - The DIY SolutionLicense Portal - The DIY Solution
License Portal - The DIY Solutionteam-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 environmentsteam-WIBU
 
Subscriptions - Relationships built to last
Subscriptions - Relationships built to lastSubscriptions - Relationships built to last
Subscriptions - Relationships built to lastteam-WIBU
 

Mehr von 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
 

Kürzlich hochgeladen

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 

Kürzlich hochgeladen (20)

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 

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