hip - h osting i ntegration p latform
DESCRIPTION
HIP - H osting I ntegration P latform. Roadshow. 1&1 Hosting Integration Platform. - PowerPoint PPT PresentationTRANSCRIPT
HIP - Hosting Integration Platform
Roadshow
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.
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
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
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
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
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.
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
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
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…
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
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
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).
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
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
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
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
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
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
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
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
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
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
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
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
Backup
Page26® 1&1 Internet AG 2010
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
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
1&1 Hosting System Landscape – Migration path
Page29® 1&1 Internet AG 2010
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
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
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
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, … )
Page34
HIP Component Overview
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
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
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)
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)