+ All Categories
Home > Documents > Introduction to APS Application Packaging Standard Fundamentals.

Introduction to APS Application Packaging Standard Fundamentals.

Date post: 25-Dec-2015
Category:
Upload: rodger-jacobs
View: 234 times
Download: 0 times
Share this document with a friend
24
Introduction to APS Application Packaging Standard Fundamentals
Transcript

Introduction to APS

Application Packaging Standard

Fundamentals

• Place and Role of APS in Hosting Platform• Requirements to APS• APS Solutions

Agenda

APS Role in Hosting Platform

• APS in Hosting Platform• APS Goals

4 Profit from the cloud™ | 4

APS Applications

BSS

Online Store(s)

End-UsersSMBs

Billing

Workflow

Paym

ent

syst

em -

1

BAN

K X

Plug

in

Paym

ent

Plug

in #

N

Sales Person(s)

OSS

O365PluginHyper-V Plugin

Provisioning Plugin #N

O365

External System #N

Hyper-V Cloud

VISAExternal

System #N

BANK X

APS in Hosting Platform

MasterCard

VISA

5 Profit from the cloud™ | 5

Provisioning Logic

https://app.isv.com/REST API

View

ViewView View

Presentation Logic

Application

Applicationnative API

Application native

UI

Hosting Platform

APS defines a standard way to expose services of applications to the Hosting Platform.

It’s a “bridge” or “adapter” between application UI and management UI on the Hosting Platform.

APS Purpose

Requirements to APS

• API Adaptation• Resource Provisioning and Management• Resource Presentation• Communication• Integration Package

7 Profit from the cloud™ | 7

SymantecAPI

SymantecUI

McAfeeAPI

McAfeeUI

O365API

O365UI

How to adapt OSS to numerous “native” APIs?• Provisioning application

resources• Managing application resources

Many services:each with its own API and UI

OSS

API Adaptation

Answer

APS endpoint for each application

Resources

Resources

Resources

8 Profit from the cloud™ | 8

SymantecAPI

SymantecUI

McAfeeAPI

McAfeeUI

O365API

O365UI

How to manage and track application resource properties and states?• Sync resource creation• Represent “native” resources

Many services:each with its own API and UI

OSS

Resource Provisioning and Management

Answer

Unified Resource Management model

Resources

Resources

Resources

9 Profit from the cloud™ | 9

Provider admins:• configure applicationsSMB admins:• configure resources for end-usersEnd-Users:• configure own resources

SymantecAPI

SymantecUI

McAfeeAPI

McAfeeUI

O365API

O365UI

How to present resource management tools in UI?

Many services:each with its own API and UI

Resource Presentation

Answer

APS UI for each application

Resources

Resources

Resources

10 Profit from the cloud™ | 10

SymantecAPI

SymantecUI

McAfeeAPI

McAfeeUI

O365API

O365UI

How to unify communications?

Many services:each with its own API and UI

Communication

Answer

Standard application protocol

OSS Endpoint-1

Endpoint-2

Endpoint-3Web Browser

11 Profit from the cloud™ | 11

How to pack all the above integration stuff and deploy it in OSS?

Integration Package

Answer

APS Package

APS Solutions

• Unified Communication and APS Endpoints• Resource Model• Service Declaration• APS UI• Package Contents

13 Profit from the cloud™ | 13

REST• POST - Create• GET - Read• PUT - Update• DELETE - Delete

Hosting Platform

SymantecAPI

SymantecUI

McAfeeAPI

McAfeeUI

O365API

O365UI

APS Controller

Unified Communication and APS Endpoints

APS McAfee

Endpoint

APSSymantec Endpoint

APSO365

Endpoint

Web Browser

CRUD operations

14 Profit from the cloud™ | 14

POST /vpses { “name”:“vps-1”, …}

POST /aps/resources/ { “name”:“vps-1”, …}

APS Controller

Resource Model

APSApplication Endpoint:

• /storages (type “storage”)

Web Browser

Resources:• VPSes

Application

“type”:”vps”,

APS types

APSresources

Native API:•create “vps-1”

APSApplication Endpoint:

•/vpses ( )“type”:”vps”

APSApplication Endpoint:

• /mboxes (type “mbox”)

“type”:”vps”,

15 Profit from the cloud™ | 15

APS Type – JSON Schema

“apsVersion”: “2.0”,“name”: “vps”,“id”: "http://event-mgmt.demo.apsdemo.org/vpsclouds/vpses/1.0”,

"properties": { "name": {...}, "description": {...}, ... "memoryusage": {...}}, “operations": { "start": { "verb": "GET", "path": “/start", ... }, "stop": {...}}

General section

Resource structure

Custom operations

schemas/vpses.schema

“implements”: ["http://aps-standard.org/types/core/resource/1.0” ],

16 Profit from the cloud™ | 16

Classification of Resources

Customer

/vpscloud/cloud

Provider

/vpscloud/context

/vpscloud/vps

App

/vpscloud/offer

17 Profit from the cloud™ | 17

Resource Relations

Customer

/vpscloud/cloud

Provider

/vpscloud/contextcloudcontexts

subscription

accountaccount

subscription

/vpscloud/vps

context

vpses

app

18 Profit from the cloud™ | 18

Resource Type – Declaration of Relations

“apsVersion”: “2.0”,“name”: “vps”,“id”: "http://event-mgmt.demo.apsdemo.org/vpsclouds/vpses/1.0",“implements”: ["http://aps-standard.org/types/core/resource/1.0” ], "properties": { ...},

“operations": { ...}

“relations": { "context": { "type": "http://edu.tst/vpscloud/context/2.0", "required": true, "collection": false }}

Relations

schemas/vpses.schema

19 Profit from the cloud™ | 19

Service Declaration

<service id="vpses"> <schema path="schemas/vpses.schema"/> <presentation> <name>Virtual Private Server</name> <summary>Cloud VPS</summary> </presentation> </service>

Listening on the APS endpoint “/vpses/” path

Binding with JSON schema

APP-META.xml

20

APS UI – Integration with Control PanelNavigation Components

<navigation> plugged into "http://www.aps-standard.org/ui/service"

<item> plugged into <navigation><view> of the <item>

controls inside viewHTML file

21

APS UI – Navigation Diagram

VPS Management

Servers Network

New

Start

Stop

Delete

FirewallIP Addresses

Step-2

Step-1

servers.htmlView “servers”

server.new-1.htmlView “server.new-1”

server.new-last.htmlView “server.new-last”

ip-addresses.htmlView “ip-addresses”

firewall.htmlView “firewall”

22 Profit from the cloud™ | 22

Navigation Tree Declaration

<navigation id="ccp" label="VPS Management"> <var name="context" type-id="http://edu.tst/vpscloud/context/2.0"/> <plugs-to id="http://www.aps-standard.org/ui/service"/> <item id="servers" label="Servers"> ... </item> <item id="network" label="Network”> <item id=“network-ip” label=“IP Addresses”> … </item> <item id=“network-firewall” label=“Firewall”> … </item> ... </item></navigation>

23 Profit from the cloud™ | 23

Package Contents

Metadata:• Application and package general data• Application services• Presentation

Schema of APS resources:• Source code is in PHP scripts• Generated by aps build utility

PHP scripts:• For each service defined in metadata• Business logic• Source code for generating schemas

Custom UI scripts


Recommended