Deploying Fiori at Scale

Deploying Fiori at Scale

A greenfield implementation of SAP S/4HANA for one of SAP’s long-time customers demanded a modern, user-experience-centric (UX) approach based on SAP Fiori UX. Yet deploying around 1,400 apps to users in more than 50 countries proved quite a challenge. Join this session for a full-stack view of our solution to this challenge, covering hosting infrastructure, network optimisation, personalisation of SAP Fiori Launchpad, custom app development, and related topics.

Presented at SAP Online Track 2020.

A5604f2015f157ee20ceb1ea6e609bc9?s=128

Sascha Wenninger

May 31, 2020
Tweet

Transcript

  1. Public Fiori at Scale Sascha Wenninger SAP Online Track 2020

    https://slides.sufw.me/sot113
  2. Public A Global Company 2

  3. Public A Global Workforce 3 11,500 people 57 countries

  4. Public 8 End-to-End Business Processes Business plan to reporting Market

    intelligence to order to cash Issue to resolution Source to purchase to pay Plan to inventory Project inception asset acquire to retire to project closure Recruit to hire to terminate Master data management Business budgeting, forecasting, month end, half year and full year reporting. Opportunities, bid management, sales contracts & orders, shipments, billing & accounts receivables. Complaints management. I.e., returns, credit notes. Sourcing, purchase contracts and orders, goods receipt, accounts payable. Sales and operations planning, distribution requirement planning, material requirement planning, discrete/continuous manufacturing, goods receipt in stock. Project approvals process, asset acquisition & maintenance, integration to fixed-assets, asset obsolesce & project closure. Recruitment, on boarding, succession planning, performance review, payroll, mobility, off boarding and organisational structure. Create / change / delete master data (i.e. customers, vendors, SKU’s) and enterprise structure, (i.e., company codes, plants, storage locations). 1. 2. 3. 4. 5. 6. 7. 8.
  5. Public Architecture

  6. Public 6

  7. Public Business Vision One System Consistent processes globally Quality Master

    Data Controlled IT system risks Predictability Visibility One way of working
  8. Public Technology Vision Anywhere, Any Device Productivity

  9. Public

  10. Public

  11. Public

  12. Public Architecture

  13. Public Azure Our Architecture S/4HANA 1809 Business Suite (PY) Business

    Suite (GTS, EM) HANA 2.0 HANA 2.0 Front-End Server Web Dispatcher
  14. Public Azure …if we were doing it again… S/4HANA 1809

    Business Suite (PY) Business Suite (GTS, EM) HANA 2.0 HANA 2.0 Front-End Server Web Dispatcher
  15. Public Landscape Design Highly customer-specific! • Greenfield or Brownfield? •

    How many systems? How many S/4HANA? • SaaS footprint? • Scalability? Take the time to plan this! Also see SAP Fiori Deployment Options and System Landscape Recommendations
  16. Public Location

  17. Public Choosing a Location Availability of SaaS apps IaaS feature

    availability Legal & Privacy Network connectivity Costs
  18. Public Network Bandwidth Source: https://global-internet-map-2018.telegeography.com

  19. Public IaaS Cost Source: https://azureprice.net/Region

  20. Public HTTP/2

  21. Public What is it? New version of HTTP, feat: •

    Binary transfer • Multiplexing • Header Compression • Encryption
  22. Public Multiplexing With HTTP/1.1, browsers open 4-8 TCP connections per

    origin For each connection: • TCP Handshake (2 Round-Trips) • TLS Handshake (2+ Round Trips) • TCP Slow Start HTTP/2 Multiplexing avoids this! 1 TCP Connection for everything
  23. Public Basic Setup Requires kernel >= 7.49 WebDispatcher and ICM

    support this SSL mandatory! 2 Steps: 1. icm/HTTP/support_http2=true 2. Restart ICM More info: Nick Yang’s blog post SAP Web Dispatcher ABAP System Java System ICM HANA DB HANA DB HTTP/2 HTTP/1.1 ICM
  24. Public Advanced Setup Requires kernel >= 7.49 WebDispatcher and ICM

    support this SSL mandatory! 3 Steps: 1. icm/HTTP/support_http2=true 2. wdisp/support_http2_to_backend=true 3. Restart ICM More info: Nick Yang’s blog post SAP Web Dispatcher ABAP System Java System ICM HANA DB HANA DB HTTP/2 HTTP/2 ICM
  25. Public Performance Gains 0 1 2 3 4 5 0

    2 4 6 8 10 12 14 16 18 20 22 24 Frequency Load Time (n=10) Fiori Launchpad: Load time -20% 18s 14s
  26. Public SAPUI5 CDN

  27. Public +

  28. Public Akamai Edge locations Source: Akamai

  29. Public

  30. Public SAPUI5 CDN Read more: Blog post by Jorge Baltazar,

    or Note 2526542 Map credit: $200inaire ~200ms ~20ms
  31. Public Will it Help? Often A Good Idea, but depends

    on network topology • Where are your users? Is Akamai really “closer”? • Do you have Riverbed WAN Acceleration? • Is your internet link congested? • Is your proxy slow? • Individual results will vary
  32. Public Our Experience with Fiori Launchpad HTTP Requests 2.6 MB

    550 kB HTTP Requests 39 37 SAP Front-End Server SAPUI5 CDN
  33. Public 0 1 2 3 4 5 0 2 4

    6 8 10 12 14 16 18 20 22 24 Frequency Load Time (n=10) Fiori Launchpad: Load time Performance Gains -20% 18s 14s -20% 11s
  34. Public Riverbed WAN Optimisation

  35. Public How it Works Azure Office

  36. Public One Week’s Traffic

  37. Public One Week’s Traffic

  38. Public One Week’s Traffic Reduces “base load” on the network!

  39. Public Access from Anywhere

  40. Public 0 50 100 150 200 5 10 15 20

    25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 More Workers on Site Access from Anywhere 3,500+ Workers at Customer Sites 400+ Customer Sites “Access SAP from any Computer”
  41. Public

  42. Public Azure Application Proxy Azure App Proxy Connector https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/application-proxy

  43. Public Azure Application Proxy • Managed by Azure • Single

    Sign-On with MFA • Pre-authentication • WAF features • Scalable • Secure • Cheap
  44. Public Software Currency

  45. Public Software Currency Keep up to date! Update your Front-End

    Server! – Performance improvements (e.g. FES 5.0) – Features (e.g. in-place GUI for HTML) Beware of version dependencies: Note 2618605 – usually some updates needed in all systems Beware of custom themes and dependencies with UI5 library
  46. Public Software Currency Stateful Application Container for SAP GUI Improves

    performance for launching GUI for HTML and Web Dynpro Refer to Jocelyn Dart’s blog post on how to set this up Launchpad Generation Upgrading to FES 5.0 reduced load time by ~30%! 11s -25% 8s
  47. Public Google Analytics

  48. Public Visibility Read more: Blog post by Nathan Ingram

  49. Public Our Scope

  50. Public 1,424 Fiori Tiles 456 UI5 apps 75custom Analytics Tooling

    GUI for HTML N W B C UI5 URL Link Web Dynpro UI Technologies
  51. Public Prepare for the Effort

  52. Public Activating standard apps SAP-delivered Roles often don’t align to

    company processes Installation via Rapid Content Activation is not perfect… (though much improved since 1610/1709) Troubleshooting takes effort! Discover Activate Troubleshoot Evaluate 3.5 Apps/person/day 180+ SAP Incidents
  53. Public Team Structure 4 Basis consultants Close collaboration with Security

    Once activated, it’s all about Security! Technology Development Basis Fiori Security
  54. Public

  55. Public

  56. Public

  57. Public Design Thinking

  58. Public But… “Big Bang” Go-Live ~630 Jobs (personas) 57 countries

  59. Public Business Process Management

  60. Public Top-Down Decomposition E2E Model Process Model Process Step Value

    Chain Diagrams
  61. Public E2E Model Process Model Process Step Value Chain Diagrams

    Top-Down Decomposition Generated by SolMan from lower-level models
  62. Public E2E Model Process Model Process Step Value Chain Diagrams

    Top-Down Decomposition
  63. Public Value Chain Diagrams Top-Down Decomposition E2E Model Process Model

    Process Step
  64. Public Each Process Step has Executables Links to Fiori App

    ID, Semantic Object
  65. Public E2E Model Process Model Process Step Value Chain Diagrams

    8 x 38 x 149 x 498 x 4,257 x BPM Library
  66. Public Job-Role Mapping Person Job Swimlane Role Fiori App

  67. Public FLP & Security Process Models + Org Structure Authorisations

    + Fiori Launchpad content = Person Job Role
  68. Public Target Design (This is dummy data from the dev

    system!)
  69. Public Target Design Tabs represent “Level 2 Processes” Sorted alphabetically

  70. Public Target Design (This is dummy data from the dev

    system!) KPI Tiles always at the beginning
  71. Public Target Design Transactional Apps sorted alphabetically

  72. Public Target Design Display-only Apps as Links to save space

  73. Public Target Design Target Mapping ~630 jobs Fiori Group ~38

    groups Fiori Catalog ~38 catalogs • Catalog contains all tiles available for the user to choose from, accessible from App Finder • One Catalog for each Level 2 process defined in BPM • Fiori Group contains Tiles displayed on first logon. • Rules-based organisation (KPI tiles first, alphabetically sorted, Display-only apps as Links) • Target mapping controls which Tiles will be shown/hidden based on Swimlane Roles, which are grouped to form Job Roles.
  74. Public

  75. Public

  76. Public Iterate and refine: Find logical groups Separate into new

    Group
  77. Public Use the App Finder Reduces clutter on the Launchpad

    Lets people discover less-frequently-used apps Encourage users to personalize!
  78. Public Sample Launchpad Default Fiori Launchpad for Senior Manager, Logistics

  79. Public Stay Standard We chose Belize Light + Orica logo

    Consistent with SuccessFactors, Cloud for Customer Minimises upgrade effort Fiori 3 will bring further UI alignment. Eventually…
  80. Public Stay Standard Even this caused some CORS pain! Root

    cause: poor Theme Editor implementation! Cross-Origin issues with GUI in Stateful Container CORS
  81. Public Engage SAP MaxAttention Innovation Control Centre Regional Implementation Group

    (RIG) Customer Engagement Initiatives SAP Community Network …
  82. Public

  83. Public Effort & Time! Deploying Fiori needs both. Needed from

    Design to UAT and hypercare. A dedicated team is best. Skills: Basis, Security, Empathy, Patience
  84. Public Pain Point: Sorting • Must be done manually in

    Launchpad Designer! • Slow for large Groups (>1 minute to move a tile!) • There is no Excel upload/download or bulk maintenance Next time, we’ll build some custom code!
  85. Public Pain Point: Smart Business Tiles • Cannot be controlled

    using Target Mapping • Always shown even no authorization to data! • Must use personalization to hide Next time, we’d probably put these into a separate Fiori Group Refer SAP Note 2644149
  86. Public Fiori Launchpad Content Manager

  87. Public Fiori Launchpad Content Manager Released in July 2019 Requires

    SP upgrade of SAP_UI 7.52 or later Learn more at TechEd: UX361 – SAP Fiori Rapid Activation and Content Configuration (2h Hands-on) LT114 – Implement SAP Fiori Efficiently Out of the Box for SAP S/4HANA UX201 – Paving the Way to SAP Fiori with Basic Considerations and Implementation UX203 – All You Need to Know About SAP Fiori Launchpad
  88. Public Pain Point: SolMan Process Modelling SolMan’s Executable Library is

    keyed by Semantic Object + Action. Apps cannot be added to the library automatically! Several Fiori apps have identical key values! Difficult to determine correct App for Job or Role…
  89. Public Pain Point: User Experience of Old Apps Not all

    Fiori apps are beautiful Some require user to remember codes and IDs between apps. Many don’t implement navigation Newer apps generally much better: filtering, type-ahead, app-to-app navigation, etc. Still many inconsistencies (e.g. User Defaults in Me Area)
  90. Public Pain Point: Personalization User friendly but challenging to maintain.

    Some changes can corrupt personalization data for some users. To fix, reset personalization. Complicates consistent look & feel across people with same Job.
  91. Public Lessons Learnt Prepare & Plan Create a Factory Combine

    Security & Fiori teams Build your own tools Keep systems up to date Stay Standard! It’s not easy!
  92. Public Sascha Wenninger sascha@BlueT.com.au +65 8799 1446 @sufw Thank you!

    P.S. the slides are here: https://slides.sufw.me/sot113
  93. Public Some Links • SCN Fiori Wiki – great central

    place for all things Fiori – Fiori on S/4HANA – specific for S/4HANA – Fiori Elements – more and more relevant as Fiori Elements matures • SAP Fiori Deployment Options and System Landscape Recommendations • Nick Yang’s blog post on enabling http/2 • Configuring SAPUI5 CDN, by Jorge Baltazar • Calling GUI and Web Dynpro apps without opening new tab, by Jocelyn Dart • SAP Fiori Launchpad Content Manager Keep monitoring Customer Influence!