Problem solve Get help with specific problems with your technologies, process and projects.

Adopting OO programming in ABAP and Java

Expert Matt Billingham weighs in on OO programming for Java and ABAP and explains why it isn't widely used in the enterprise.

I have questions about ABAP and Web AS.

  1. Does a company implementing SAP 6.0/ECC 6 have to decide in advance whether it will be coding its business logic and applications in Java or ABAP? Can Web AS process both languages once installed?
  2. If a program is written in OO ABAP as well as in Java for a given business scenario -- using the same OO (UML) structure -- and executed on Web AS, which one will perform better? Why?
  3. Why is it that organizations, in spite of the visible benefits of OO programming, are unwilling to let go of procedural ABAP and adopt OO ABAP? They don't have to convert their existing code but would just need to start using OO concepts for new development. Is it because programs written in ABAP are usually not complex enough to be modeled in OO concepts? Are there many people who know both ABAP and OO concepts?
Answer to questions 1 and 2:

Most of the business logic is already written for you. You'll fill the gaps with the most appropriate technology. If you're filling a gap in Logistics on R/3, you'll use ABAP. If it's some portal technology, you'll use Java.

Answer to question 3:

ABAP does not come with a class library anywhere nearly as extensive as Java's. Many ABAP programmers have grave difficulty adopting the OO paradigm, and ABAP is probably one of the worst languages to learn OO. I learned OO through Java and now apply it to ABAP.

Some organizations have allowed programmers to use OO techniques, but in the hands of people who don't really "get it", they've ended up with a mess. It's a lot easier to write REALLY bad code in OO.

Dig Deeper on SAP Java and J2EE

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.