SlideShare a Scribd company logo
1 of 22
© cbs Corporate Business Solutions
Lessons Learned from
SAP UI5 Implementations
Denny Schreber Katrin Grohme
© cbs Corporate Business Solutions March 15, 2016
Agenda
• Introduction
• Starting the UI5 project
• Pitfalls during UI5 development
• UI5 Framework extensions
• Outlook & Wrap-up
© cbs Corporate Business Solutions 3March 15, 2016
Overview
Introduction
• After various projects in different size and complexity we want to
present and discuss our challenges we had while designing and
developing with UI5
› Approach how we tackle projects
› Designing your screens with standard controls vs. custom controls
› Facing integration challenges with different backend systems
› Difficulties in the development phase
• Give an outlook into areas where we hope that UI5 advances in
upcoming releases
© cbs Corporate Business Solutions 4March 15, 2016
UI5 projects
Introduction
• Worked with UI5 as UI technology since 2013
› First UI5-based app went live with v1.12
› Lots of improvements since then
• Projects based on SAPUI5 libraries
› One openUI5 project because of licensing
• We try to be full stack developer instead of distinguishing between
Frontend / Backend Developer
• From either ABAP or Java-based software development background
Source: SAP
© cbs Corporate Business Solutions March 15, 2016
Agenda
• Introduction
• Starting the UI5 project
• Pitfalls during UI5 development
• UI5 Framework extensions
• Outlook & Wrap-up
© cbs Corporate Business Solutions 6March 15, 2016
Achieve a Great UX leveraging UI5
Starting the UI5 project
• Users describe great apps as:
› Simple, easy to use, consistent, supportive, …
• Various approaches exist
› SAP gives lots of advice how to achieve a great user experience
› Fiori Design Principles: Available under http://experience.sap.com/fiori-design/
• Early user involvement is key
› Try to gain early feedback from key user and – if possible – larger user groups
• Designer needs to be aligned
with developers
Source: SAP
© cbs Corporate Business Solutions 7March 15, 2016
UI First Approach
Starting the UI5 project
• Start building UI prototypes prior to API or back-end logic
• Target user groups get identified early in the project
• Results of UI prototyping can be the basis for the Fiori app
• Detailed functional specification and first technical specification are
results of this phase
• Why UI First in SAP landscapes?
› Projects require fit-to-purpose solutions
as opposed to, e.g., standard software
› Functionality already exists (at least partially)
in SAP systems
› The end user is what matters most in
Fiori projects
Source: SAP
UI First
© cbs Corporate Business Solutions 8March 15, 2016
Starting Point: Mobile Approvals
Starting the UI5 project
• UI5 offers the possibility to be used on
mobile devices
› responsive design
› Optimized for touch-based input devices
• Approvals are often seen as a
necessary pain by approvers
• Mobile access adds possibility to do
approvals while on the move
• Limit the number of required steps to
achieve approval
Source: SAP
© cbs Corporate Business Solutions March 15, 2016
Agenda
• Introduction
• Starting the UI5 project
• Pitfalls during UI5 development
• UI5 Framework extensions
• Outlook & Wrap-up
© cbs Corporate Business Solutions 10March 15, 2016
Project Reality
Pitfalls during UI5 development
• Decision for enhancement model not always straightforward
› Extending Fiori app with new project that replaces parts of the original app
• Upgrades do not always work seamlessly
› Copy original project as basis for new development
• Increased effort when upgrading standard apps
• Decision for control library
› Mobile controls – GoTo library
› Desktop controls – provide good alternatives for complex data entry
handling
© cbs Corporate Business Solutions 11March 15, 2016
Connecting the backend
Pitfalls during UI5 development
• In UI5 development lots of time is spent formulating OData expressions
• SAP Gateway for ABAP-based systems
› Stable in most of the cases and easy-to-develop
› When you’re stuck: Don’t look into the OData specifications but SAP Note 1574568
• SAPUI5 screens on BPM using the screen generator functionality (Java)
› Odata services are generated
› Generated screens still require effort to pimp them up
• HANA XS Engine
• Development only in Eclipse (Luna), WebIDE not possible
• Synchronization errors from within Eclipse and HANA XS engine
• OData Provisioning Channel on HCI
› Not released yet
© cbs Corporate Business Solutions 12March 15, 2016
HANA XS Engine
Pitfalls during UI5 development
© cbs Corporate Business Solutions 13March 15, 2016
JavaScript peculiarities
Pitfalls during UI5 development
• Functional programming in dynamically typed JavaScript
› Playing around with a pure functional programming language helps
• Handling callback hell
› Makes debugging hard, be careful to organize your code
› jQuery proxy function  Learned at UI5con that promises are better!
• Transferring state
• Better readability of source code
› Aligning results of several AJAX calls vs. $Batch
• Recursions with time-based exit criteria
• Handling of large code sections
› JavaScript makes finding errors hard
› jQuery module declarations to separate code blocks
© cbs Corporate Business Solutions 14March 15, 2016
Further Pitfalls
Pitfalls during UI5 development
• Firefox with Developer Tools and VIZ chart library are no friends -> use Chrome
• To make the look’n’feel consistent browser version still play a role and might add effort
• Mouse-Over Pop-ups are not working on mobile devices
› Spent lots of effort to extend the standard controls with touch events
• Not double-checked in latest versions
© cbs Corporate Business Solutions March 15, 2016
Agenda
• Introduction
• Starting the UI5 project
• Pitfalls during UI5 development
• UI5 Framework extensions
• Outlook & Wrap-up
© cbs Corporate Business Solutions 16March 15, 2016
Custom Controls & Third Party libraries
UI5 Framework extensions
• Requirements might exceed framework capabilities
› More than hiding and adding fields
› Custom controls sometimes required
• Extending existing controls
• Create Custom Controls
• Integration of 3rd Party libraries
› Not always consistent with SAPUI5 look’n’feel
› Sometimes lots of work to get this working
© cbs Corporate Business Solutions 17March 15, 2016
Examples
UI5 Framework extensions
Internet
Explorer
Firefox
Chrome
© cbs Corporate Business Solutions 18March 15, 2016
Examples (cont.)
UI5 Framework extensions
• Custom Controls “in the wild”
• GitHub
› https://gist.github.com/dennisseah
• openUI5?
Signature Pad Control
(https://gist.github.com/dennisseah/c4d0ee8100d07ecd8015)
© cbs Corporate Business Solutions March 15, 2016
Agenda
• Introduction
• Starting the UI5 project
• Pitfalls during UI5 development
• UI5 Framework extensions
• Outlook & Wrap-up
© cbs Corporate Business Solutions 20March 15, 2016
Outlook
Outlook & Wrap-up
• Developing with UI5 is fun
• Lots of improvements already delivered with the latest versions
But some areas still can be improved / simplified (our wish list):
• Reduce Complexity (Routing, Apps patterns, development time)
• Improvements in the area of handling state in the apps
• Offline capabilities of Web Apps
• More controls… pushing the web browser to its limits
© cbs Corporate Business Solutions 21March 15, 2016
Wrap-up
Outlook & Wrap-up
• From our project experience end user really like what they get with UI5-based apps
• SAPUI5 is not the new “silver-bullet” of UI technologies
• SAPUI5 requires different approaches compared to server-based UI technologies
• Projects are about business problems getting solved, but don’t forget the people that
should be able to solve the problem effectively
• Web best practices from web companies such as Google should be applied in your
projects
© cbs Corporate Business Solutions
cbs Corporate Business Solutions
Unternehmensberatung GmbH
The Materna Group Management Consultancy
Headquarters Heidelberg
Im Breitspiel 19 · 69126 Heidelberg · Germany
P +49 6221 3304 0 · F +49 6221 3304 200
contact@cbs-consulting.de
www.cbs-consulting.com
Contact
March 15, 2016
Denny Schreber
Senior Solution Architect
denny.schreber@cbs-consulting.de
Katrin Grohme
Senior Solution Developer
katrin.grohme@cbs-consulting.de

More Related Content

Viewers also liked

Neha_Thapa_Resume
Neha_Thapa_ResumeNeha_Thapa_Resume
Neha_Thapa_Resume
Neha Thapa
 

Viewers also liked (11)

CV of Rachit
CV of RachitCV of Rachit
CV of Rachit
 
Analytics & Fiori with the Analysis Path Framework
Analytics & Fiori with the Analysis Path FrameworkAnalytics & Fiori with the Analysis Path Framework
Analytics & Fiori with the Analysis Path Framework
 
UI5con - The OpenUI5 Spirit
UI5con - The OpenUI5 SpiritUI5con - The OpenUI5 Spirit
UI5con - The OpenUI5 Spirit
 
Neha_Thapa_Resume
Neha_Thapa_ResumeNeha_Thapa_Resume
Neha_Thapa_Resume
 
SAP_UI5_oData_ABAP_Murugesan_Perumal
SAP_UI5_oData_ABAP_Murugesan_PerumalSAP_UI5_oData_ABAP_Murugesan_Perumal
SAP_UI5_oData_ABAP_Murugesan_Perumal
 
SAP TechEd 2016 when_to_use_fiori_or_sap_screen_personas
SAP TechEd 2016 when_to_use_fiori_or_sap_screen_personasSAP TechEd 2016 when_to_use_fiori_or_sap_screen_personas
SAP TechEd 2016 when_to_use_fiori_or_sap_screen_personas
 
Codigo contencioso administrativo
Codigo contencioso administrativoCodigo contencioso administrativo
Codigo contencioso administrativo
 
2016年10月13日「ONA16」参加報告会
2016年10月13日「ONA16」参加報告会2016年10月13日「ONA16」参加報告会
2016年10月13日「ONA16」参加報告会
 
Venezuela
VenezuelaVenezuela
Venezuela
 
Trabajo Personal
Trabajo PersonalTrabajo Personal
Trabajo Personal
 
Informática e educação
Informática e educação Informática e educação
Informática e educação
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

UI5con Lessons Learned from SAP UI5 Implementations

  • 1. © cbs Corporate Business Solutions Lessons Learned from SAP UI5 Implementations Denny Schreber Katrin Grohme
  • 2. © cbs Corporate Business Solutions March 15, 2016 Agenda • Introduction • Starting the UI5 project • Pitfalls during UI5 development • UI5 Framework extensions • Outlook & Wrap-up
  • 3. © cbs Corporate Business Solutions 3March 15, 2016 Overview Introduction • After various projects in different size and complexity we want to present and discuss our challenges we had while designing and developing with UI5 › Approach how we tackle projects › Designing your screens with standard controls vs. custom controls › Facing integration challenges with different backend systems › Difficulties in the development phase • Give an outlook into areas where we hope that UI5 advances in upcoming releases
  • 4. © cbs Corporate Business Solutions 4March 15, 2016 UI5 projects Introduction • Worked with UI5 as UI technology since 2013 › First UI5-based app went live with v1.12 › Lots of improvements since then • Projects based on SAPUI5 libraries › One openUI5 project because of licensing • We try to be full stack developer instead of distinguishing between Frontend / Backend Developer • From either ABAP or Java-based software development background Source: SAP
  • 5. © cbs Corporate Business Solutions March 15, 2016 Agenda • Introduction • Starting the UI5 project • Pitfalls during UI5 development • UI5 Framework extensions • Outlook & Wrap-up
  • 6. © cbs Corporate Business Solutions 6March 15, 2016 Achieve a Great UX leveraging UI5 Starting the UI5 project • Users describe great apps as: › Simple, easy to use, consistent, supportive, … • Various approaches exist › SAP gives lots of advice how to achieve a great user experience › Fiori Design Principles: Available under http://experience.sap.com/fiori-design/ • Early user involvement is key › Try to gain early feedback from key user and – if possible – larger user groups • Designer needs to be aligned with developers Source: SAP
  • 7. © cbs Corporate Business Solutions 7March 15, 2016 UI First Approach Starting the UI5 project • Start building UI prototypes prior to API or back-end logic • Target user groups get identified early in the project • Results of UI prototyping can be the basis for the Fiori app • Detailed functional specification and first technical specification are results of this phase • Why UI First in SAP landscapes? › Projects require fit-to-purpose solutions as opposed to, e.g., standard software › Functionality already exists (at least partially) in SAP systems › The end user is what matters most in Fiori projects Source: SAP UI First
  • 8. © cbs Corporate Business Solutions 8March 15, 2016 Starting Point: Mobile Approvals Starting the UI5 project • UI5 offers the possibility to be used on mobile devices › responsive design › Optimized for touch-based input devices • Approvals are often seen as a necessary pain by approvers • Mobile access adds possibility to do approvals while on the move • Limit the number of required steps to achieve approval Source: SAP
  • 9. © cbs Corporate Business Solutions March 15, 2016 Agenda • Introduction • Starting the UI5 project • Pitfalls during UI5 development • UI5 Framework extensions • Outlook & Wrap-up
  • 10. © cbs Corporate Business Solutions 10March 15, 2016 Project Reality Pitfalls during UI5 development • Decision for enhancement model not always straightforward › Extending Fiori app with new project that replaces parts of the original app • Upgrades do not always work seamlessly › Copy original project as basis for new development • Increased effort when upgrading standard apps • Decision for control library › Mobile controls – GoTo library › Desktop controls – provide good alternatives for complex data entry handling
  • 11. © cbs Corporate Business Solutions 11March 15, 2016 Connecting the backend Pitfalls during UI5 development • In UI5 development lots of time is spent formulating OData expressions • SAP Gateway for ABAP-based systems › Stable in most of the cases and easy-to-develop › When you’re stuck: Don’t look into the OData specifications but SAP Note 1574568 • SAPUI5 screens on BPM using the screen generator functionality (Java) › Odata services are generated › Generated screens still require effort to pimp them up • HANA XS Engine • Development only in Eclipse (Luna), WebIDE not possible • Synchronization errors from within Eclipse and HANA XS engine • OData Provisioning Channel on HCI › Not released yet
  • 12. © cbs Corporate Business Solutions 12March 15, 2016 HANA XS Engine Pitfalls during UI5 development
  • 13. © cbs Corporate Business Solutions 13March 15, 2016 JavaScript peculiarities Pitfalls during UI5 development • Functional programming in dynamically typed JavaScript › Playing around with a pure functional programming language helps • Handling callback hell › Makes debugging hard, be careful to organize your code › jQuery proxy function  Learned at UI5con that promises are better! • Transferring state • Better readability of source code › Aligning results of several AJAX calls vs. $Batch • Recursions with time-based exit criteria • Handling of large code sections › JavaScript makes finding errors hard › jQuery module declarations to separate code blocks
  • 14. © cbs Corporate Business Solutions 14March 15, 2016 Further Pitfalls Pitfalls during UI5 development • Firefox with Developer Tools and VIZ chart library are no friends -> use Chrome • To make the look’n’feel consistent browser version still play a role and might add effort • Mouse-Over Pop-ups are not working on mobile devices › Spent lots of effort to extend the standard controls with touch events • Not double-checked in latest versions
  • 15. © cbs Corporate Business Solutions March 15, 2016 Agenda • Introduction • Starting the UI5 project • Pitfalls during UI5 development • UI5 Framework extensions • Outlook & Wrap-up
  • 16. © cbs Corporate Business Solutions 16March 15, 2016 Custom Controls & Third Party libraries UI5 Framework extensions • Requirements might exceed framework capabilities › More than hiding and adding fields › Custom controls sometimes required • Extending existing controls • Create Custom Controls • Integration of 3rd Party libraries › Not always consistent with SAPUI5 look’n’feel › Sometimes lots of work to get this working
  • 17. © cbs Corporate Business Solutions 17March 15, 2016 Examples UI5 Framework extensions Internet Explorer Firefox Chrome
  • 18. © cbs Corporate Business Solutions 18March 15, 2016 Examples (cont.) UI5 Framework extensions • Custom Controls “in the wild” • GitHub › https://gist.github.com/dennisseah • openUI5? Signature Pad Control (https://gist.github.com/dennisseah/c4d0ee8100d07ecd8015)
  • 19. © cbs Corporate Business Solutions March 15, 2016 Agenda • Introduction • Starting the UI5 project • Pitfalls during UI5 development • UI5 Framework extensions • Outlook & Wrap-up
  • 20. © cbs Corporate Business Solutions 20March 15, 2016 Outlook Outlook & Wrap-up • Developing with UI5 is fun • Lots of improvements already delivered with the latest versions But some areas still can be improved / simplified (our wish list): • Reduce Complexity (Routing, Apps patterns, development time) • Improvements in the area of handling state in the apps • Offline capabilities of Web Apps • More controls… pushing the web browser to its limits
  • 21. © cbs Corporate Business Solutions 21March 15, 2016 Wrap-up Outlook & Wrap-up • From our project experience end user really like what they get with UI5-based apps • SAPUI5 is not the new “silver-bullet” of UI technologies • SAPUI5 requires different approaches compared to server-based UI technologies • Projects are about business problems getting solved, but don’t forget the people that should be able to solve the problem effectively • Web best practices from web companies such as Google should be applied in your projects
  • 22. © cbs Corporate Business Solutions cbs Corporate Business Solutions Unternehmensberatung GmbH The Materna Group Management Consultancy Headquarters Heidelberg Im Breitspiel 19 · 69126 Heidelberg · Germany P +49 6221 3304 0 · F +49 6221 3304 200 contact@cbs-consulting.de www.cbs-consulting.com Contact March 15, 2016 Denny Schreber Senior Solution Architect denny.schreber@cbs-consulting.de Katrin Grohme Senior Solution Developer katrin.grohme@cbs-consulting.de