View
220
Download
0
Category
Preview:
Citation preview
HPE Propel Microservices & Jumpstart
August, 2016
Jumpstart Value
− Quickly build modern web applications
• Single page application
• Modular microservices architecture
• Microservice app generator
− Modularity provides better upgradeability and rapid deployment.
− Utilize open source technology such as HTML5, JavaScript, AngularJS,
NodeJS, etc.
− Jumpstart Generator to create “Lego blocks”
− Leverage open source community package when building inside “Lego blocks”
− Supply outside “Lego blocks” functions like user authentication and common
UI layout & themes
− Built using same approach and architecture of Propel
− HPE teams and partners started building web application using Jumpstart
(Survey, Showback, RSS feed, etc.)
Modern Web DevelopmentEnabler
Modern Web Development
Page
changePage
change
Traditional web back-end Web back-end
HTML5 Single Page App
Latest data snapshot
Component change
REST API
Every click results in a wait
while loading the next page
from the server
Reload only changed
components in web page
Client
Side
Server
Side
Modern web development approach− New HTML 5 single page application (SPA) over “traditional” multi page
applications
− AngularJS or ReactJS as open source client side framework for SPA
− NodeJS as open source server side framework
− Java Script end-to-end for front and back end development
Business value− SPA optimized for responsive design to support user experience on
multiple computing devices
− SPA increases performance by refreshing components within a page rather
than entire page
− SPA supports richer user experience and interactions
− Single development skill set, Java Script, for client and server side
development
− Reuse existing code packages and modules, contributed by large open
source community, for Angular and Node. Node (NPM) is the biggest open
source community.
− Faster development cycle by using JSON as a singular data format across
Angular and Node
− Node’s modular architecture optimal to support Microservices
HTML page
HTML page
HTML page
Microservices
Traditional monolithic application− Tightly coupled components or modules
− Single large deployment with all components, modules,
and libraries
− Unable to support rapid deployments practiced by
companies like Google, Amazon, Facebook, etc.
What are Microservices?− Modular way to build applications: one microservice does
one thing and one thing very well
− Loosely coupled services; individual service deployment;
deploy only what’s necessary
− Modular approach to develop and deploy each service
independently
Business value − Faster and continuous delivery via decoupling of
components/services
− Excellent reusability with standardized interface definitions
− Better maintainability across smaller component or
codebase
− Optimize performance at granular component/service level
rather than at a singular application level
− Ideal alignment with containers for deployment
Traditional Monolithic
Application
Microservices
Application
Browser ApacheMySQL
Database
Tomcat
WAR
StoreFront UI
Accounting Service
Inventory Service
Shipping Service
Inventory Web Application
Inventory Service
Shipping Web Application
Shipping Service
Billing Web Application
Accounting Service
Store Front Web Application
Store Front
HPE Propel ArchitectureFoundation
HPE Propel Architecture
Approval
Microservice
My Workstream
Microservice
Shopping
Microservice
Subscription
Microservice
Support
Microservice
RSS Feed
Microservice
Modern web application− Single page application
− Based on open source client (HTML 5, AngularJS) and server side
(NodeJS) framework
− Quickly add capabilities by leveraging large open source
community for AngularJS and NodeJS packages or codebase
− Same tech stack used by leading consumer & enterprise apps
(Google, Facebook, Amazon, eBay, etc.)
Modular components− Easier to extend and change Propel application due to modular
approach
− Modular components based on microservices architecture
− Plug-and-play and build additional components or microservices
Optimized for Experience− Responsive design
− Modular component allows tailored user experience without
affecting other components or microservices
− Apply consistent graphical themes across all components and
microservices
KM
Microservice
HPE Propel Architecture
HPE Propel microservices architecture
− Built from ground up based on microservices
architecture
− Over 15 microservices available such as
shopping, request, subscriptions, approval,
support, and catalog.
− A microservices designed to “do and do one thing
well” and can be deployed separately from other
microservices
HPE Propel microservice components
− Each microservice uses AngularJS as client side
framework to support SPA
− Each microservice uses NodeJS and/or Java as
server side framework
− Each microservice contains all client and server
side components to run independently
− Each microservice can be package in a container
for deployment and management
Request - UI
• Request• List/Details• Dynamic
Request• Actions
Proxy/ Transform/ Decorate
Request Service
Subscription - UI
• Subscription• List/Detail• Modify
Subscription• Subscription
Actions
Proxy/ Transform/ Decorate
Subscription Service
Approval - UI
• Offering• Bundle• List/Details
Proxy/ Transform/ Decorate
Approval Policy Service
Shopping - UI
• Service Offering
• List/Details• Bundle• Request on
Behalf• Shopping Cart• …
Proxy/ Transform/ Decorate
Catalog Service
Pricing Service
Form Service
SPA
AngularJS
NodeJS or
Java
NodeJS
Demo
Walk through different Propel microservices running on ExpressJS(highlight different port number in URL)
HPE Propel JumpstartExtend
Can I build modern web application like HPE Propel?
− Yes! And more using HPE Propel Jumpstart!
What does HPE Propel Jumpstart provide?
− Generate and build microservice (portal app)
− Modular approach to building apps using same modern client
and server side frameworks
− Jumpstart Generator to create “Lego blocks” for building custom
application or microservice, then just fill inside “Lego blocks”
− Developers to focus inside “Lego blocks” for business logics, and
functions outside “Lego blocks” provided by Jumpstart
− Jumpstart functions for outside “Lego blocks”: user
authentication, common UI layout and themes, deployments, etc.
− Building inside “Lego blocks” for business logic can reuse open
source community package for AngularJS and NodeJS
Jumpstart
HPE Propel OOB
Microservice
HPE Propel Jumpstart
Microservice
Jumpstart App
Client Side
Server Side
Lego block for
UE logic
Lego block for
business logic
RSS Feed - UI
• List/Details
• Filter
Proxy/
Transform/
Decorate
RSS Service
SPA
AngularJS
NodeJS
Proxy/
Transform/
Decorate
Same structure
Jumpstart Steps
Generate “Lego blocks” • Create “Lego blocks” for building modern
web application
Build modular SPA • Fill client side “Lego block” with HTML5,
CSS, and AngularJS
• Fill server side “Lego block” with NodeJS
or Java
• Reuse open source community
packages to reduce development time
Deploy on HPE Propel • Deploy each Jumpstart app or
microservice independently
• HPE Propel Jumpstart provides
user authentication and common
UI layout & themes
Step 1 – Generate Step 2 – Build Step 3 - Deploy
Demo
1. Run Jumpstart generator then show new module “Lego block” folders
2. Highlight Showback app
Purchase HPE Propel!
− Jumpstart available to Propel Premium customers
Jumpstart developer profile
− UI developer
− Building 3rd party apps on iOS and Android requires developer
skills and same applies to HPE Propel Jumpstart apps
− JavaScript skill essential and familiarity with modern web
development framework such as AngularJS, NodeJS, Bower,
NPM, and Gulp.
Where to get started
− Google JavaScript, Angular, Node!
− Jumpstart HPE Live Network link
Getting Started on Jumpstart
Thank you
Recommended