There are over 60 million small businesses containing fewer than 100 employees worldwide. The vast majority of them do not have an IT professional on staff, nor do they have a Managed Service Provider (MSP) to take care of their computing assets. Intel now offers a Business Client platform for these companies; it is called the Intel Small Business Advantage (Intel SBA.)
This blog will describe, at a high level, what is Intel SBA and how developers can leverage its capabilities. This blog will also provide a description of the methods and classes that are available to developers as well as possible exceptions that a user might experience. Further information for application developers can be found by downloading the Intel Small Business Advantage Software Development Kit Guide.
What is Intel SBA
Intel SBA provides an out-of-the-box hardware-based security and productivity suite designed for the small business user. Intel SBA includes a customizable user interface and several bundled Intel applications. Original Equipment Manufacturers (OEMs) and Resellers can customize Intel SBA after installation (using a customization wizard).
For developers, Intel Small Business Advantage will allow easy integration of an app into the carousel utilizing the SBA Software Development Kit. Users will experience this app as an integrated part of their platform and the developers will know that their apps will be effectively installed on their systems taking full advantage of the appropriate Intel Business Client technologies. For more information, see Intel SBA for Software Developers.
Intel SBA sample application:
Hardware Requirements for Intel SBA
The hardware functionality of Intel SBA is provided by the Intel Management Engine (Intel ME). The Intel ME is a micro-processor included in Intel chipsets that support Intel SBA. The Intel ME operates independently of the Central Processing Units in the computer system, and has an independent power source. Intel SBA is available in Intel Core i3, Intel Core i5, and Intel Core i7 processors.
What can developers do with the Intel SBA SDK?
Developers can use this SDK to add their applications to the main carousel/grid. They can also use this SDK to integrate their applications with bundled Intel applications (PC Health Center and Software Monitor).
Intel SBA Software Components:
The Intel SBA SDK includes several software components:
- Application Manager – The main Graphical User Interface (GUI) of Intel SBA that lets users configure the settings and applications they want to use in their business.
- Service – A Windows* based service that runs in the background and provides communication between the main GUI, the applications, and the Firmware.
- Applications – Applications that provide useful features for the small business and are shown in the main carousel/grid of Intel SBA. This includes the bundled applications supplied by Intel and applications added by OEMs and Resellers. This SDK can be used to add applications to the main carousel/grid. This SDK can also be used to integrate applications with bundled Intel applications (PC Health Center and Software Monitor).
Requirements for using the Intel SBA SDK:
- Applications must be signed: All applications called by Intel SBA must be signed, otherwise Intel SBA will ignore the application. This means that the applications referenced in the code, and the executable that is created, must be signed.
- Intel SBA Sample Executable: If the Intel SBA Sample is compiled, the resulting executable must also be signed.
- MSVS 2010 Service Pack 1: This is the minimum requirement to compile the sample. The sample (and Intel SBA) was created using the Ultimate edition. Although validation was performed only against the Ultimate edition, the sample should also compile correctly on other Visual Studio 2010 editions.
In addition, the Intel SBA SDK:
- Is written in C# in a Microsoft .NET Framework environment (.NET version 3.5, service pack 1)
- Is implemented as a Windows DLL file, named Intel.SBA.IsvSdk.Common.dll
Using the Intel SBA SDK in an Application:
In order to use the SDK in an application it must be included in the project as described in these steps:
- Add a reference to the Intel.SBA.IsvSdk.Common.dll file.
- Add the Intel.SBA.IsvSdk.Common namespace to the project.
Intel SBA SDK Sample Code
The SDK includes a sample project (IsvSdkSample.csproj), located in the Sample_Code folder. The sample project shows how to use the SDK methods. The Compiled_Sample folder contains a compiled executable sample that can be used immediately to see how the methods work. The sample can only be run on a computer that already has Intel SBA installed.
The Intel SBA SDK contains the following 4 Methods:
RegisterApplication - ADD an application to the main carousel/grid of Intel SBA, ADD a task that can be run by the PC Health Center Application, and ADD an application to the list of applications that can be monitored by the Software Monitor Application.
UpdateISVRegistration - Use this method to update the details of an application that has already been successfully registerd in Intel SBA. The application is updated without changing the Token or the GUID used by Intel SBA to identify the application.
UnregisterApplication - Use this method to remove a registered application from Intel SBA. All references to the application are removed from Intel SBA (except for events recorded in the Alert Center.)
AddMessage - Use this method to send events to Intel SBA about the status of an application. For events with a MessageSeverityLevel of “Warning” or “Error”, the symbol representing the status is shown on the icon of the application in the main carousel/grid. When a new event is sent with the “Normal” severity level, the icon is removed.
There are two classes associated with the Intel SBA SDK: ApplicationRegistrationInfo and ApplicationRegistrationRequest.
When an application is registered using the RegisterApplication method, Intel SBA creates a Token and a Globally Unique Identifier (GUID) for the application. The Token and the GUID are used to identify the application and control access to it.
The Token and the GUID need to be supplied each time the following tasks are executed:
- Update the application
- Unregister the application
- Send messages from the application to Intel SBA
This class is the data holder for requests to register/update an application. The request cannot be empty; it must include data for at least one of the three options (IsvUIApplication, IsvSwMonitorData, or IsvHealthCenterData).
The following exceptions can be thrown by the Intel SBA SDK methods (the error displayed is in italics) :
- ArgumentException - Invalid input data. The applicationName parameter cannot be NULL or Empty when the UIApp is not included in the request.
- AuthenticationException - This exception does not have a message. It can occur if, Intel.Sba.IsvSdk.dll was modified/changed, Intel.Sba.IsvSdk.dll is not signed by Intel, or the calling assembly is not signed (the application that is using the Intel.SBA.IsvSdk.Common.dll)
- DLLNotFoundException - Failed to load the Intel.SBA.IsvSdk.dll. It must be in the following folder:Program Files (x86)\Intel\Intel® Small Business Advantage\UI.
- Exception - Failed. This is a general exception returned when the problem or the cause of failure is unknown.
- ServerTooBusyException - Another application is trying to register an application with Intel SBA. Try again later.
- ServiceIsNotRunningException - The service \"Intel Small Business Advantage\" is not running.
- TimeoutException - The IsvSdk.dll failed to communicate with the Intel SBA GUI.
- UnauthorizedAccessException - The Intel SBA password entered by the user is incorrect OR Unauthorized 9incorrect GUID or Token supplied in method)
- UnconfiguredException - Intel SBA is not configured.
- UserDeclinedExciption - The user declined to register the ISV software with Intel SBA.
This concludes what the Intel SBA SDK offers for developers. Be sure to go to the Intel Business Client Community, download and install the SDK and check out the sample app and code. The links are below.
- Intel Business Client Community: http://software.intel.com/en-us/business-client
- Intel SBA SDK download: https://secure-software.intel.com/en-us/protected-download/267270/326764
- Intel SBA Documentation: http://software.intel.com/en-us/articles/intel-sba-for-software-developers
- Intel SBA SDK: https://secure-software.intel.com/en-us/protected-download/267270/326764
- Intel Business Client Discussion Forum (developer related questions can be posted here): http://software.intel.com/en-us/forums/intel-business-client-software-development