hip - h osting i ntegration p latform

38
HIP - H osting I ntegration P latform Roadshow

Upload: hester

Post on 23-Mar-2016

73 views

Category:

Documents


4 download

DESCRIPTION

HIP - H osting I ntegration P latform. Roadshow. 1&1 Hosting Integration Platform. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: HIP -  H osting  I ntegration  P latform

HIP - Hosting Integration Platform

Roadshow

Page 2: HIP -  H osting  I ntegration  P latform

1&1 Hosting Integration Platform

The 1&1 Hosting Integration Platform (HIP) is a multi channel platform designed to simply and efficiently build and integrate highly scalable, robust and extensible enterprise services, systems and applications into the distributed, heterogeneous 1&1 Hosting system landscape.

HIP comes with RAIN (Rapid Application Integration) a frontend platform designed to build distributed enterprise web applications that can run on desktop and any mobile devices and CloudIA (Cloud Integrated Architecture) a backend platform that provides cross cutting functionalities for developers to build, distributed and composite systems, services and applications within a consistent RESTful service oriented environment.

Page 3: HIP -  H osting  I ntegration  P latform

Why do we need HIP for our ControlPanel?

What developers see

• Monolitic building block• Multiple nested system dependancies causing run and test

issues• No N-Tier architecture• Complex usage of frontend framework• Tooling issues (Minimal maven support, test support, release

management, dependency resolving, change management)• Multiple divisions (> 50 Developers) commiting to ONE source

chunk• Fragmented localisation support• Framework version inconsitancy• No multi tenant support• No mobile support• Limited roles and rights support• Web1.0 based technology

What our customers see

• Slow performance• Middle-class usability• No language selection• No mobile support• No domain batch handling• Web 1.0 look and feel• No SSO for jumps to other products

Page 4: HIP -  H osting  I ntegration  P latform

Initial Situation

Maintainability products i.e. Control Panel generally consists of many (remote)

services orchestrated together services are closely integrated and use proprietary protocols and data models strong dependencies between services significantly increase efforts for maintenance

Internationalisation partial localisation support only, becoming increasingly expensive in addition still recurring issues when deploy services and infrastructure to international markets, i.e.

outstanding efforts for product rollouts in different data center due hard wired services no real multi-tenancy, especially regarding to legal terms and conditions

User experience mobile and tablet devices unsupported suffers from the fact that products such as DIY, WebDesk or OX use a broad variety of custom

authentication and SSO mechanisms products that have to communicate with each other, are required to adapt the solution of the

respective other product in addition

1&1 Hosting Target Architecture clear competences and responsibilities for domains not given yet impacts on cross cutting concerns such as authorization and integration efforts when adapting

the new target architecture

Page 5: HIP -  H osting  I ntegration  P latform

1&1 Hosting Integration Platform

The 1&1 Hosting Integration Platform enables Product Service System (PSS) developers to easily integrate into the Hosting landscape, effective and autonomous. HIP supports:

• Self-contained system, service and application development• Independent deployment of components• Defined component and service life-cycle• Governance for interaction and communication between mutually interacting software • Horizontal scale out of components and of component interactions• Coherency of interfaces• Simple multi channel support• Simple internationalization support• Intermediary components for authentication and authorization to enforce security and

encapsulate legacy systems

Page 6: HIP -  H osting  I ntegration  P latform

Business Support Systems (BSS)

Billing

HIP

Customer

Product Service Systems (PSS)

Dom

ain

RESTful API

SSA

Order PlatformOrder Entry Order Management

Rai

n

Resource Server

Client Runtime

Clo

udI

A

Public Frontend Service

Contract

RESTful API

SSA

Em

ail

Provisioning API

Supplier

Supplier

RAIN IDE

ServerRuntime

Service Stack

Service Management Guidelines

RESTful API

SSA

Supplier

1&1 Hosting System Landscape

O r d e r T r i g g e r

Process Platform

Page 7: HIP -  H osting  I ntegration  P latform

SSA & PSS – a brief description

PSS – Product Service System

Is a (new) implementation of an 1&1 Hosting product which is compliant with the 1&1 target architecture. This means the backend is decoupled from other products (no monolithic system) and integrated via RESTful services. It uses the technologies and services provided by HIP.

SSA – Self Service App

Is a frontend (Web-) App for a PSS which allows end-users to administrate the product on their own (self service). Currently this kind of functionality is bundled in the Control Panel but shall be modularized according to the PSS.

Page 8: HIP -  H osting  I ntegration  P latform

Access Control

QuotasSSO Filter

Multitenancy

HIP Integration scenario

PSS

SSA

PSS

SSA

PSSPSS

SSA

DMZ

Token

Token

Message BusPSS

SSASingle Sign On

<<Role>>

Read

<<Role>>

Owner

<<Role>>

SSE Role based access

Single Sign Out

Claim based access

Events

Page 9: HIP -  H osting  I ntegration  P latform

RAIN.js

What is RAIN.js RAIN (Rapid Application Integration) is a frontend platform designed to build robust, extensible, efficient, highly scalable enterprise web applications that can run on desktop and mobile devices.

HIPR

ain

Resource Server

Client Runtime

Clo

udI

A

Public Frontend ServiceRAIN IDE

ServerRuntime

Service Stack

Service Management Guidelines

Page 10: HIP -  H osting  I ntegration  P latform

RAIN - Component Overview

RAIN-IDE

Browser (Desktop/Mobile)

Node.js (Server)

Web-appAggregation context

Inter-web-fragments-communication

Aggregation-context-component-registry

Component-registry

Application-management

RAIN-server-runtime

Static ressource server

(Webserver or CDN)

Intents-resolver

http-session-manager

RAIN-client-runtime

IDE Plugin

Web-appWeb-fragment Web-fragment Web-

fragment

Namespace- manager

Authorization- manager

HTML-render-engine

HTML-render-engine

Dependency-resolver

User preference manager

User-preference API

Console

RAIN-SDK

RAIN-Project-management

Web-fragment-management

Localisation-Tooling

Integrated-build-system

Debuger/Profiler

Documentation Publisher

Wizards (Project, Web-fragment,

localisation, packaging, deploy)

Source Editor

Component palette

Graphical debugger

Web-fragment-validator

Help systemManual-pages

Web-fragment

HTMLCSS

JavaScriptImages

Video Files…

Page 11: HIP -  H osting  I ntegration  P latform

RAIN core platform components

Environment for server-side-html-rendering, authorization management, application management, component-registry (Central storage for component descriptors), JavaScript dependency resolver, http-session-handling, intents-handling and the user preferences manager.

RAIN-server-runtime

Software development kit for RAIN based web-apps.

RAIN-SDK

Public HTTP interface that serves a set of operations that can be used in a wide variety of applications to enforce access control in a standardized manner. Utilizing an issued access token, the API allows application developers to query for authenticated users and granted authorities.

RAIN-client-runtime

Plugin for common Integrated Development Environment. RAIN-IDE comes with a Source editor, a WYSIWYG Component pallet that enables rapid prototyping, a graphical debugger and a help system.RAIN-IDE

Web fragments (Html, CSS and JavaScript) to build frontends for web apps with clear separation between frontend-tier (Markup (html, CSS), client-side behavior (JavaScript)) and business-logic-tier (middleware).Web-fragments

Page 12: HIP -  H osting  I ntegration  P latform

RAIN component runtimes

Runtime for server-side JavaScript, using event-driven, asynchronous I/O to minimize overhead and gain high scalability.Node.js

Integrated development environment that hosts the plugin “RAIN-IDE” to edit RAIN based apps with the WYSIWYG approach.

IDE

Server that hosts static content like HTML, CSS and JavaScript. The static-resource-server hosts the sources of web-fragments that can be distributed by the RAIN-Platform. As a Static-resource-server a web-server or a content distribution network can be chosen. RAIN supports out of the box a deployment within a distributed environment to gain high scalability.

Static-resource-server

Web-browser that runs the RAIN based web-app.

Browser

Page 13: HIP -  H osting  I ntegration  P latform

Core concepts

Page13® 1&1 Internet AG 2010

Asynchronous HTML-rendering – Enables that complex web-apps can be rendered asynchronously and partially. By this the response times of user interfaces can be optimized. I.E. if a web-app has a frame and a table, the frame can already be rendered while some backend services still collect data for the table. The rest of the table can be rendered and pushed to the browser as soon as the backend service provides his data

Effective resource loading - RAIN manages resource dependencies on server-side during run-time and does a name space isolation to avoid conflicts before code snippets get transferred to the client. This helps although to optimize on concurrent connection limits of browsers that can be performance bottlenecks if multiple files need to be downloaded by browser.

Fallback mechanisms for cross-browser support - In RAIN fallback mechanisms for different browsers are provided. This means that RAIN client runtime will work correctly in various browsers. I.E if html 5 websockets are not supported by the browser, then other methods like flash sockets, xhr-polling or long-polling will be used. Based on User-Agent detection RAIN can decide if a html, css or JavaScript snippet is supported by a browser and deliver it only in that case. In case the snippet is not supported RAIN offers the possibility to either deliver an alternative or to not deliver it at all.

HTTP Caching - As static content can be pre-rendered it can be cached by standard HTML.

Markup and data-layer - In RAIN, it is possible to customize data rendered into markup on the server side using the data layer. This is helpful for avoiding XHR number of requests constraints imposed by different browsers. In addition it guarantees that when a web fragment is rendered no flickering or any undesired visual effects will be present (in comparison with other frameworks that first render the html and then manipulates it from client side javascript).

Page 14: HIP -  H osting  I ntegration  P latform

RAIN Benefits - Web-fragment-aggregation and recursive composition

Discrete Web-fragments• Aggregation from web-fragments out of multiple (sub) web-fragments during runtime on demand• Reuse of web-fragments either multiple times in the same, or in different aggregation contexts• Simple communication between web-fragments without complex “intercom” mechanisms (no Iframe,

Intents)• Simple composition of user interfaces• De-coupled testing of web-fragments• Centralized management for web-fragments i.e. to manage a common branding

Multi device support• Holistic support for different client platforms: classic browser, smartphones, tablets• HTML5 ready• Dynamic UI layouts at runtime on demand

Internationalisation• Localisation support for text, images and layouts• Dynamic language selector: switch display locale in frontend at runtime• Generator for localization files

Further USPs• Asynchronous rendering engine• Messaging support / Intents mechanism • OAuth2 security integration with CloudIA

Page 15: HIP -  H osting  I ntegration  P latform

CloudIA

What is CloudIA? CloudIA offers to its customer (internal and external developers) an easy integration into the 1&1 hosting system landscape. CloudIA can be understood as a broker between its customers and offers cross cutting functionalities. These functionalities allow developers to concentrate on their core competence. We assure for our customers a consistent RESTful service oriented architecture.

HIPR

ain

Resource Server

Client Runtime

Clo

udI

A

Public Frontend ServiceRAIN IDE

ServerRuntime

Service Stack

Service Management Guidelines

Page 16: HIP -  H osting  I ntegration  P latform

CloudIA - Component Overview

Public Frontend Services

Protected Backend Services

PSS Messaging Broker (PSS2PSS)

Realm based Service Stack

OAuth2 Authorization

Provider

DataStorage Cluster

AC SelfService UI

SSO

SDK‘s(Java, JS, PHP)

Toolchain

Data Storage Criteria API

Guidelines

Integration Governance Layer

HIP Registry & Request Broker Access Control API(Standard Web Protocol RBAC) Reverse Proxy

Quota Policy Service

Service Management

PSS REST APIGovernance

Documentation Guidelines

Localisation-Tooling

Integrated-build-system

Service Registry

BI Provisioning Service

Resource Metering Service

BI Aggregation Service

Infrastructure Profiling

Error Processing Service

OpenID Authentication Facade

Transparent Proxy

WebSocket Server

Man

agem

ent C

onso

le

Integration Templates

Developer Guidelines

UAS Adapter

Access Control Service Domain Model

Specification

PSS Configuration Service

HTT

P A

PI‘s

PSS Configuration API

Event Notification Service

Page 17: HIP -  H osting  I ntegration  P latform

CloudIA components (Authentication/Authorization) in detail

OpenID protocol wrapper for existing 1&1 identity stores acts as OpenID provider and/or relying party for any service consumer. It enables scoped and secure integration of 3rd party applications (e.g. community apps) into 1&1 hosting application landscape while reducing development efforts of both internal and external teams in relation to authentication scenarios.

OpenID Authentication Facade

This component provides OAuth2.0 protocol support by wrapping the generic, role based security infrastructure of Access Control Service. OAuth2 empowers application developers to secure their resources on behalf of their users in a federated environment without the need for the users to reveal their credentials.

OAuth2 Authorization Provider

This is a public HTTP interface that exposes and standardizes Access Control Service query operations to those PSS applications that require these operations in order to secure resources, which are accessed through the PSS application. Utilizing an issued access token, the API allows application developers to query for authenticated users and granted authorities.

Access Control API

It is an infrastructure engine serving basic access control features on which the open authentication and authorization protocol flows rely. Application developers can manage roles, permissions, and trusted clients within a realm for services requiring protected access.

Access Control Service

Page 18: HIP -  H osting  I ntegration  P latform

CloudIA components (Storage and lookup) in detail

Central point to dynamically register and lookup bundles, backend services, RAIN Components and Monitoring elements that are within a use case scenario.HIP Registry

A public proxy service that forwards inbound requests to the respective internal web-server that provides the requested resources. Thus, all platform services are exposed to clients over a common domain. Reverse Proxy

A public HTTP interface that enables client applications to persist and retreive any kind of data they desire. Besides common key/value operations, the API provides filtering abilities (criterias) to conditionaly retreive data not only by their keys but also by other descriptive attributes.

DataStorage Criteria API

A scalable and reliable storage infrastructure that manages any kind and amount of data application developers require to manage seamlessly and transparently. Applications may also share managed data based on a fine-grained access level or group data by using the namespace concept.

DataStorage Cluster

Page 19: HIP -  H osting  I ntegration  P latform

CloudIA components (PSS onboarding and governance) in detail

An API exposing operations of PSS Configuration Service permitting each PSS application independently configuring its own realms. By feeding a canonical domain model, applications can configure their runtime specific properties such as access permissions or client quotas.

PSS Configuration API

A Lightweight message-bus enabling decoupled PSSs exchaning information. PSS Messaging Broker

(PSS2PSS)

A Peristence layer for application specific properties a PSS can configure by using the public PSS Configuration API. The Service also distributes certain properties to the respective service they belong to, e.g. access control configurations are delegated to the Access Control Service.

PSS Configuration Service

A service that acquires, filters, and delivers information about platform events. In order to avoid fragmented event notification solutions for different concerns, such as alerting exceeded quotas, applications have to listen only on one single channel with one common event model.

Event Notification Service

Measures and enforces quotas PSS applications can set to limit client requests and resource consumption. Supported quota metrics such as amount of data per request or requests per timeframe may be limited to any or certain clients of an observed application.

Quota Policy Service

Page 20: HIP -  H osting  I ntegration  P latform

Core concepts

Page20® 1&1 Internet AG 2010

Stateless, distributed services – contrary to a centralized and monolithic software solution that integrates Product Service Systems and support applications, CloudIA consists of several, distributed services, whereby each service is dedicated to a certain feature scope. None of the services comprises business logic. Moreover, our platform services are intended to get orchestrated by business solutions and products. To achieve this we use:

HTTP interfaces only that follow RESTful design principles strict HATEOAS lazy service initialisation canonical data model for platform services

Storage for context sensitive data – for scalabiltiy / internationalisation reasons all Product Service Systems are intended to be stateless, the responsibility to manage application states is delegated to the client side. Some Product Service Systems still require to keep track of application state on server side and/or need to exchange context-sensitive data. To support Product Service Systems becoming stateless and self-contained CloudIA offers a scalable data storage to Product Service Systems.To achieve this we use:

NoSQL HA cluster secured storage realm per client ability to share storage realms REST interface with criteria like queries monitoring callback interfaces for clients

Page 21: HIP -  H osting  I ntegration  P latform

Core concepts

Page21® 1&1 Internet AG 2010

Token based access – our platform enforces token based access even for backend services. As part of the platform, we offer a fine grained access control based on authorisation token. Every application that wants to integrate, e.g. Product Service Systems, is highly recommended to use that approach in order to participate all in all. To achieve this we do:

intensely support application developers, i.e. with SDK‘s (Java, PHP, JS) and extensive guides leverage a lightweight and simple mechanism to retrieve and validate access token

Bridge legacy and target architecture – since not all services in the hosting system landscape are refactored regarding to the new target architecture, we will support legacy services in our service stack as well along the migration path. To achieve this we provide:

documented guidelines and patterns for Product Service Systems exemplary implementation of services for Contract Management

Open standard Web protocols – any service uses common standards and protocols only. There will be no proprietary workflows or extensions. One major goal is a straight forward integration of 3rd party applications, regardless whether provided by internal or external partners. All adopted technologies and solutions are aligned to that goal. To achieve this we use:

IETF & OASIS industry standards one common protocol stack for all services prototypes for integration scenarios

Page 22: HIP -  H osting  I ntegration  P latform

Benefits - CloudIA reflects and addresses existing and upcoming issues of 1&1 hosting products.

Page22® 1&1 Internet AG 2010

Maintainability• tracking and limiting of access level, origins, quotas and features offered to the clients on behalf of

Product Service Systems• exclusive use of open web standards and lightweight protocols only enables Product Service Systems to

integrate loosly coupled with other services• de-coupled testing• easy and precise failure detection

Internationalisation • standardized, guided design of services and API’s significantly reduces efforts for international rollouts

and localization• clear separation of localizable content• independent ad hoc service deployment due loose coupling• supports fulfillment of different legal terms and conditions due multitenancy support

User experience• standardized SingleSignOn permits users to jump seamlessly and transparently between SSAs• authentication support for 1&1 Account and other credential pairs• community readiness, integrating 3rd party applications with less efforts

1&1 Hosting Target Architecture• enables coherent orchestration of Product Service Systems and self-contained services accordingly• cross cutting concerns such as authentication and authorization solved in a reliable and

future-proof way• generic and coherent communication interfaces for Product Service Systems whenever they are

required to exchange information with each other

Page 23: HIP -  H osting  I ntegration  P latform

List of HIP Features ready for PSS DEVELOPMENT Integration on August 7th 2012 (Release 1)

Development Integration Environment

HIP Registry

Authentication Facade

Data Storage

Contract Management

CloudIA SDK

Documentation

Guidelines

Asynchronous Rendering Engine

Messaging Support

Modular RAIN SDK

Internationalization (I18N)

CSS Media Query Support

Visual Elements

Exception Handling

HTTP Session

Documentation

Page 24: HIP -  H osting  I ntegration  P latform

HIP Releaseplan 2012

Page24® 1&1 Internet AG 2010

Jul Sep Okt NovAug Dez

CloudIA Coding NightDate: 09.08.2012

Release 1 Release 2 Release 3

The primary target of this release is to make important HIP Features available on our

DEVELOPMENT Integration Environment so that other

Hosting product teams (like Domain SSA) can start

development / integration with HIP Features.

Release 1 (07.08.2012)

The primary target of this release is to make important HIP Features

production-ready and directly integrate / use them in some of

our Hosting products (like Control Panel and Domain SSA).

.

Release 2 (09.10.2012)

The primary target of this release is not defined yet. One of the main

objectives is to bring HIP into Production.

Release 3 (11.12.2012)

New Releases after every 3 Sprints / 9 Weeks

Page 25: HIP -  H osting  I ntegration  P latform

Ressources

Page25® 1&1 Internet AG 2010

                     

Related Links

RAIN https://github.com/rainjs/rainjs

HIP Documentation http://developers.1and1.com/hosting/hip/index.html

REST API Guidelines http://developers.1and1.com/hosting/guidelines/rest

HIP Forum http://forum.intranet.1and1.com/index.php?topic=310.0

HIP Blog https://inside.1and1.org/blogs/blog?dhip

HIP JIRA https://issue.tool.1and1.com/browse/HIPPIE

Page 26: HIP -  H osting  I ntegration  P latform

Backup

Page26® 1&1 Internet AG 2010

Page 27: HIP -  H osting  I ntegration  P latform

1&1 Hosting System Landscape example use-case – token based access on provisioning data

Clo

udIA

Dom

ain

<<R

ES

Tful

>>

D

omai

n C

onfig

AP

I Domain SSA

OAuth2 Authorization

Provider

Access Control API

Access Control Service

Con

tract

<<R

ES

Tful

>>

C

ontra

ct A

PI

Contract Selection SSA

Migraene

Comet Services

DomainAuftragmatrix

Provisioning Information Manager

Domain

Rain

Server Runtime(i.e. Session Manager

Domain

Domain Backend Services

2 - create token

3 - store token

4 - read token

5 - GET /domains

6 - verify token

Callback URL

7 - GET /articleItems

8 - verify & decrypt token

1 - contractId 12345

9 - Articles123:AG-AN-FN-QN456:AG-AN-FN-QN789:AG-AN-FN-QN

10 - Domains1and1.comgmx.netweb.de

UseCase “list domains“:1. select contract2. create unique OAuth2 token3. store token at runtime4. read token from runtime5. call domain list, using token6. verify token and retrieve callback url (PIM)7. call article list using token8. verify and decrypt token (id of currently

selected contract)9. get articles for contract from migraene10. use article list to retrieve domains from

migraene

Page 28: HIP -  H osting  I ntegration  P latform

Business Support Systems (BSS)

Billing

HIP

Customer

Product Service Systems (PSS)

Dom

ain

RESTful API

SSA

Order PlatformOrder Entry Order Management

Rai

n

Resource Server

Client Runtime

Clo

udI

A

Public Frontend Service

Contract

RESTful API

SSA

Em

ail

Provisioning API

Supplier

Supplier

RAIN IDE

ServerRuntime

Service Stack

Service Management Guidelines

RESTful API

SSA

Supplier

1&1 Hosting System Landscape - Legacy

O r d e r T r i g g e r

Process Platform

Controlpanel

controlpanel-mambaFrontendcontrolpanel-

mambaFrontendcontrolpanel-mambaFrontend controlpanel-

logincontrolpanel-logincontrolpanel-

login

controlpanel-hostingorder

controlpanel-app-userdatacontrolpanel-

app-userdatacontrolpanel-app-userdata

controlpanel-app-domain

Page 29: HIP -  H osting  I ntegration  P latform

1&1 Hosting System Landscape – Migration path

Page29® 1&1 Internet AG 2010

Page 30: HIP -  H osting  I ntegration  P latform

HIP

® 1&1 Mail & Medien GmbH 2011

ControlPanel Frontend Container

Rain CloudIA

ControlPanel Evolution Path

DomainMailMy Data

ContractCustomerBilling

ControlPanel

DomainMailMy Data

ContractCustomerBilling

HIP

Frontend Container

Rain CloudIA

ControlPanel

DomainMailMy Data

ContractCustomer

Domain SSA

Contract Selection

My Data

Asyncronous serverside rendering (RAIN)Utilization of common services (CloudIA)Frontend container

EnablementDe-coupled

evolution for every PSS/BSS*

*Each PSS/BSS decides if and when to follow the evolution, propably, if bigger business requirements show up in the roadmap

Proj

ects

CP Performance QuickWinsCP UX improvmentsCP I10NCP regional deployment

Consolidation and refactoringof legacy ControlPanel Evolution to the new Control Panel

WebHostingSSA

MailXChangeSSA

MS ProdutsSSA

Starting Q1 ‘13

CP External login serviceCP Loginflow cleanupCP Pustefix Version Update

Ongoing

Q1 ‘13

Q1 ‘13

Q2 ‘13

Q1 ‘13

tbd

tbd

Page 31: HIP -  H osting  I ntegration  P latform

Frontend Container

ControlPanelMiddleware

® 1&1 Mail & Medien GmbH 2011

Possible scenarios for BSSA Evolution

Frontend Container

ControlPanelMiddleware

BSSABSSA

Business Systems / Leading systems

FacadeFacade

Currently planned scenario within PF1ST Evaluation with business systems if we can enhance the scope of the BSSAC and BSSAA initiatives to step towards target architecture

Page 32: HIP -  H osting  I ntegration  P latform

1&1 Hosting System Landscape – Migration path

A first milestone when migrating hosting products/ControlPanel will be achieved by clustering related activities in 2 major phases:

1. Migration of common servicesa. outsourcing of user authentication in a separate serviceb. integrating new authentication service with new standardized SSO

solutionc. replacement of observer based data retrieval with event based

communication patternd. shift distributed order process trigger to new Order Management solutione. move legacy business logic to backend layer partially misplaced in

frontend yet –> domain logic kompl. Im CPf. Implementing RESTful service wrapper for frontend and backend

services

Page 33: HIP -  H osting  I ntegration  P latform

1&1 Hosting System Landscape – Migration path

2. Integrating first citizien a. new SSA frontend solution based on RAIN ready for useb. Integrating BSSA as RAIN first citizien (i.e. invoiceoverview)c. implementing seamless login jumps between Product Service Systems

(ControlPanel, BK Shop, Domain SSA)d. readonly RESTful interface for contract datae. facade for merging and providing data from legacy contract

management, CCD and Comet at one single access pointf. SSA Contract Selection implementedg. DHIP as readonly RESTful service wrapper (config api, caching,

notifications, … )

Page 34: HIP -  H osting  I ntegration  P latform

Page34

HIP Component Overview

Page 35: HIP -  H osting  I ntegration  P latform

Protocols – federated login with OpenID

Benefits from the users perspective – Safe, Faster, Easier!• Safe: user credentials entered only at ONE trusted place• Faster: seamless authentication, user profile data entered only once • Easier: one Web identity instead of many usernames and passwords

Benefits from application developer perspective• user agent based Single Sign On possible• user profiles can be distributed across different but trusted services• control of sharing information• many popular web applications to easily integrate with

How it works

• an OpenID is a global unique URL that is owned by one digital identity e.g. myopenid.1and1.com/maxmustermann

• the OpenID and its credentials are known and validated by a so called IdentityProvider e.g. myopenid.1and1.com

• user authentication via OpenID is requested by a RelyingParty, usually a common web application that has a trusted relationship to the IdentityProvider and serves applications a user wants to access

Page 36: HIP -  H osting  I ntegration  P latform

Protocols – OpenID flow

Final thoughts:

• many OpenID capable Web Sites already out there

• de facto standard on many popular we platforms

• broad support in different programming languages, SDKs and HTTP server

• therefore easy to integrate

• and lower risk and fewer bugs in connection to authentication when using a ready-made proven APIs

Page 37: HIP -  H osting  I ntegration  P latform

List of HIP Features ready for PSS DEVELOPMENT Integration on August 7th 2012

Development Integration Environment

HIP Registry

Authentication Facade

Data Storage

Contract Management

CloudIA SDK

Documentation

Guidelines

Asynchronous Rendering Engine

Messaging Support

Modular RAIN SDK

Internationalization (I18N)

CSS Media Query Support

Visual Elements

Exception Handling

HTTP Session

Documentation

PSS sample app („DCS light“) with best practice solution Demonstration of SDK in CloudIA Coding Night Maven archetypes for simple PSS setup / generation OAuth2 authorization model support HowTo / tutorials for HIP integration Ready to use for local development

Stable Dev environment (VMs, DB-cluster, ...) GSC as development base Maven 3 integration Continuous Integration (incl. release process) Automated integration tests (Fitnesse) System monitoring as required by IT-Ops IT-Security checklist for our applications RESTful API Guidelines applied on all services http://developers.1and1.com/hosting/hip/index.html

Infrastructure documented HIP services documented (REST API, system context diagram,

UML) Operations manual for all services (aligned with Hosting-OPs) Contract selection with RAIN frontend integration Provisioning Information Manager supports

caching, filtering, paging of data articleItems from migraene for legacy migration provisioningItems for new SSA

Login functionality using UAS (IDP, NS), including

facade of user management Mapping 1&1 Account to Customer (currently

mocking services from Munich) Error handling for Login and Logout Session Store (CRUD, Bulk operation, data security via OAuth2)

Data Storage Criteria API with support for filtering and paging of

data Data Storage Cluster using a highly scalable NoSQL database

(Cassandra)

REST API Guidelines (thoroughly used, not provided) Logging Guideline I18N Guideline Caching Guideline OAuth2 Authorization Guidelines

Service registry used for HIP internal services (CRUD, filter, …) Register PSS services Request Broker aka service lookup functionality (with advanced

filtering)

Documentation (HowTo, Use Cases mapped to OAuth flows PSS Archetype with OAuth2 support (see SDK) All HIP Services secured (including fine grained client config)

Page 38: HIP -  H osting  I ntegration  P latform

List of HIP Features ready for PSS DEVELOPMENT Integration on August 7th 2012

Development Integration Environment

HIP Registry

Authentication Facade

Data Storage

Contract Management

CloudIA SDK

Documentation

Guidelines

Asynchronous Rendering Engine

Messaging Support

Modular RAIN SDK

Internationalization (I18N)

CSS Media Query Support

Visual Elements

Exception Handling

HTTP Session

Documentation

Server side API Client side API Client side publish / subscriber Intents mechanism (client / server)   Create project   Create component   Start / Stop server   Generate localization files

Text localization Images localization Layout localization Dynamic language selector Server side / client side support Button Drop Down Button Drop Down Menu Checkbox Radio Button Group of Checkboxes

Group of Radio Buttons Progress Bar (Quota

Indicator) Datagrid with support for

paging, sorting and filtering

1&1 Account login component OAuth2 integration with CloudIA Authorization for Frontend Components ( compliant with Role

Based Access Control 2.0 Standard Dynamic security conditions (pluggable security hooks

specific to each application).

Custom Exception Pages Generic Handler for Error handling Pluggable storage with default CloudIA data store integration

(OAUTH 2 secured) Open source storage for http session (Memory store)