hybris-as-a-service A Microservices Architecture in Action

Similar documents
Cloud Powered Mobile Apps with Azure

DevOps with Containers. for Microservices

Onegini Token server / Web API Platform

From the Monolith to Microservices: Evolving Your Architecture to Scale. Randy linkedin.com/in/randyshoup

Join the Lean Wave. Asanka Abeysinghe Director, Solutions Architecture. WSO2, Inc. Friday, July 22, 11

Donky Technical Overview

Introduction to the SIF 3.0 Infrastructure: An Environment for Educational Data Exchange

Microsoft Dynamics Training

PRIVACY AWARE ACCESS CONTROL FOR CLOUD-BASED DATA PLATFORMS

ORACLE DATA SHEET KEY FEATURES AND BENEFITS ORACLE WEBLOGIC SERVER STANDARD EDITION

Rapid Application Development. and Application Generation Tools. Walter Knesel

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

Azure Day Application Development

Oracle Database Cloud

Microservices on AWS

Cloud Powered Mobile Apps with Microsoft Azure

ArcGIS Web Mapping. Sam Berg, esri

Oracle Communications WebRTC Session Controller: Basic Admin. Student Guide

How To Set Up Wiremock In Anhtml.Com On A Testnet On A Linux Server On A Microsoft Powerbook 2.5 (Powerbook) On A Powerbook 1.5 On A Macbook 2 (Powerbooks)

How To Write A Trusted Analytics Platform (Tap)

Sage Integration Cloud Technology Whitepaper

Alan Conley, John Belamaric. Bloxfest - Containers

SENSE/NET 6.0. Open Source ECMS for the.net platform. 1

automated acceptance testing of mobile apps

Welcome to the Force.com Developer Day

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

ORACLE WEBCENTER PORTAL

Copyright Pivotal Software Inc, of 10

How to select the right Marketing Cloud Edition

SAP HANA Cloud Platform. Technical Overview Uwe Heinz

How to Integrate and Extend Oracle CON3755. Gary Williams Principal Curriculum Developer Mobile Cloud Applications October 2014

100% NO CODING NO DEVELOPING IMMEDIATE BUSINESS -25% -70% UNLIMITED SCALABILITY DEVELOPMENT TIME SOFTWARE STABILITY

Launching the Next Generation Satellite Ground System on Cloud Foundry and Microservices

50 shades of Siebel mobile

Manjrasoft Market Oriented Cloud Computing Platform

Build your own Fiori hybrid mobile app rapidly using SAP Web IDE Marc Anderegg, SAP SESSION CODE: BT404

Avaya Inventory Management System

Collaborative Open Market to Place Objects at your Service

Build Your Mobile Strategy Not Just Your Mobile Apps

Middleware- Driven Mobile Applications

Oracle Cloud Bjarte Drivenes Enterprise Architect. Copyright 2014 Oracle and/or its affiliates. All rights reserved.

CARRIOTS TECHNICAL PRESENTATION

SRM User Interface Add-On 1.0 Overview. Michael Jud March 2013

Linux A first-class citizen in Windows Azure. Bruno Terkaly bterkaly@microsoft.com Principal Software Engineer Mobile/Cloud/Startup/Enterprise

Mashups and Smart Apps

Apache Sling A REST-based Web Application Framework Carsten Ziegeler cziegeler@apache.org ApacheCon NA 2014

tibbr Now, the Information Finds You.

Building native mobile apps for Digital Factory

The Enterprise wants WebRTC and it needs Middleware to get it!

XpoLog Competitive Comparison Sheet

Mobile development with Apache OFBiz. Ean Schuessler, Brainfood

Corporate Bill Analyzer

WebSphere Commerce Overview for Vector IBM Corporation

Introducing. automated functional testing of mobile apps. Karl Krukow, CTO, LessPainful GotoAMS, May, 2012

MASHUPS FOR THE INTERNET OF THINGS

Apigee Edge API Services Manage, scale, secure, and build APIs and apps

Power Tools for Pivotal Tracker

Evaluation of Xamarin Forms for MultiPlatform Mobile Application Development

SAP HANA Cloud Platform, Portal Service: Overview SAP Cloud Experience and SAP Portal Product Management May 2016

OpenEdge and Mobile Applications

PEGA MOBILITY A PEGA PLATFORM WHITEPAPER

Monitoring HP OO 10. Overview. Available Tools. HP OO Community Guides

Rapid Development of Smart and Self-Adaptive Cloud, Mobile & IoT Applications - Accelerating the Last Mile of Cloud Computing

Foundations for your. portable cloud

SwiftScale: Technical Approach Document

Collaborative Open Market to Place Objects at your Service

Globus Auth. Steve Tuecke. The University of Chicago

Open Source Multi-Cloud, Multi- Tenant Automation in the cloud with SlipStream PaaS

IBM MobileFirst Hands-on Labs environment with Linux on z Systems and z/os

The Landscape of Mobile Apps for Cityworks

Apache Sentry. Prasad Mujumdar

Mobilize workforce using Fiori apps: Graybar Story

Integrating Mobile apps with your Enterprise

Big Data Approaches. Making Sense of Big Data. Ian Crosland. Jan 2016

Sisense. Product Highlights.

Jitterbit Technical Overview : Salesforce

DataNet Flexible Metadata Overlay over File Resources

ni.com Remote Connectivity with LabVIEW

How To Use Titanium Studio

SAP HANA Cloud Platform

AdvOSS Provisioning Engine

Axway API Portal. Putting APIs first for your developer ecosystem

CLOUD TECH SOLUTION AT INTEL INFORMATION TECHNOLOGY ICApp Platform as a Service

DevOps: Multiplatform Application Deployment

Glassfish Architecture.

Migrating Lotus Notes Applications to Google Apps

Anders Keis Hansen. Solution Architect Commaxx Danmark

Client Requirement. Master Data Management App. Case Study -

DevOps. Josh Preston Solutions Architect Stardate

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

MongoDB Developer and Administrator Certification Course Agenda

Transcription:

hybris-as-a-service A Microservices Architecture in Action Andrea Stubbe Product Manager at hybris

The Vision

Why Microservices? CLOUD FIRST AUTONOMY RETAIN SPEED COMMUNITY Scale different parts of he application independently Independent teams, freedom to choose technologies Ship new features as soon as they are done, independently Share knowledge, ideas and extensions Microservices sound like a good fit

A cloud platform that allows everyone to easily develop, extend and sell services and applications. DESIGNED TO SCALE Core services for storage, messaging, search and more are built with technologies which are known to scale READY TO USE Persistence, messaging, API security layer - all is there. In the cloud. MULTI-TENANT Infrastructure and core services are shared between all tenants

A cloud platform that allows everyone to easily develop, extend and sell services and applications. NO SECRETS SDK, Core APIs and guidelines are visible to everyone NO SALES CONTACT Just sign up and start COMMUNITY HUB Contribute your knowledge, and offer your own services to partners and companies

A cloud platform that allows everyone to easily develop, extend and sell services and applications. OPEN Use your favorite languages and technologies LOW LEARNING CURVE Tools and an active community help getting you started in minutes SUPPORTIVE Core APIs and SDKs are there to help you, not to restrict you

The YaaS Universe hybris TEAMS DEVELOPERS BUSINESSES CONSUMERS Offer key core services Offer services and applications and use other services Use applications and services to engage with consumers Use applications to interact with businesses

DEVELOPERS Explore Develop Sell

The -Factors

The Factors OPEN TECHNOLOGY LANDSCAPE Freedom to pick the right tool for the job SCALABILITY OF TECHNOLOGY Linear horizontal scalability: lower costs, less limits on maximal scalability DON T SURPRISE YOUR COSTUMERS Use pre-defined patterns and best practices to ensure a consistent API and UI. Use technologies your customers know. SMALL, INDEPENDENT SERVICES The perfect service has zero dependencies, functionality limited to one domain. Keep the design simple. DESIGN FOR FAILURE If it can be down, it will be down. Design for failure and recovery. API FIRST Focus on developing rich APIs and develop the functionality later. Design the API for your customers SELF SUFFICIENT TEAMS Teams can take a product from the concept to production with limited dependencies outside of the team RELEASE EARLY, RELEASE OFTEN Establish a deployment pipeline that allows to deliver without fear of breaking things RESPONSIBILITY You build it, you run it. And release it, scale it, maintain it, support it, improve it,

The Factors - Balance OPEN TECHNOLOGY LANDSCAPE Freedom to pick the right tool for the job

The Factors - Balance OPEN TECHNOLOGY LANDSCAPE Freedom to pick the right tool for the job RESPONSIBILITY You build it, you run it. And release it, scale it, maintain it, support it, improve it,

Architecture

Layers Applications Storefront HTML / JS Backoffice functionality multi-tenant Business Mash-ups Product Details Checkout Flow Business Services Product Inventory Price Cart Order More Core Services Document Storage Media Storage User / Auth Pub Sub / Events Email More Backing Services Mongo DB Mongo DB apigee Kafka SMTP Server More PaaS Cloud Foundry

or just a set of APIs Storefront HTML / JS Multitenant Builder Awesome mobile App Document Storage Mongo DB Media Storage Mongo DB User / Auth apigee Pub Sub / Events Kafka Product Inventory Price Product Details Checkout Flow Cloud Foundry

The Role of Mash-ups HTML5 Storefront IOS Native App Android Native App If clients would use microservices directly, it «moves a lot of business logic & error handling logic to the clients «requires multiple requests for standard flows Product Details Product Price Inventory Cart Media

The Role of Mash-ups HTML5 Storefront IOS Native App Android Native App Mash-ups can be used to aggregate service calls or to compose service flows «higher performance Product Details «optimized APIs for applications «More consistent behavior of applications «promotes isolation of functionality into microservices (as it moves most dependencies into mash-up layer) Product Price Inventory Cart Media

Writing Microservices

The Anatomy of a Service RESTful API Your Technology goes here «Services are consumed over RESTful APIs «Deployment Configuration matching your containers / infrastructure «Everything in between is up to you! Deployment Configuration

The Anatomy of a hybris Service RESTful API Your Technology goes here Deployment Configuration Modeled in RAML JSON for payloads Traits and schemas RX Java Hystrix Groovy, Scala, Go, Node, Ruby, Environment variables Build packs Cloud Foundry

DIY A Service in 3 Simple Steps 1. Develop your service, API first 2. Deploy it to any platform you like 3. Offer it on the App Exchange

Use our Microservices Development Kit DEFINE THE API Using RAML, a simple, open language to model RESTful APIs with YAML and JSON USE THE TEMPLATE Maven based archetype for Java projects Basic Java project API implementation stub API documentation

We use RAML to define APIs /products: type: collection get: is: [paged] description: Gets all products post: description: Creates a new product /{productid}: type: element get: description: Gets a product put: description: Updates a product delete: description: Deletes a product «The RESTful API Modeling Language is an open spec, built on standards such as YAML and JSON «It encourages reuse through pattern-sharing (schemas, traits, types) «Broad tool support to design and test APIs, and to generate server and client code

Common traits ensure consistency traits: -!include http://api.yaas.io/patterns/v1/trait- paged.yaml /products: get: is: [ paged ] http://api.yaas.io/products?pagenumber=2&pagesize=10

Share schemas for input and output schemas: - error:!include http://api.yaas.io/patterns/v1/schema- error.json...400: body: application/json: schema: error { } "status": 400, info": "https://developer.yaas.io/errors/missing.header", "message": "Missing header"

Generate a service stub # Three simple commands mvn archetype:generate [group, artifact, version] mvn clean install mvn jetty:run # Play with the API in the API Console http://localhost:8080

Use existing microservices * Secured with OAuth 2.0 One access token for all APIs * Data and media storage, events, mail, configuration, authorization, authentication, customer, product, order, cart, category, coupons, price, tax, shipping costs

Documentation as part of the codebase - - - title: 'About' layout: document service: 'Email' type: General order: 1 - - - # Introduction The Email Service supports you in sending emails by making a simple REST call with focus on sending emails repetitive. For this it provides a flexible template management based on velocity scripting. ### Examples The email service can be used for sending emails repetitive having some content customizable, for example to:

DEMO WRITE A SERVICE. REALLY FAST.

What you just saw SDKs to develop microservices, API first Builder to manage your services and packages Secured with OAuth2, https, and an API gateway Offer your services on the App Exchange Services for general functionality

REGISTER ON YAAS.IO

THANK YOU