Like any development language, ABAP is a constantly evolving and continues to adapt to changes in business and technology.
I recently moderated an online forum with SAP mentor and Discover ABAP author Thorsten Franz of AOK Systems GmbH, which stemmed from a few key questions:
What has changed in this most recent edition of Discover ABAP? And how can ABAP developers prepare for changes brought on by HANA, OLAP, cloud computing, mobile devices, OO programming, and open source technologies?
Thorsten covered topics and offered his advice on topics such as skills to develop alongside ABAP expertise, the current state of Java vs. ABAP, new technologies such as AS ABAP for HANA, SUP, and Gateway, and preparing for the cloud, among others.
Scott Priest: Thanks for joining us today. We're looking forward to your questions and comments, whether you're new to ABAP or are a veteran ABAP developer.
And thanks to Thorsten Franz for taking questions today!
Thorsten Franz is an SAP mentor, a software architect at AOK Systems GmbH, and the author of the second edition of Discover ABAP . He’s entertaining questions about the new edition of the book, what changes in the ABAP language are most critical to ABAP developers, and where new and veteran developers can hone their skills in a world of HANA, Eclipse, mobile and cloud technologies.
Thorsten, welcome! I see there are a couple of questions in the forum already, so we can get started right away.
Thorsten Franz: Hi folks,
Thanks for having me! I'll try my best to answer the questions I can, but I need to make a disclaimer: I don't work for SAP, and I can't speak for SAP. I'll just speak about what I know, and as far as the future is concerned, about what I can assume by putting 2 and 2 together or interpreting rumors I've heard. Just don't hold SAP liable for anything I say, and don't assume I have insight into their secrets. Thanks. :)
And on to the next question...
digantogoswami: As an ABAP developer, where is the integration with cloud computing taking us? Which skills can we enhance along with ABAP skills?
Thorsten Franz: Diganto,
That’s an interesting question - ABAP and the cloud is a wide field. Because you posted the question in advance, I was able to prepare a lengthy answer. :)
1) How can on-premise ABAP solutions interface with cloud-based systems?
As ABAP systems are increasingly integrated with non-ABAP systems, including systems running in the cloud that face web applications and mobile apps, some skills become increasingly important:
- Internet Communication Framework (ICF), transaction SICF – “roll your own” HTTP handler classes, create RESTful web services
- XML and JSON as protocols used by those services for data exchange
- NetWeaver Gateway as an easy-to-use tool for exposing OData services (a flavor of REST)
2) What types of ABAP platforms in the cloud exist?
- Firstly, SAP’s Business ByDesign runs in the cloud and can be enhanced by customers and partners. If customers or partners enhance ByDesign, they don’t program it in ABAP directly but in a special programming language and data modeling notation in a ByDesign-specific development environment.
Skills: specific for ByDesign
- Secondly, internally, ByDesign runs on the Next Generation ABAP Platform (NGAP), an improved ABAP platform on which you program in ABAP, with Eclipse serving as the IDE (“ABAP in Eclipse”). Currently, NGAP is not available to customers and partners, but SAP is adding optimizations for HANA and rebranding it as “AS ABAP for HANA”, which may very well become available to customers and partners on-premise in the foreseeable future.
- Thirdly, it’s still too early to say whether SAP will open cloud-based NGAP/AS ABAP for HANA servers for customers and partners to program directly as a Platform-as-a-Service (PaaS) offering similar to what they’re doing (currently in beta) with SAP River/NetWeaver on Demand.
Skills: same as above, but unclear whether it will come.
- Fourthly, of course you can install and operate classical ABAP systems on the big Infrastructure-as-a-Service (IaaS) cloud platforms such as Amazon EC2.
courn: What are the implications to custom programs when moving to HANA? Is the move more of an "upgrade", or are there specific steps that need to be taken to make sure custom development works in that environment? Thanks!
Thorsten Franz: Hi,
Very brief answer: The more you optimize, the more you have to do. HANA is (among others) just an SQL database, and as soon as our on-premise ABAP systems can run on HANA (like BW on HANA), all ABAP applications using OpenSQL will also run on that platform. But in order to really optimize applications for HANA, you need to employ native database programming techniques and (re-)implement business logic at the database level.
Very long answer:
There are several ways in which you could move to HANA.
- If you’re talking about existing ABAP code in a BW system and that BW system is migrated from classical BW to BW on HANA, then you might have to make minor adjustments in transfer rules etc. because some DDIC structures change.
- If you’re talking about HANA-enabling a Business Suite (ERP, CRM, …) application, then the typical architecture today is the sidecar approach, where most of your application remains unchanged but a performance-critical part is “outsourced” to a HANA box that runs beside your SAP system. This outsourced part of the application needs to be written in a HANA native fashion, e.g. stored procedures, SQLScript, or just SQL.
- In the future, SAP might make their “AS ABAP for HANA” available to customers and partners, allowing for a tighter integration. Firstly, you won’t have to run HANA as a sidecar but it will be the home database of the SAP system. Secondly, there will be more support from accessing native HANA functionality from within the ABAP system (perhaps something like “call a stored procedure like a function module”).
SAP has announced that in whatever fashion, ERP on HANA will be available by the end of 2012. It can be safely assumed they’re not going to port the Business Suite to AS ABAP for HANA, so consequently, I assume that some of the HANA tooling they’re currently building for AS ABAP for HANA will be back-ported to classical ABAP (7.x).
To get an impression of SQLScript, check out this SCN link: www.sdn.sap.com/irj/sdn/go/portal/prtroo...
Tammy Powlas: What should developers do/learn to move to the Sybase Unwired Platform, HTML5, NWBC, SAP HANA? How should they keep up?
Thorsten Franz: Hi Tammy,
For HANA, you'd have to hone your SQL skills and learn about native database development (stored procedures, HANA-specific stuff) if you want to do it very well.
Generally, I'd say the most important skill is to learn to learn, to acquire any skill very quickly and well enough for the task at hand, knowing that different skills might be relevant tomorrow.
NalinikalyanNallagonda: Is there a technology road map for all SAP applications, not just the information on technologies as it gives a more insight where SAP is heading or addressing the constantly evolving business world?
Thorsten Franz: SAP would have to answer that one. I can only give my personal experience, in which the road ahead, technologically, is quite clear in some areas and quite unclear in other areas. For example, it's not always easy to find out which Industry Solutions are going to move away from ABAP Dynpro and adopt Web Dynpro ABAP, and when. My advice is to search SCN and, if that isn't conclusive, contact the respective product management team.
Tammy Powlas: Why is it important for ABAP Developers to remove "Obsolete" statements from their code?
Thorsten Franz: Tammy,
Obsolete statements will usually work in the next release (I can’t think of any instance where an program containing obsolete statements gives syntax errors after an upgrade), but one day you might have to move such code into an ABAO Objects context, e.g. refactor a program so that something moves from a FORM routine into a METHOD, and then that code will give you syntax errors.
Also, statements are declared obsolete for a reason – because they are ambiguous, confusing, have unclear semantics, represent programming models that are no longer state of the art, etc., and sometimes because there’s a much better (more powerful) replacement.
NalinikalyanNallagonda: Is HANA also going to be coming to ECC, SRM, etc.? If not fully, how can it be utilized in parts, and what would be its impact on ABAP?
Thorsten Franz: Vishal Sikka (CTO of SAP) announced that in Q4 of 2012, HANA would come to the ERP system - probably as a ramp-up. That's very ambitious. In order to really speed up the ERP system, it is not enough to move HANA under the ERP system as a database but also to optimize the applications, meaning that some of the performance-critical functionalities where the greatest gains can be expected must be reimplemented with native database means, i.e. they'll probably have to do some new programming.
In order to do that new programming in the most effective way, they'll need some of the tooling that is currently only available (or being built) for the AS ABAP for HANA, also known (but less frequently now) as NGAP. See the SAP TechEd Online materials from TechEd 2011 on the "Trailblazer" initiative to learn more about AS ABAP for HANA and optimizing ABAP applications for HANA.
Tammy Powlas: How can you incentivize developers to create technical specs? For functional side, what can they do to better provide functional specs to developers with changing technologies?
Thorsten Franz: First question - I don't have a simple answer to that one. Perhaps this one: Assure a good developer that she's only describing the solution, but the worst programmer she knows will implement it based on her document, but not looking at any prototype she may have built. This might give her some incentive to describe the solution she envisions well. But seriously, I don't know. It has to do with the culture. If developers feel that they are getting good and significant feedback based on technical specs, that might be an incentive.
Second question - in my experience it works best if during some stage of the functional specification process, someone who thinks like a developer is involved and gets to ask all the questions about non-functional requirements, non-obvious functionalities, boundary conditions, and so on. Sometimes, functional people can learn to do this; in other cases, technical people must learn to communicate very effectively with the functional people and extract this information from them.
Agile project methodologies like SCRUM that emphasize an iterative approach, developing something and showing it to the (internal) customer, getting feedback, then working some more on it, and so on, are also very effective at improving the communication between functional and technical people.
NalinikalyanNallagonda: Regarding Mobility, SAP has new Gateway services, how is it changing the programming model of SAP applications?
Thorsten Franz: Remember over ten years ago, the BAPI initiative, when developers were first told to separate user interface code from business logic? Those who took this advice back then could and still can adapt their applications to new upcoming channels comfortably:
- ALE, IDocs, BAPIs
- CRM Middleware
- SOAP Web Services/Enterprise Services
- Web Dynpro ABAP
- Webclient UI Framework (BOL/GenIL)
- and currently: NetWeaver Gateway.
Just have a nice, easy-to-wrap application API on top of your business logic and it will be relatively easy to write the required wrappers for any of the above technologies.
One think that needs to be considered is transaction handling. After a BAPI call, the transaction is usually kept pending, i.e. no explicit COMMIT WORK in the BAPI, but REST services such as in Gateway are stateless, so any transaction must be finished after the call.
NalinikalyanNallagonda: We know SAP is investing hugely on UI technologies. How is HTML5 impact the programming paradigm?
Thorsten Franz: SAP has just released their new UI library "UI5" (short for something much longer that nobody can remember) to public beta - you can download it on SCN, along with two very basic tutorials, and give it a try.
As far as I know, UI5 is not replacing Web Dynpro ABAP, but the two will co-exist - Web Dynpro ABAP for applications in and closely around the Business Suite, and UI5 for entirely new and different things. We'll see how that works out.
Chaitanya: The programming languages of HANA are mentioned to be SQL Script, Language R and BFL. We have ABAP so far...Down the lane into the future - say after 2 to 3 years - which one would most likely be used in the way we now use ABAP for basic SAP coding?
Thorsten Franz: Hi,
Also, despite certain bloggers, Java is not dead, and who knows what's going to happen with scripting languages that run on the Java Virtual Machine?
Scott Priest: In hindsight, all the handwringing about the demise of ABAP a few years back with the rise of Java looks unfounded. So what is the relationship between Java and ABAP right now?
Thorsten Franz: Ha! Good question.
ABAP has clearly won as a platform for big enterprise applications. If a look at SAP's own products, I can't name a single ERP-style business application that is written in Java. On the other hand, SAP is investing in development in Java: SAP River, NetWeaver on Demand, Process Infrastructure, Composition Environment, Enterprise Portal are not stagnating, but seem alive and well enough.
I guess you could say that the ABAP application server is experiencing a huge renaissance as a platform for business applications, and SAP's Java platform is currently not experiencing the same degree of maturation for this usage. But SAP's Java platform is maturing for more technical and integration usages, and lightweight development.
Megan Daley: Thanks for holding this forum today, Thorsten! Do you have any information about how the ABAP platform is adapting to new technologies, like cloud computing and HANA?
Thorsten Franz: They're doing plenty, especially for these two topics. First they built the "Next Generation ABAP Platform" (NGAP) to be ready for the cloud and run Business ByDesign, then they took NGAP and turned it into "AS ABAP for HANA". Currently, both are not available to customers and partners, but there is a Customer Engagement Initiative in which they will let non-SAP developers try out the platform (in March). They also spoke about it at TechEd 2011 (keyword: Trailblazer), and it looks very much like SAP intends to make the new platform available to customers and partners on-premise in the foreseeable future.
Scott Priest: Thanks to all who posted questions and followed the discussion!
A full summary of all the questions will be available here in the SAP IT Forum, and in Insider Learning Network’s IT Group. If you have registered for this Q&A, you will receive an email alerting you when the transcript is posted.
For more details about Thorsten’s book, Discover ABAP, visit the SAP PRESS Bookstore here.
Thorsten Franz: I think I've answered all the questions - at least I hope so. Thank you very much for having me and for your interest in ABAP. We live in exciting times! ABAP is more alive and kicking than ever, and experiencing an amazing burst of innovation. It's more fun than ever to be an ABAPer.
Scott Priest: Thank you again to Thorsten Franz!