SlideShare a Scribd company logo
1 of 19
May 19-20 l Washington, DC l Omni Shoreham




Extending Plesk Functionality to
Control External Web Services
A SoftLayer API Case Study




Nathan Day
CTO, SoftLayer Technologies, Inc.
Introduction


How to extend the functionality of Plesk for Linux
to talk to an external web service—the SoftLayer API.
1.Plesk Modules Overview

2.SoftLayer API Overview

3.Example: SoftLayer Demo Module

4.Questions




  2   Softlayer—Extending Plesk Functionality to Control External Web Services
Introduction


A global, on-demand data center
and hosting service provider
The SoftLayer difference:
      – Automated Services and Solutions
      – Industry-leading Customer Portal and Open API
      – Industry’s First Secure Network-within-a-Network Topology
      – On-demand Scalability
      – Integrated Geographical Diversity

      www.SoftLayer.com
  3     Softlayer—Extending Plesk Functionality to Control External Web Services
Introduction


                                                &

Long-standing partnership across multiple Parallels
product lines
      – Gold Partner
      – Member of Service Provider Alliance Program
      – Sponsor of Parallels Summit




  4    Softlayer—Extending Plesk Functionality to Control External Web Services
Plesk Modules Overview


“The main advantage of Plesk is the opportunity to manage a wide
range of functionality from a single control panel. In this sense,
integrating additional applications and services with Plesk via the
mechanism of modules gains benefit as follows:
      –   PCP (Plesk Control Panel) provides means for installing/uninstalling modules easily
      –   Modules integrate with Plesk Language system
      –   Modules integrate with Plesk Help system
      –   Modules use skins provided by Plesk
      –   Plesk provides Modules API specially designed to create Plesk-specific modules
      –   Modules are registered in Plesk, which prevents from casual deletion of 'module’
          applications”
                                                      Plesk 8.3 Modules Development Guide




  5       Softlayer—Extending Plesk Functionality to Control External Web Services
Plesk Modules Overview




 Plesk Modules
 – Consist of Front-end, Back-end,
      Resource Files, Install scripts,
      Third-party code
 – Controlled by a GUI Using Module
   Manager




  6     Softlayer—Extending Plesk Functionality to Control External Web Services
SoftLayer API Web Service

     – Used for infrastructure management
        ▪ Control Servers or Services (DNS, iSCSI, CDN, etc.)

     – SOAP or XML-RPC
     – Same functionality available as SoftLayer customer portal
     – Details available at SoftLayer Developer Network
       http://www.softlayer.com/devnet.html




 7     Softlayer—Extending Plesk Functionality to Control External Web Services
SoftLayer Plesk Module Example


     – Server Details
     – Bandwidth Graph from Switch Data
     – Server Power and Reboot Management
     – Accounting
       ▪ Previous Invoices
       ▪ Current Balance

     – Support Ticket
       ▪ New
       ▪ Previous




 8     Softlayer—Extending Plesk Functionality to Control External Web Services
How we did it


     – Written in PHP
     – Built a class extending PHP SOAP Client
     – Uses built in Plesk templating
     – References built-in Plesk Module API
     – Uses built-in Plesk Global Constants
     – Created a template file per tab
     – Created a controller file per tab
     – Stores data in Plesk backend database




 9     Softlayer—Extending Plesk Functionality to Control External Web Services
File listing




 10   Softlayer—Extending Plesk Functionality to Control External Web Services
Code to access SoftLayer API
$client = new SoftLayer_API_SoapClient('SoftLayer_Hardware_Server');
$objectMask = new SoftLayer_API_ObjectMask();

// General
$objectMask->datacenter;
$objectMask->serverRoom;
$objectMask->provisionDate;
$objectMask->lastOperatingSystemReload;

// Hardware Components
$objectMask->components->hardwareComponentModel->hardwareGenericComponentModel->hardwareComponentType;
$objectMask->hardwareChassis;

//software components
$objectMask->softwareComponents->softwareLicense->softwareDescription->drivers;

//network component
$objectMask->primaryBackendIpAddress;
$objectMask->primaryIpAddress;
$objectMask->frontendNetworkComponents->uplinkComponent->networkVlan;
$objectMask->frontendNetworkComponents->primarySubnet;
$objectMask->frontendNetworkComponents->uplinkComponent->hardware;
$objectMask->backendNetworkComponents->uplinkComponent->networkVlan;
$objectMask->backendNetworkComponents->primarySubnet;
$objectMask->backendNetworkComponents->uplinkComponent->hardware;
$objectMask->bandwidthAllocation;

// Billing cycle for bandwidth calculation
$objectMask->account->billingInfo;

$client->setObjectMask($objectMask);
$server = $client->findByIpAddress($_SERVER['SERVER_ADDR']);




     11      Softlayer—Extending Plesk Functionality to Control External Web Services
Module Page




 12   Softlayer—Extending Plesk Functionality to Control External Web Services
General Tab




 13   Softlayer—Extending Plesk Functionality to Control External Web Services
General Tab (continued)




 14   Softlayer—Extending Plesk Functionality to Control External Web Services
Account Tab




 15   Softlayer—Extending Plesk Functionality to Control External Web Services
Tickets Tab




 16   Softlayer—Extending Plesk Functionality to Control External Web Services
Settings Tab




 17   Softlayer—Extending Plesk Functionality to Control External Web Services
Conclusion




Plesk functionality can be extended
beyond the server using the modules subsystem
      – Next Steps for SoftLayer
       ▪ Publish SoftLayer Demo
       ▪ Encourage/Develop Integration Projects




 18     Softlayer—Extending Plesk Functionality to Control External Web Services
References




      – Plesk 8.3 Unix Modules Guide
      – Plesk 8.3 Unix Modules Reference
      – SoftLayer API User’s Guide Wiki, http://sldn.softlayer.com/wiki
      – Kevin Laude, SoftLayer API Evangelist, klaude@softlayer.com




 19     Softlayer—Extending Plesk Functionality to Control External Web Services

More Related Content

What's hot

The New oVirt Extension API: Taking AAA (Authentication Authorization Account...
The New oVirt Extension API: Taking AAA (Authentication Authorization Account...The New oVirt Extension API: Taking AAA (Authentication Authorization Account...
The New oVirt Extension API: Taking AAA (Authentication Authorization Account...Martin Peřina
 
oVirt Extension API: The first step for fully modular oVirt
oVirt Extension API: The first step for fully modular oVirtoVirt Extension API: The first step for fully modular oVirt
oVirt Extension API: The first step for fully modular oVirtMartin Peřina
 
LiveCycle Data Services for ColdFusion Developers
LiveCycle Data Services for ColdFusion DevelopersLiveCycle Data Services for ColdFusion Developers
LiveCycle Data Services for ColdFusion DevelopersSteven Erat
 
Planning WSO2 Deployments on DC/OS
Planning WSO2 Deployments on DC/OSPlanning WSO2 Deployments on DC/OS
Planning WSO2 Deployments on DC/OSImesh Gunaratne
 
Nuxeo ECM - Architecture Overview - May 2008
Nuxeo ECM - Architecture Overview - May 2008Nuxeo ECM - Architecture Overview - May 2008
Nuxeo ECM - Architecture Overview - May 2008Stefane Fermigier
 
Simon Jia - The Kohana Framework
Simon Jia - The Kohana FrameworkSimon Jia - The Kohana Framework
Simon Jia - The Kohana FrameworkCaroline_Rose
 
SIPfoundry CoLab 2013 - sipXecs Cloud Architecture (UCCS)
SIPfoundry CoLab 2013 - sipXecs Cloud Architecture (UCCS)SIPfoundry CoLab 2013 - sipXecs Cloud Architecture (UCCS)
SIPfoundry CoLab 2013 - sipXecs Cloud Architecture (UCCS)SIPfoundry
 
Building+restful+webservice
Building+restful+webserviceBuilding+restful+webservice
Building+restful+webservicelonegunman
 
Liberty Scalability and Elasticity Locally and in the IBM Cloud
Liberty Scalability and Elasticity Locally and in the IBM CloudLiberty Scalability and Elasticity Locally and in the IBM Cloud
Liberty Scalability and Elasticity Locally and in the IBM CloudBrian S. Paskin
 

What's hot (14)

Cocoon Blocks CocoonGT2006
Cocoon Blocks CocoonGT2006Cocoon Blocks CocoonGT2006
Cocoon Blocks CocoonGT2006
 
The New oVirt Extension API: Taking AAA (Authentication Authorization Account...
The New oVirt Extension API: Taking AAA (Authentication Authorization Account...The New oVirt Extension API: Taking AAA (Authentication Authorization Account...
The New oVirt Extension API: Taking AAA (Authentication Authorization Account...
 
oVirt Extension API: The first step for fully modular oVirt
oVirt Extension API: The first step for fully modular oVirtoVirt Extension API: The first step for fully modular oVirt
oVirt Extension API: The first step for fully modular oVirt
 
LiveCycle Data Services for ColdFusion Developers
LiveCycle Data Services for ColdFusion DevelopersLiveCycle Data Services for ColdFusion Developers
LiveCycle Data Services for ColdFusion Developers
 
Planning WSO2 Deployments on DC/OS
Planning WSO2 Deployments on DC/OSPlanning WSO2 Deployments on DC/OS
Planning WSO2 Deployments on DC/OS
 
Flex alfresco
Flex   alfrescoFlex   alfresco
Flex alfresco
 
Nuxeo ECM - Architecture Overview - May 2008
Nuxeo ECM - Architecture Overview - May 2008Nuxeo ECM - Architecture Overview - May 2008
Nuxeo ECM - Architecture Overview - May 2008
 
Simon Jia - The Kohana Framework
Simon Jia - The Kohana FrameworkSimon Jia - The Kohana Framework
Simon Jia - The Kohana Framework
 
ClearCase 8.0
ClearCase 8.0ClearCase 8.0
ClearCase 8.0
 
Tales from the OSGi trenches
Tales from the OSGi trenchesTales from the OSGi trenches
Tales from the OSGi trenches
 
SIPfoundry CoLab 2013 - sipXecs Cloud Architecture (UCCS)
SIPfoundry CoLab 2013 - sipXecs Cloud Architecture (UCCS)SIPfoundry CoLab 2013 - sipXecs Cloud Architecture (UCCS)
SIPfoundry CoLab 2013 - sipXecs Cloud Architecture (UCCS)
 
Rest component demo
Rest component demoRest component demo
Rest component demo
 
Building+restful+webservice
Building+restful+webserviceBuilding+restful+webservice
Building+restful+webservice
 
Liberty Scalability and Elasticity Locally and in the IBM Cloud
Liberty Scalability and Elasticity Locally and in the IBM CloudLiberty Scalability and Elasticity Locally and in the IBM Cloud
Liberty Scalability and Elasticity Locally and in the IBM Cloud
 

Similar to SoftLayer-Extending Plesk Functionality

Social Connections 13 - Troubleshooting Connections Pink
Social Connections 13 - Troubleshooting Connections PinkSocial Connections 13 - Troubleshooting Connections Pink
Social Connections 13 - Troubleshooting Connections PinkNico Meisenzahl
 
VMworld 2013: vSphere UI Platform Best Practices: Putting the Web Client SDK ...
VMworld 2013: vSphere UI Platform Best Practices: Putting the Web Client SDK ...VMworld 2013: vSphere UI Platform Best Practices: Putting the Web Client SDK ...
VMworld 2013: vSphere UI Platform Best Practices: Putting the Web Client SDK ...VMworld
 
Cloudexpowest opensourcecloudcomputing-1by arun kumar
Cloudexpowest opensourcecloudcomputing-1by arun kumarCloudexpowest opensourcecloudcomputing-1by arun kumar
Cloudexpowest opensourcecloudcomputing-1by arun kumarArun Kumar
 
Cloudexpowest opensourcecloudcomputing-1by arun kumar
Cloudexpowest opensourcecloudcomputing-1by arun kumarCloudexpowest opensourcecloudcomputing-1by arun kumar
Cloudexpowest opensourcecloudcomputing-1by arun kumarArun Kumar
 
Windows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementWindows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementSharkrit JOBBO
 
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017Andrew Ripka
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"Volker Linz
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017Patrick Chanezon
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Ido Flatow
 
Development Journey of the Shopware Administration
Development Journey of the Shopware AdministrationDevelopment Journey of the Shopware Administration
Development Journey of the Shopware Administrationklarstil
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014Hojoong Kim
 
Cloudify 4.6 highlights webinar
Cloudify 4.6 highlights webinarCloudify 4.6 highlights webinar
Cloudify 4.6 highlights webinarCloudify Community
 
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...Frank Munz
 
WebLogic 12c & WebLogic Mgmt Pack
WebLogic 12c & WebLogic Mgmt PackWebLogic 12c & WebLogic Mgmt Pack
WebLogic 12c & WebLogic Mgmt PackDLT Solutions
 
Going Serverless with OpenWhisk
Going Serverless with OpenWhiskGoing Serverless with OpenWhisk
Going Serverless with OpenWhiskAlex Glikson
 
Custom MuleSoft connector using Java SDK
Custom MuleSoft connector using Java SDKCustom MuleSoft connector using Java SDK
Custom MuleSoft connector using Java SDKAmit Singh
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassPaul Withers
 
Intro to Environment as a Service - Cloudify 5.0.5 Webinar
Intro to Environment as a Service - Cloudify 5.0.5 WebinarIntro to Environment as a Service - Cloudify 5.0.5 Webinar
Intro to Environment as a Service - Cloudify 5.0.5 WebinarCloudify Community
 

Similar to SoftLayer-Extending Plesk Functionality (20)

Social Connections 13 - Troubleshooting Connections Pink
Social Connections 13 - Troubleshooting Connections PinkSocial Connections 13 - Troubleshooting Connections Pink
Social Connections 13 - Troubleshooting Connections Pink
 
VMworld 2013: vSphere UI Platform Best Practices: Putting the Web Client SDK ...
VMworld 2013: vSphere UI Platform Best Practices: Putting the Web Client SDK ...VMworld 2013: vSphere UI Platform Best Practices: Putting the Web Client SDK ...
VMworld 2013: vSphere UI Platform Best Practices: Putting the Web Client SDK ...
 
Cloudexpowest opensourcecloudcomputing-1by arun kumar
Cloudexpowest opensourcecloudcomputing-1by arun kumarCloudexpowest opensourcecloudcomputing-1by arun kumar
Cloudexpowest opensourcecloudcomputing-1by arun kumar
 
Cloudexpowest opensourcecloudcomputing-1by arun kumar
Cloudexpowest opensourcecloudcomputing-1by arun kumarCloudexpowest opensourcecloudcomputing-1by arun kumar
Cloudexpowest opensourcecloudcomputing-1by arun kumar
 
Windows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementWindows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server Management
 
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
 
Development Journey of the Shopware Administration
Development Journey of the Shopware AdministrationDevelopment Journey of the Shopware Administration
Development Journey of the Shopware Administration
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
 
Cloudify 4.6 highlights webinar
Cloudify 4.6 highlights webinarCloudify 4.6 highlights webinar
Cloudify 4.6 highlights webinar
 
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
 
WebLogic 12c & WebLogic Mgmt Pack
WebLogic 12c & WebLogic Mgmt PackWebLogic 12c & WebLogic Mgmt Pack
WebLogic 12c & WebLogic Mgmt Pack
 
Going Serverless with OpenWhisk
Going Serverless with OpenWhiskGoing Serverless with OpenWhisk
Going Serverless with OpenWhisk
 
Custom MuleSoft connector using Java SDK
Custom MuleSoft connector using Java SDKCustom MuleSoft connector using Java SDK
Custom MuleSoft connector using Java SDK
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClass
 
Oracle OpenWorld 2014 Review Part Four - PaaS Middleware
Oracle OpenWorld 2014 Review Part Four - PaaS MiddlewareOracle OpenWorld 2014 Review Part Four - PaaS Middleware
Oracle OpenWorld 2014 Review Part Four - PaaS Middleware
 
Intro to Environment as a Service - Cloudify 5.0.5 Webinar
Intro to Environment as a Service - Cloudify 5.0.5 WebinarIntro to Environment as a Service - Cloudify 5.0.5 Webinar
Intro to Environment as a Service - Cloudify 5.0.5 Webinar
 
AEM 6.X (With Basics) Training Syllabus
AEM 6.X (With Basics) Training SyllabusAEM 6.X (With Basics) Training Syllabus
AEM 6.X (With Basics) Training Syllabus
 

More from webhostingguy

Running and Developing Tests with the Apache::Test Framework
Running and Developing Tests with the Apache::Test FrameworkRunning and Developing Tests with the Apache::Test Framework
Running and Developing Tests with the Apache::Test Frameworkwebhostingguy
 
MySQL and memcached Guide
MySQL and memcached GuideMySQL and memcached Guide
MySQL and memcached Guidewebhostingguy
 
Novell® iChain® 2.3
Novell® iChain® 2.3Novell® iChain® 2.3
Novell® iChain® 2.3webhostingguy
 
Load-balancing web servers Load-balancing web servers
Load-balancing web servers Load-balancing web serversLoad-balancing web servers Load-balancing web servers
Load-balancing web servers Load-balancing web serverswebhostingguy
 
SQL Server 2008 Consolidation
SQL Server 2008 ConsolidationSQL Server 2008 Consolidation
SQL Server 2008 Consolidationwebhostingguy
 
Master Service Agreement
Master Service AgreementMaster Service Agreement
Master Service Agreementwebhostingguy
 
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PHP and MySQL PHP Written as a set of CGI binaries in C in ...PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PHP and MySQL PHP Written as a set of CGI binaries in C in ...webhostingguy
 
Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...webhostingguy
 
Managing Diverse IT Infrastructure
Managing Diverse IT InfrastructureManaging Diverse IT Infrastructure
Managing Diverse IT Infrastructurewebhostingguy
 
Web design for business.ppt
Web design for business.pptWeb design for business.ppt
Web design for business.pptwebhostingguy
 
IT Power Management Strategy
IT Power Management Strategy IT Power Management Strategy
IT Power Management Strategy webhostingguy
 
Excel and SQL Quick Tricks for Merchandisers
Excel and SQL Quick Tricks for MerchandisersExcel and SQL Quick Tricks for Merchandisers
Excel and SQL Quick Tricks for Merchandiserswebhostingguy
 
Parallels Hosting Products
Parallels Hosting ProductsParallels Hosting Products
Parallels Hosting Productswebhostingguy
 
Microsoft PowerPoint presentation 2.175 Mb
Microsoft PowerPoint presentation 2.175 MbMicrosoft PowerPoint presentation 2.175 Mb
Microsoft PowerPoint presentation 2.175 Mbwebhostingguy
 

More from webhostingguy (20)

File Upload
File UploadFile Upload
File Upload
 
Running and Developing Tests with the Apache::Test Framework
Running and Developing Tests with the Apache::Test FrameworkRunning and Developing Tests with the Apache::Test Framework
Running and Developing Tests with the Apache::Test Framework
 
MySQL and memcached Guide
MySQL and memcached GuideMySQL and memcached Guide
MySQL and memcached Guide
 
Novell® iChain® 2.3
Novell® iChain® 2.3Novell® iChain® 2.3
Novell® iChain® 2.3
 
Load-balancing web servers Load-balancing web servers
Load-balancing web servers Load-balancing web serversLoad-balancing web servers Load-balancing web servers
Load-balancing web servers Load-balancing web servers
 
SQL Server 2008 Consolidation
SQL Server 2008 ConsolidationSQL Server 2008 Consolidation
SQL Server 2008 Consolidation
 
What is mod_perl?
What is mod_perl?What is mod_perl?
What is mod_perl?
 
What is mod_perl?
What is mod_perl?What is mod_perl?
What is mod_perl?
 
Master Service Agreement
Master Service AgreementMaster Service Agreement
Master Service Agreement
 
Notes8
Notes8Notes8
Notes8
 
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PHP and MySQL PHP Written as a set of CGI binaries in C in ...PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
 
Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...
 
Managing Diverse IT Infrastructure
Managing Diverse IT InfrastructureManaging Diverse IT Infrastructure
Managing Diverse IT Infrastructure
 
Web design for business.ppt
Web design for business.pptWeb design for business.ppt
Web design for business.ppt
 
IT Power Management Strategy
IT Power Management Strategy IT Power Management Strategy
IT Power Management Strategy
 
Excel and SQL Quick Tricks for Merchandisers
Excel and SQL Quick Tricks for MerchandisersExcel and SQL Quick Tricks for Merchandisers
Excel and SQL Quick Tricks for Merchandisers
 
OLUG_xen.ppt
OLUG_xen.pptOLUG_xen.ppt
OLUG_xen.ppt
 
Parallels Hosting Products
Parallels Hosting ProductsParallels Hosting Products
Parallels Hosting Products
 
Microsoft PowerPoint presentation 2.175 Mb
Microsoft PowerPoint presentation 2.175 MbMicrosoft PowerPoint presentation 2.175 Mb
Microsoft PowerPoint presentation 2.175 Mb
 
Reseller's Guide
Reseller's GuideReseller's Guide
Reseller's Guide
 

SoftLayer-Extending Plesk Functionality

  • 1. May 19-20 l Washington, DC l Omni Shoreham Extending Plesk Functionality to Control External Web Services A SoftLayer API Case Study Nathan Day CTO, SoftLayer Technologies, Inc.
  • 2. Introduction How to extend the functionality of Plesk for Linux to talk to an external web service—the SoftLayer API. 1.Plesk Modules Overview 2.SoftLayer API Overview 3.Example: SoftLayer Demo Module 4.Questions 2 Softlayer—Extending Plesk Functionality to Control External Web Services
  • 3. Introduction A global, on-demand data center and hosting service provider The SoftLayer difference: – Automated Services and Solutions – Industry-leading Customer Portal and Open API – Industry’s First Secure Network-within-a-Network Topology – On-demand Scalability – Integrated Geographical Diversity www.SoftLayer.com 3 Softlayer—Extending Plesk Functionality to Control External Web Services
  • 4. Introduction & Long-standing partnership across multiple Parallels product lines – Gold Partner – Member of Service Provider Alliance Program – Sponsor of Parallels Summit 4 Softlayer—Extending Plesk Functionality to Control External Web Services
  • 5. Plesk Modules Overview “The main advantage of Plesk is the opportunity to manage a wide range of functionality from a single control panel. In this sense, integrating additional applications and services with Plesk via the mechanism of modules gains benefit as follows: – PCP (Plesk Control Panel) provides means for installing/uninstalling modules easily – Modules integrate with Plesk Language system – Modules integrate with Plesk Help system – Modules use skins provided by Plesk – Plesk provides Modules API specially designed to create Plesk-specific modules – Modules are registered in Plesk, which prevents from casual deletion of 'module’ applications” Plesk 8.3 Modules Development Guide 5 Softlayer—Extending Plesk Functionality to Control External Web Services
  • 6. Plesk Modules Overview Plesk Modules – Consist of Front-end, Back-end, Resource Files, Install scripts, Third-party code – Controlled by a GUI Using Module Manager 6 Softlayer—Extending Plesk Functionality to Control External Web Services
  • 7. SoftLayer API Web Service – Used for infrastructure management ▪ Control Servers or Services (DNS, iSCSI, CDN, etc.) – SOAP or XML-RPC – Same functionality available as SoftLayer customer portal – Details available at SoftLayer Developer Network http://www.softlayer.com/devnet.html 7 Softlayer—Extending Plesk Functionality to Control External Web Services
  • 8. SoftLayer Plesk Module Example – Server Details – Bandwidth Graph from Switch Data – Server Power and Reboot Management – Accounting ▪ Previous Invoices ▪ Current Balance – Support Ticket ▪ New ▪ Previous 8 Softlayer—Extending Plesk Functionality to Control External Web Services
  • 9. How we did it – Written in PHP – Built a class extending PHP SOAP Client – Uses built in Plesk templating – References built-in Plesk Module API – Uses built-in Plesk Global Constants – Created a template file per tab – Created a controller file per tab – Stores data in Plesk backend database 9 Softlayer—Extending Plesk Functionality to Control External Web Services
  • 10. File listing 10 Softlayer—Extending Plesk Functionality to Control External Web Services
  • 11. Code to access SoftLayer API $client = new SoftLayer_API_SoapClient('SoftLayer_Hardware_Server'); $objectMask = new SoftLayer_API_ObjectMask(); // General $objectMask->datacenter; $objectMask->serverRoom; $objectMask->provisionDate; $objectMask->lastOperatingSystemReload; // Hardware Components $objectMask->components->hardwareComponentModel->hardwareGenericComponentModel->hardwareComponentType; $objectMask->hardwareChassis; //software components $objectMask->softwareComponents->softwareLicense->softwareDescription->drivers; //network component $objectMask->primaryBackendIpAddress; $objectMask->primaryIpAddress; $objectMask->frontendNetworkComponents->uplinkComponent->networkVlan; $objectMask->frontendNetworkComponents->primarySubnet; $objectMask->frontendNetworkComponents->uplinkComponent->hardware; $objectMask->backendNetworkComponents->uplinkComponent->networkVlan; $objectMask->backendNetworkComponents->primarySubnet; $objectMask->backendNetworkComponents->uplinkComponent->hardware; $objectMask->bandwidthAllocation; // Billing cycle for bandwidth calculation $objectMask->account->billingInfo; $client->setObjectMask($objectMask); $server = $client->findByIpAddress($_SERVER['SERVER_ADDR']); 11 Softlayer—Extending Plesk Functionality to Control External Web Services
  • 12. Module Page 12 Softlayer—Extending Plesk Functionality to Control External Web Services
  • 13. General Tab 13 Softlayer—Extending Plesk Functionality to Control External Web Services
  • 14. General Tab (continued) 14 Softlayer—Extending Plesk Functionality to Control External Web Services
  • 15. Account Tab 15 Softlayer—Extending Plesk Functionality to Control External Web Services
  • 16. Tickets Tab 16 Softlayer—Extending Plesk Functionality to Control External Web Services
  • 17. Settings Tab 17 Softlayer—Extending Plesk Functionality to Control External Web Services
  • 18. Conclusion Plesk functionality can be extended beyond the server using the modules subsystem – Next Steps for SoftLayer ▪ Publish SoftLayer Demo ▪ Encourage/Develop Integration Projects 18 Softlayer—Extending Plesk Functionality to Control External Web Services
  • 19. References – Plesk 8.3 Unix Modules Guide – Plesk 8.3 Unix Modules Reference – SoftLayer API User’s Guide Wiki, http://sldn.softlayer.com/wiki – Kevin Laude, SoftLayer API Evangelist, klaude@softlayer.com 19 Softlayer—Extending Plesk Functionality to Control External Web Services