SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
Is your ABAP Code
ready for the Cloud?
Tobias Trapp (AOK Systems)
• ABAP Legacy Code
• What Code Qualities do you need?
• A first look at ABAP Cloud Platform
• Antipatterns in ABAP Applications
• Patterns for Redesign
• Rethink your Application Architecture
Agenda
Lifting Up a Monolith to the Cloud?
Is the code running properly on HANA?
Is it using SAP NetWeaver reuse tools only?
Will it be easy to extract the code to from the
monolith and encapsulate as a Microservice?
Does the application have web interfaces?
How much time will it take to rewrite the UI?
First Questions
Will you have to change the code
quite often due to new
requirements?
Can you establish short release
cycles?
Do you have automated tests?
Does implementation of a new
release takes effort?
Central Questions
Problems with Legacy ABAP
Legacy applications are mature and contain
many good design patterns. But they can also
have problems:
• refactoring is difficult due to possible side
effects
• no chance to introduce unit tests
• redesign is problematic:
• historical code has not been deleted
• step-wise refinement approach makes it
difficult to isolate and reimplement a module
• Whitelisted APIs are a bit different:
• CL_ABAP_UNIT_ASSERT instead of CL_AUNIT_ASSERT
• CL_ABAP_CONV_CODEPAGE instead of CL_ABAP_CODEPAGE
• No SAP GUI
• CALL METHOD is still possible 
• Fiori UIs in Cloud Foundry
• EML is fun 
First Impression of ABAP Cloud
Environment
TowardsaNewArchitecture
The Pain with Customizing
• increases complexity
• difficult to test with unit tests
• difficult to separate customizing activities since changes are
written on the same transport request
• you will have to create your own customizing maintenance Uis
• no SM30 in the Cloud
Why I avoided Dynamic Calls and
used Redefinitions
typical pattern for checks:
• use an interface & call classes
dynamically f.e. from determinations
• two developers can work in parallel
• no code merge necessary especially in
validations in complex business objects
disadvantages:
• no where-used list
• code gets complex
• inflation of global classes
From System Tables to Attributes
I used it frequently and found some problems:
• statement sizes are limited (~150kb)
• there is no check for duplicate keys in during develop time:
you define primary keys and run the declaration
• this approach is not very comfortable to use compared to tables
What I Learned…
• Apply Clean Code Principles & Test Driven Development
• Get inspiration from Domain Driven Design
• Think „outside-in“: What Services does the application offer
• Break the set of services down to a reasonable API
• Redesign for the Cloud is also a chance for onPremise software
• We need ABAP Programming Patterns that make it easier to
work with branches
• You need a Health Check Infrastructure for your app
The Biggest Challenge
Habitual Brain
Knowing-Doing Gap
Credit
• Picture Credits to Stefan Kühn under license CC BY-SA 3.0.

Contenu connexe

Tendances

SAP ABAP Development Tools - Introduction in productive environments (EXP1779...
SAP ABAP Development Tools - Introduction in productive environments (EXP1779...SAP ABAP Development Tools - Introduction in productive environments (EXP1779...
SAP ABAP Development Tools - Introduction in productive environments (EXP1779...SbgMartin
 
Alfresco Day Barcelona 2016 - Conversaciones con Partners: Pernexas
Alfresco Day Barcelona 2016 - Conversaciones con Partners: PernexasAlfresco Day Barcelona 2016 - Conversaciones con Partners: Pernexas
Alfresco Day Barcelona 2016 - Conversaciones con Partners: PernexasAlfresco Software
 
Anubhav abap on hana course details
Anubhav abap on hana course detailsAnubhav abap on hana course details
Anubhav abap on hana course detailsin031295
 
SAP UI5 OVERVIEW | SAP UI5 PRE-REQUISITES – FEATURES
SAP UI5 OVERVIEW | SAP UI5 PRE-REQUISITES – FEATURESSAP UI5 OVERVIEW | SAP UI5 PRE-REQUISITES – FEATURES
SAP UI5 OVERVIEW | SAP UI5 PRE-REQUISITES – FEATURESIQ Online Training
 
Sap ha400 en col13_hana 2.0 sps00 sAP book
Sap ha400 en col13_hana 2.0 sps00 sAP bookSap ha400 en col13_hana 2.0 sps00 sAP book
Sap ha400 en col13_hana 2.0 sps00 sAP bookYVIKASH
 
SAP ABAP Training | SAP ABAP Online Training | SAP ABAP Course | SAP ABAP Cer...
SAP ABAP Training | SAP ABAP Online Training | SAP ABAP Course | SAP ABAP Cer...SAP ABAP Training | SAP ABAP Online Training | SAP ABAP Course | SAP ABAP Cer...
SAP ABAP Training | SAP ABAP Online Training | SAP ABAP Course | SAP ABAP Cer...onlinetrainingplacements
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application StrategiesBIOVIA
 
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...Rencore
 
Building a REST API for Longevity
Building a REST API for LongevityBuilding a REST API for Longevity
Building a REST API for LongevityMuleSoft
 
Coolcats don't Use Customzing
Coolcats don't Use CustomzingCoolcats don't Use Customzing
Coolcats don't Use CustomzingTobias Trapp
 
How to Develop Highly Customizable Off-the-Shelf Software (Aleksey Stukalov)
How to Develop Highly Customizable Off-the-Shelf Software  (Aleksey Stukalov)How to Develop Highly Customizable Off-the-Shelf Software  (Aleksey Stukalov)
How to Develop Highly Customizable Off-the-Shelf Software (Aleksey Stukalov)Юрий Артамонов
 
Custom code management & tools
Custom code management & toolsCustom code management & tools
Custom code management & toolsTimo_John
 
SAPTECHED 2016 EMEA - 10 Golden Rules for Designing a Custom-Built SAP Fiori...
SAPTECHED 2016  EMEA - 10 Golden Rules for Designing a Custom-Built SAP Fiori...SAPTECHED 2016  EMEA - 10 Golden Rules for Designing a Custom-Built SAP Fiori...
SAPTECHED 2016 EMEA - 10 Golden Rules for Designing a Custom-Built SAP Fiori...Robert Eijpe
 
The Best SAP ABAP on HANA Online Training in USA, UK, Canada.
The Best SAP ABAP on HANA Online Training in USA, UK, Canada.The Best SAP ABAP on HANA Online Training in USA, UK, Canada.
The Best SAP ABAP on HANA Online Training in USA, UK, Canada.Coy Currin
 
SAP Simple Finance Training institute Pune | S4 HANA How do i start a career ...
SAP Simple Finance Training institute Pune | S4 HANA How do i start a career ...SAP Simple Finance Training institute Pune | S4 HANA How do i start a career ...
SAP Simple Finance Training institute Pune | S4 HANA How do i start a career ...Aspire Techsoft Academy
 
Full-Stack JavaScript Development on SAP HANA Platform
Full-Stack JavaScript Development on SAP HANA PlatformFull-Stack JavaScript Development on SAP HANA Platform
Full-Stack JavaScript Development on SAP HANA PlatformHP Seitz
 

Tendances (20)

SAP ABAP Development Tools - Introduction in productive environments (EXP1779...
SAP ABAP Development Tools - Introduction in productive environments (EXP1779...SAP ABAP Development Tools - Introduction in productive environments (EXP1779...
SAP ABAP Development Tools - Introduction in productive environments (EXP1779...
 
Alfresco Day Barcelona 2016 - Conversaciones con Partners: Pernexas
Alfresco Day Barcelona 2016 - Conversaciones con Partners: PernexasAlfresco Day Barcelona 2016 - Conversaciones con Partners: Pernexas
Alfresco Day Barcelona 2016 - Conversaciones con Partners: Pernexas
 
Anubhav abap on hana course details
Anubhav abap on hana course detailsAnubhav abap on hana course details
Anubhav abap on hana course details
 
SAP UI5 OVERVIEW | SAP UI5 PRE-REQUISITES – FEATURES
SAP UI5 OVERVIEW | SAP UI5 PRE-REQUISITES – FEATURESSAP UI5 OVERVIEW | SAP UI5 PRE-REQUISITES – FEATURES
SAP UI5 OVERVIEW | SAP UI5 PRE-REQUISITES – FEATURES
 
SAP ABAP
SAP ABAPSAP ABAP
SAP ABAP
 
Sap ha400 en col13_hana 2.0 sps00 sAP book
Sap ha400 en col13_hana 2.0 sps00 sAP bookSap ha400 en col13_hana 2.0 sps00 sAP book
Sap ha400 en col13_hana 2.0 sps00 sAP book
 
SAP ABAP Training | SAP ABAP Online Training | SAP ABAP Course | SAP ABAP Cer...
SAP ABAP Training | SAP ABAP Online Training | SAP ABAP Course | SAP ABAP Cer...SAP ABAP Training | SAP ABAP Online Training | SAP ABAP Course | SAP ABAP Cer...
SAP ABAP Training | SAP ABAP Online Training | SAP ABAP Course | SAP ABAP Cer...
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies
 
Managing SAP Custom Code
Managing SAP Custom CodeManaging SAP Custom Code
Managing SAP Custom Code
 
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
 
Building a REST API for Longevity
Building a REST API for LongevityBuilding a REST API for Longevity
Building a REST API for Longevity
 
Coolcats don't Use Customzing
Coolcats don't Use CustomzingCoolcats don't Use Customzing
Coolcats don't Use Customzing
 
GraphQL.net
GraphQL.netGraphQL.net
GraphQL.net
 
How to Develop Highly Customizable Off-the-Shelf Software (Aleksey Stukalov)
How to Develop Highly Customizable Off-the-Shelf Software  (Aleksey Stukalov)How to Develop Highly Customizable Off-the-Shelf Software  (Aleksey Stukalov)
How to Develop Highly Customizable Off-the-Shelf Software (Aleksey Stukalov)
 
Custom code management & tools
Custom code management & toolsCustom code management & tools
Custom code management & tools
 
SAPTECHED 2016 EMEA - 10 Golden Rules for Designing a Custom-Built SAP Fiori...
SAPTECHED 2016  EMEA - 10 Golden Rules for Designing a Custom-Built SAP Fiori...SAPTECHED 2016  EMEA - 10 Golden Rules for Designing a Custom-Built SAP Fiori...
SAPTECHED 2016 EMEA - 10 Golden Rules for Designing a Custom-Built SAP Fiori...
 
The Best SAP ABAP on HANA Online Training in USA, UK, Canada.
The Best SAP ABAP on HANA Online Training in USA, UK, Canada.The Best SAP ABAP on HANA Online Training in USA, UK, Canada.
The Best SAP ABAP on HANA Online Training in USA, UK, Canada.
 
SAP Simple Finance Training institute Pune | S4 HANA How do i start a career ...
SAP Simple Finance Training institute Pune | S4 HANA How do i start a career ...SAP Simple Finance Training institute Pune | S4 HANA How do i start a career ...
SAP Simple Finance Training institute Pune | S4 HANA How do i start a career ...
 
Full-Stack JavaScript Development on SAP HANA Platform
Full-Stack JavaScript Development on SAP HANA PlatformFull-Stack JavaScript Development on SAP HANA Platform
Full-Stack JavaScript Development on SAP HANA Platform
 
Prashantini Krishnan Chandrakumar
Prashantini Krishnan ChandrakumarPrashantini Krishnan Chandrakumar
Prashantini Krishnan Chandrakumar
 

Similaire à Is your ABAP Code Ready for the Cloud?

SOA with Zend Framework
SOA with Zend FrameworkSOA with Zend Framework
SOA with Zend FrameworkMike Willbanks
 
Software engineering.pptx
Software engineering.pptxSoftware engineering.pptx
Software engineering.pptxJAGADEESWARIS6
 
Entity Framework: To the Unit of Work Design Pattern and Beyond
Entity Framework: To the Unit of Work Design Pattern and BeyondEntity Framework: To the Unit of Work Design Pattern and Beyond
Entity Framework: To the Unit of Work Design Pattern and BeyondSteve Westgarth
 
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014Phil Leggetter
 
Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power...
Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power...Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power...
Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power...Decision CAMP
 
10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware ProgrammingPostSharp Technologies
 
What is an Automation Framework ?
What is an Automation Framework ?�What is an Automation Framework ?�
What is an Automation Framework ?Sriram Angajala
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computingAhmed M. Abed
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)TIMETOACT GROUP
 
Microservices: The Best Practices
Microservices: The Best PracticesMicroservices: The Best Practices
Microservices: The Best PracticesPavel Mička
 
Refactoring Legacy Web Forms for Test Automation
Refactoring Legacy Web Forms for Test AutomationRefactoring Legacy Web Forms for Test Automation
Refactoring Legacy Web Forms for Test AutomationStephen Fuqua
 
Continuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfestContinuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfestMarcin Grzejszczak
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableComsysto Reply GmbH
 
Introduction to Aspect Oriented Programming (DDD South West 4.0)
Introduction to Aspect Oriented Programming (DDD South West 4.0)Introduction to Aspect Oriented Programming (DDD South West 4.0)
Introduction to Aspect Oriented Programming (DDD South West 4.0)Yan Cui
 
New life inside monolithic application
New life inside monolithic applicationNew life inside monolithic application
New life inside monolithic applicationTaras Matyashovsky
 
Improving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageImproving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageDr. Spock
 

Similaire à Is your ABAP Code Ready for the Cloud? (20)

SOA with Zend Framework
SOA with Zend FrameworkSOA with Zend Framework
SOA with Zend Framework
 
Software engineering.pptx
Software engineering.pptxSoftware engineering.pptx
Software engineering.pptx
 
Entity Framework: To the Unit of Work Design Pattern and Beyond
Entity Framework: To the Unit of Work Design Pattern and BeyondEntity Framework: To the Unit of Work Design Pattern and Beyond
Entity Framework: To the Unit of Work Design Pattern and Beyond
 
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
 
Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power...
Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power...Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power...
Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power...
 
10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming
 
What is an Automation Framework ?
What is an Automation Framework ?�What is an Automation Framework ?�
What is an Automation Framework ?
 
Deploying at will - SEI
 Deploying at will - SEI Deploying at will - SEI
Deploying at will - SEI
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computing
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
 
Microservices: The Best Practices
Microservices: The Best PracticesMicroservices: The Best Practices
Microservices: The Best Practices
 
Top 10 web application development frameworks 2016
Top 10 web application development frameworks 2016Top 10 web application development frameworks 2016
Top 10 web application development frameworks 2016
 
O365: Attack of the Clones
O365: Attack of the ClonesO365: Attack of the Clones
O365: Attack of the Clones
 
Refactoring Legacy Web Forms for Test Automation
Refactoring Legacy Web Forms for Test AutomationRefactoring Legacy Web Forms for Test Automation
Refactoring Legacy Web Forms for Test Automation
 
Continuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfestContinuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfest
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
 
Introduction to Aspect Oriented Programming (DDD South West 4.0)
Introduction to Aspect Oriented Programming (DDD South West 4.0)Introduction to Aspect Oriented Programming (DDD South West 4.0)
Introduction to Aspect Oriented Programming (DDD South West 4.0)
 
New life inside monolithic application
New life inside monolithic applicationNew life inside monolithic application
New life inside monolithic application
 
Improving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageImproving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific Language
 
What is Serverless Computing?
What is Serverless Computing?What is Serverless Computing?
What is Serverless Computing?
 

Plus de Tobias Trapp

Logical Abduction and an Application on Business Rules Management
Logical Abduction and an Application on Business Rules ManagementLogical Abduction and an Application on Business Rules Management
Logical Abduction and an Application on Business Rules ManagementTobias Trapp
 
Building Next Generation Apps using DSAM - session at sitHH 2014
Building Next Generation Apps using DSAM - session at sitHH 2014Building Next Generation Apps using DSAM - session at sitHH 2014
Building Next Generation Apps using DSAM - session at sitHH 2014Tobias Trapp
 
BRFplus in der Prozessautomatisierung
BRFplus in der ProzessautomatisierungBRFplus in der Prozessautomatisierung
BRFplus in der ProzessautomatisierungTobias Trapp
 
Lecture about SAP HANA and Enterprise Comupting at University of Halle
Lecture about SAP HANA and Enterprise Comupting at University of HalleLecture about SAP HANA and Enterprise Comupting at University of Halle
Lecture about SAP HANA and Enterprise Comupting at University of HalleTobias Trapp
 
Abap package concept
Abap package conceptAbap package concept
Abap package conceptTobias Trapp
 
Custom Development of Enterprise Services
Custom Development of Enterprise ServicesCustom Development of Enterprise Services
Custom Development of Enterprise ServicesTobias Trapp
 
SAP Test automation - fully automatic test of complex business processes incl...
SAP Test automation - fully automatic test of complex business processes incl...SAP Test automation - fully automatic test of complex business processes incl...
SAP Test automation - fully automatic test of complex business processes incl...Tobias Trapp
 

Plus de Tobias Trapp (8)

Logical Abduction and an Application on Business Rules Management
Logical Abduction and an Application on Business Rules ManagementLogical Abduction and an Application on Business Rules Management
Logical Abduction and an Application on Business Rules Management
 
Building Next Generation Apps using DSAM - session at sitHH 2014
Building Next Generation Apps using DSAM - session at sitHH 2014Building Next Generation Apps using DSAM - session at sitHH 2014
Building Next Generation Apps using DSAM - session at sitHH 2014
 
BRFplus in der Prozessautomatisierung
BRFplus in der ProzessautomatisierungBRFplus in der Prozessautomatisierung
BRFplus in der Prozessautomatisierung
 
Lecture about SAP HANA and Enterprise Comupting at University of Halle
Lecture about SAP HANA and Enterprise Comupting at University of HalleLecture about SAP HANA and Enterprise Comupting at University of Halle
Lecture about SAP HANA and Enterprise Comupting at University of Halle
 
SAP Reuse Tools
SAP Reuse Tools SAP Reuse Tools
SAP Reuse Tools
 
Abap package concept
Abap package conceptAbap package concept
Abap package concept
 
Custom Development of Enterprise Services
Custom Development of Enterprise ServicesCustom Development of Enterprise Services
Custom Development of Enterprise Services
 
SAP Test automation - fully automatic test of complex business processes incl...
SAP Test automation - fully automatic test of complex business processes incl...SAP Test automation - fully automatic test of complex business processes incl...
SAP Test automation - fully automatic test of complex business processes incl...
 

Dernier

The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 

Dernier (20)

The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 

Is your ABAP Code Ready for the Cloud?

  • 1. Is your ABAP Code ready for the Cloud? Tobias Trapp (AOK Systems)
  • 2. • ABAP Legacy Code • What Code Qualities do you need? • A first look at ABAP Cloud Platform • Antipatterns in ABAP Applications • Patterns for Redesign • Rethink your Application Architecture Agenda
  • 3. Lifting Up a Monolith to the Cloud?
  • 4. Is the code running properly on HANA? Is it using SAP NetWeaver reuse tools only? Will it be easy to extract the code to from the monolith and encapsulate as a Microservice? Does the application have web interfaces? How much time will it take to rewrite the UI? First Questions
  • 5. Will you have to change the code quite often due to new requirements? Can you establish short release cycles? Do you have automated tests? Does implementation of a new release takes effort? Central Questions
  • 6. Problems with Legacy ABAP Legacy applications are mature and contain many good design patterns. But they can also have problems: • refactoring is difficult due to possible side effects • no chance to introduce unit tests • redesign is problematic: • historical code has not been deleted • step-wise refinement approach makes it difficult to isolate and reimplement a module
  • 7. • Whitelisted APIs are a bit different: • CL_ABAP_UNIT_ASSERT instead of CL_AUNIT_ASSERT • CL_ABAP_CONV_CODEPAGE instead of CL_ABAP_CODEPAGE • No SAP GUI • CALL METHOD is still possible  • Fiori UIs in Cloud Foundry • EML is fun  First Impression of ABAP Cloud Environment
  • 9. The Pain with Customizing • increases complexity • difficult to test with unit tests • difficult to separate customizing activities since changes are written on the same transport request • you will have to create your own customizing maintenance Uis • no SM30 in the Cloud
  • 10. Why I avoided Dynamic Calls and used Redefinitions typical pattern for checks: • use an interface & call classes dynamically f.e. from determinations • two developers can work in parallel • no code merge necessary especially in validations in complex business objects disadvantages: • no where-used list • code gets complex • inflation of global classes
  • 11. From System Tables to Attributes I used it frequently and found some problems: • statement sizes are limited (~150kb) • there is no check for duplicate keys in during develop time: you define primary keys and run the declaration • this approach is not very comfortable to use compared to tables
  • 12. What I Learned… • Apply Clean Code Principles & Test Driven Development • Get inspiration from Domain Driven Design • Think „outside-in“: What Services does the application offer • Break the set of services down to a reasonable API • Redesign for the Cloud is also a chance for onPremise software • We need ABAP Programming Patterns that make it easier to work with branches • You need a Health Check Infrastructure for your app
  • 13. The Biggest Challenge Habitual Brain Knowing-Doing Gap
  • 14. Credit • Picture Credits to Stefan Kühn under license CC BY-SA 3.0.