Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lessons Learned Deploying Fiori at Scale

Lessons Learned 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 Singapore User Group 2020, as an updated version of the SIT Online 2020 talk.

Sascha Wenninger

December 02, 2020
Tweet

More Decks by Sascha Wenninger

Other Decks in Technology

Transcript

  1. 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.
  2. 7

  3. Business Vision One System Consistent processes globally Quality Master Data

    Controlled IT system risks Predictability Visibility One way of working
  4. Azure Our Architecture S/4HANA 1809 Business Suite (PY) Business Suite

    (GTS, EM) HANA 2.0 HANA 2.0 Front-End Server Web Dispatcher
  5. 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
  6. 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
  7. What is it? New version of HTTP, feat: • Binary

    transfer • Multiplexing • Header Compression • Encryption
  8. 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
  9. 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
  10. 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
  11. 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
  12. +

  13. SAPUI5 CDN Read more: Blog post by Jorge Baltazar, or

    Note 2526542 Map credit: $200inaire ~200ms ~20ms
  14. 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
  15. Our Experience with Fiori Launchpad HTTP Requests 2.6 MB 550

    kB HTTP Requests 39 37 SAP Front-End Server SAPUI5 CDN
  16. 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
  17. 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”
  18. Azure Application Proxy • Managed by Azure • Single Sign-On

    with MFA • Pre-authentication • WAF features • Scalable • Secure • Cheap
  19. 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
  20. 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
  21. 1,424 Fiori Tiles 456 UI5 apps 75 custom Analytics Tooling

    GUI for HTML N W B C UI5 URL Link Web Dynpro UI Technologies
  22. 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
  23. Team Structure 4 Basis consultants Close collaboration with Security Once

    activated, it’s all about Security! Technology Development Basis Fiori Security
  24. E2E Model Process Model Process Step Value Chain Diagrams Top-Down

    Decomposition Generated by SolMan from lower-level models
  25. E2E Model Process Model Process Step Value Chain Diagrams 8

    x 38 x 149 x 498 x 4,257 x BPM Library
  26. FLP & Security Process Models + Org Structure Authorisations +

    Fiori Launchpad content = Person Job Role
  27. 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.
  28. Use the App Finder Reduces clutter on the Launchpad Lets

    people discover less-frequently-used apps Encourage users to personalize!
  29. 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…
  30. Stay Standard Even this caused some CORS pain! Root cause:

    SAP’s poor Theme Editor implementation! Cross-Origin issues with GUI in Stateful Container CORS
  31. Stay Standard. Really! Monthly UI5 patching was much more complex,

    and prone to error. èWe are back to standard now!
  32. Engage SAP MaxAttention Innovation Control Centre Regional Implementation Group (RIG)

    Customer Engagement Initiatives SAP Community Network …
  33. Effort & Time! Deploying Fiori needs both. Needed from Design

    to UAT and hypercare. A dedicated team is best. Skills: Basis, Security, Empathy, Patience
  34. 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!
  35. 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
  36. Fiori Launchpad Content Manager Released in July 2019 Requires SP

    upgrade of SAP_UI 7.52 or later If you can, use it!
  37. 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…
  38. 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)
  39. 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.
  40. 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!
  41. Sascha Wenninger [email protected] +65 8799 1446 @sufw Thank you! P.S.

    the slides are here: https://slides.sufw.me/ssug2020
  42. 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!