Application Packaging Standard gives a medium to package your Software-as-a-service (Saas) application. I got a nice experience of working with such packages and thought it would be good to blog it out!
First off, I would like to create a scenario where you have a web application, which can be deployed to a panel which will be handling your application. So, in such scenario, the package, when deployed, will be working as per your requirement.
In my case, I used Parallels Plesk Panel to achieve the purpose. I had to download it from the website, and install it on my local machine so that I was able to install the packages that I am going to develop.
In my case, I was more than curious to have my IIS-based application on the Plesk panel, so I installed the Plesk panel with ASP.NET support as well as SQL Server Database support.
Having created a scenario for installing and deploying the APS package, we will go through a short but important explanation of APS package.
An APS package is basically a simple compressed package, with an extension .app.zip. It is important to note that creating a mere compressed package will not work; it should follow some standards which are provided at the APS website.
Introduction to APS Specification
It provides a set of rules to be followed by a package in order that the package will be APS compliant. I will just borrow some material from APS website as an illustration to the things I am going to explain.
Following figure from the APS specification page clearly illustrates the package contents.
I will go into details of each entity.
This file is responsible for keeping a track of following elements.
- General information: application name, version, change log, etc.
- Vendor information: name, website, etc.
- Packager information: characteristics of package manufacturer. It also includes a very important field, called package uri, which must be kept unique as far as each version/release of the application is concerned.
- It also includes summary, category & description of the application and screenshots for the application.
These things are covered under application information element.
- Each application offers some service to its users. These services are specified in the services element.
- There can be a license agreement, settings for service instance, control elements to be added to the user interface included in the services element.
- Settings for service instance can also be included in the services element.
The APP-META.xml file follows simple xml schema architecture for the structure.
This particular file is responsible for keeping a track of all the files and folders present in the package. More importantly, this file also conveys useful information about each file in the package as far as hash value, size of the file is concerned. This is very important so as to track the changes in each file as various packages can be issued for any given application.
This folder involves all the scripts which are necessary for an application package to work.
The important and very first file responsible for overall installation and functioning of the package is configure file. This file is included in the scripts folder, which is thereby invoked at the time of installation.
You can also insert the SQL scripts in the folder as declared in the configure file. I will be taking your through a detailed package creation tutorial, where you will actually get an exposure so as to how to create a package which is APS complaint, more or that later.
In the end, for a proper functioning of your package, the steps or the scripts are invoked by using files in this folder.
This folder takes care of the branding of the package.
All the icons and screenshots are packed in this folder. Icons, particularly for an application, which are visible on the panel where you will be uploading the apps, are redirected from this folder.
The icons of packager, vendors are also present in this particular folder.
This is very crucial and important folder of the package, where you will put all your application files.
Particularly speaking, considering an example of a simple IIS-hosted web application, the published files are kept here in the folder.
This was all about a short and simple description about how the APS packages are and how they exist.
In the proceeding posts, I will take you through the environment for APS packages in detail.