Microsoft Access 2013 is a rapid
application development platform for business-focused web applications.
However, although it may take only a minute to start, Access works well
with SharePoint to enable iterative app development. This iterative
development process enables continual testing and refinement of apps.
1. Prerequisites
Working with Access 2013 web apps requires one of the two following combinations:
- Microsoft Office Access 2013 desktop client and an Office 365 account
- Microsoft Office Access 2013 desktop client and a SharePoint 2013 development environment.
Regardless of whether an on-premise or hosted
development environment is chosen, a download and installation of
Office 2013 is required to gain access to Microsoft Access 2013.
1.1 Configuring for Hosted Access Web Application Development
If you are interested in building
applications for Office 365 environments, applications that do not
require full trust solutions, or just want to get started with Access
web apps as quickly as possible, sign up for a free trial of Office 365
Small Business Premium or Enterprise. Other license levels of Office
365 such as Pro Plus and Home Premium do not include SharePoint online
and do not work with Access 2013 web apps.
After a copy of Access 2013 has been installed
and an account with Office 365 has been created, test the connection by
opening Access and creating your first web app based on a template.
Give your test application a name and place the URL for your SharePoint
Online site in the Web Location text box. Your Office 365 URL will be
something like this:
http://[company].onmicrosoft.com/sites/[myteamsite]
Click the Create button, and Access will create
your application on the server and take you directly into the
application designer in the Access Client. Click the Launch App button
to experience your basic application in the browser. Access web apps
work in every major browser, including IE, Firefox, Chrome, and Safari.
1.2 Configuring an On-premise Development Environment
Although an Office 365 account will
certainly speed up the process of building Access web apps, there are
certain capabilities that have not yet been implemented in Office 365
that may force you to turn to an on-premise development environment.
Configuring an on-premise environment for Access Services requires a
few steps beyond the default installation of SharePoint 2013 itself.
These steps include:
1. Configure an isolated application domain.
2. Configure SQL Server 2012.
1. Add the required SQL Server features.
2. Enable the contained databases.
3. Enable the mixed authentication security mode.
4. Ensure the appropriate service account permissions.
5. Enable the required networking protocols.
3. Configure the Windows development environment.
4. Configure SharePoint 2013.
1. Start the required services.
2. Create a Secure Store service application.
3. Create the Access Services 2013 service application.
Configuring an Isolated Application Domain
SharePoint 2013 requires a general
wildcard host header domain to provision SharePoint-hosted apps. This
domain will likely derive from your corporate domain such that if your
company domain is www.mycompany.com then an ideal SharePoint app domain is app.mycompany.com. If this domain is reserved via the isolated app domain process described next, SharePoint can automatically manage the URL.
The first step in a stand-alone development
environment that does not have access to an actual DNS reserved URL is
to modify the hosts file to fool your computer into thinking that the
URL is valid.
Microsoft has created a detailed seven-step guide for creating an isolated app domain on MSDN at http://msdn.microsoft.com/en-us/library/fp179923(v=office.15).aspx#SP15appdevonprem_bk_configure,
but a premier field engineer at Microsoft, Tom Van Gaever, has created
a comprehensive PowerShell script that is easier to execute. Tom Van
Gaever posted the original script online at his blog: http://tomvangaever.be/blogv2/2012/08/prepare-sharepoint-2013-server-for-app-development-create-an-isolated-app-domain/. The PowerShell script, which must be run as an administrator, has been reproduced here for completeness:
# Check if the execution policy is set to Unrestricted
$policy = Get-ExecutionPolicy
if($policy -ne "Unrestricted"){
Set-ExecutionPolicy "Unrestricted"
}
# Check if current script is running under administrator credentials
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal
( [Security.Principal.WindowsIdentity]::GetCurrent() )
if ($currentPrincipal.IsInRole( [Security.Principal.WindowsBuiltInRole]::
Administrator ) -eq $false) {
(get-host).UI.RawUI.Backgroundcolor="DarkRed"
clear-host
write-host "Warning: PowerShell is not running as an Administrator.'n"
exit
}
# Load SharePoint powershell commands
Add-PSSnapin "microsoft.sharepoint.powershell" -ErrorAction SilentlyContinue
cls
# Ensure that the spadmin and sptimer services are running
Write-Host
Write-Host "Ensure that the spadmin and sptimer services are running"
-ForegroundColor Yellow
net start spadminv4
net start sptimerv4
# Create your isolated app domain by running the SharePoint Management Shell as
an administrator and typing the following command.
Write-Host
Write-Host "Create your isolated app domain by running the SharePoint Management
Shell as an administrator and typing the following command."
-ForegroundColor Yellow
$appdomain = Read-Host "Your App Domain Name"
Set-SPAppDomain $appdomain
# Ensure that the SPSubscriptionSettingsService and AppManagementServiceInstance
services are running
Write-Host
Write-Host "Ensure that the SPSubscriptionSettingsService and
AppManagementServiceInstance services are running." -ForegroundColor Yellow
Get-SPServiceInstance | where{$_.GetType().Name -eq "AppManagementServiceInstance"
-or $_.GetType().Name -eq "SPSubscriptionSettingsServiceInstance"} |
Start-SPServiceInstance
# Verify that the SPSubscriptionSettingsService and AppManagementServiceInstance
services are running
Write-Host
Write-Host "Verify that the SPSubscriptionSettingsService and
AppManagementServiceInstance services are running." -ForegroundColor Yellow
Get-SPServiceInstance | where{$_.GetType().Name -eq "AppManagementServiceInstance"
-or $_.GetType().Name -eq "SPSubscriptionSettingsServiceInstance"}
# Specify an account, application pool, and database settings for the
SPSubscriptionService and AppManagementServiceInstance services
Write-Host
Write-Host "Specify an account, application pool, and database settings for the
SPSubscriptionService and AppManagementServiceInstance services."
-ForegroundColor Yellow
$login = Read-Host "The login of a managed account"
$account = Get-SPManagedAccount $login
$appPoolSubSvc = New-SPServiceApplicationPool -Name SettingsServiceAppPool
-Account $account
Write-Host "SettingsServiceAppPool created (1/6)" -ForegroundColor Green
$appPoolAppSvc = New-SPServiceApplicationPool -Name AppServiceAppPool -Account
$account
Write-Host "AppServiceAppPool created (2/6)" -ForegroundColor Green
$appSubSvc = New-SPSubscriptionSettingsServiceApplication –ApplicationPool
$appPoolSubSvc –Name SettingsServiceApp –DatabaseName SettingsServiceDB
Write-Host "SubscriptionSettingsServiceApplication created (3/6)"
-ForegroundColor Green
$proxySubSvc = New-SPSubscriptionSettingsServiceApplicationProxy
–ServiceApplication $appSubSvc
Write-Host "SubscriptionSettingsServiceApplicationProxy created (4/6)"
-ForegroundColor Green
$appAppSvc = New-SPAppManagementServiceApplication -ApplicationPool
$appPoolAppSvc -Name AppServiceApp -DatabaseName AppServiceDB
Write-Host "AppManagementServiceApplication created (5/6)" -ForegroundColor Green
$proxyAppSvc = New-SPAppManagementServiceApplicationProxy -ServiceApplication
$appAppSvc
Write-Host "AppManagementServiceApplicationProxy created (6/6)" -ForegroundColor
Green
# Specify your tenant name
write-host
Write-Host "Set AppSiteSubscriptionName to 'app'" -ForegroundColor Yellow
Set-SPAppSiteSubscriptionName -Name "app" -Confirm:$false
Write-Host "AppSiteSubscriptionName set" -ForegroundColor Green
# Disable the loopbackcheck in the registry
Write-Host "Disable the loopbackcheck in the registry" -ForegroundColor Yellow
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\" -Name
"DisableLoopbackCheck" -PropertyType DWord -Value 1
Write-Host "Completed"
The modification of the development computer’s
hosts file (if necessary) and the successful execution of this
PowerShell script completes all necessary networking configuration for
Access Services 2013.