ABAPers: HCP and You
Setting the Stage (Development Environment)
You’re a seasoned ABAP developer. It’s a critical skill for on-premise customization of business processes or extensions. Your skills don’t go to waste just because you’re moving to HCP. You can even use the ABAP Web service calls to talk with HCP apps in the cloud.
Real-world example scenarios include:
- HCP can integrate data and business processes across a number of different applications to create one brand new application. SAP customer Semos, for example, extended the functionality of their SuccessFactors HR application to include a new employee recognition and reward fulfillment program.
- HCP connects organization to the digital economy by allowing them the ability to integrate all their assets, sensors, emitters, into their enterprise environment. These connected devices can then be tracked, analyzed and update easily and quickly.
- HCP can build customize application. Jaguar Land Rover uses HCP to power a robust e-Commerce site for the sale of Jaguar Land Rover merchandise via out-of-the-box integration into their systems, including SAP ERP, CRM and BI.
As traditional ABAP developers, you’re used to the ABAP development workbench (SE80) but you can also use Eclipse with the proper add-on. Eclipse is the one tool you can use to connect to everything at SAP such as ABAP, HANA, and HCP.
- Tutorial: How to install eclipse tools for HCP
Below is a quick summary on which development tools to use while programming on HCP:
- Eclipse – JAVA
Programming Languages + Other Skills
ABAP and Java are both object-oriented languages, and as such if you’re transitioning to Java, it does not require much effort for classical ABAPers to learn. ABAPers may also already be familiar with Java because part of SAP Netweaver Web Dynpro is based in Java. To refresh your memory, please read the post “Conceptual differences between ABAP and Java”.
- Tutorial: HCP and Java – “Hello World” — In this tutorial you will learn how to build your first Java application on HCP
HCP is an open, standard-based and modular platform operating as a service for rapid development of on-demand applications. In essence HCP supports three main scenarios:
- Extending existing on-premise solutions
- Developing new cloud applications
- Extending and integrating cloud applications and platforms
Extending Existing On-Premise Solutions
In this category, we want to connect a customer data center behind a firewall with customer extension in the cloud. By using the HCP Cloud Connector, a secure SSL VPN connection is configured between HCP and the on premise systems. The protocols supported by the connector are HTTPS, REST, SOAP, ODATA, JCo, and JDBC/ODBC.
- Tutorial: How-to setup the SAP HANA Connector for secure on premise connectivity
Set up and configure the SAP HANA Cloud connector as the recommended way to connect applications running on SAP HANA Cloud Platform with on premise systems.
- Tutorial: How-to develop an on premise extension using JCo to RFC
In this tutorial you will develop an on premise extension using RFC via JCo. The scenario used in this tutorial is based on the well-known SFLIGHT model available as default sample content in all ABAP systems.
- Tutorial: HTML5 app with SAP Web IDE on HCP with C4C OData
Build a simple HTML5 application using SAP Web IDE on HANA Cloud Platform, using standard SAP Cloud for Customer OData services.
Developing New Cloud Applications
- Tutorial: HCP and Java – “Hello World”
In this tutorial you will learn how to build your first Java application on HCP
- Tutorial: Develop first HANA XS application on HCP
Know how to build, deploy and run an SAP HANA XS application on HCP
- Tutorial: Develop your first UI5 application
Understand how to build, deploy HTML5 application
Extending and Integrating Cloud Applications and Platforms
With HCP, you can take existing solutions that are currently on the cloud and extend them with any of numerous services offered on HCP.
- Read the whitepaper on SAP HANA Cloud Platform extension package for SuccessFactors
- This SuccessFactors document goes through the full implementation of how to use HCP to extend SFSF
Online Training Courses
Finally, if you are interested in more training materials then you can try out the openSAP courses. The openSAP courses will introduce you to the SAP HANA Cloud Platform and show you how to take advantage of the various services it provides. The registration, learning content, and the final exam are free of charge. Moreover you will be able to get practical experience of the platform by using a free developer trial account:
- Introduction to SAP HANA Cloud Platform
- Next Steps in SAP HANA Cloud Platform
- Extending SAP Products with SAP HANA Cloud Platform
From an integration perspective, HCI is the integration service in the cloud. If you have SAP NetWeaver Process Integration (PI) skills it would not be difficult to work in HCI since both share similar concepts.
Very comprehensive!!! Nice job done!
SAP platform hat become a language mess. Anyway nice done!
You Are Right Pedro..... There are lots in queue to know & learn now!
Do you mean programming languages? If so, isn't an advantage to support multiple programming languages? I welcome your thought.
SAP failed there already with Netweaver and JAVA.
With failed i mean SAP was not nearly reaching the goals they had with NW Java.
Isn't it an advantage supporting multiple Database platforms?
In platform ecosystems it's usually called 'choice'. 🙂 byol
Too much options is bad thing. Focus on 1 or 2 things and be the master. Look at Apple they have objective C and Swift done and Look at Nokia they had Symbian C++, Java MIDP, Java for s60, Qt/QML and Perl, PHP, etc etc end result Apple won the ecosystem war and Nokia lost despite being the leader and a brand name to die for.
SAP is going the wrong route, make an IDE where I can do design time code generation for HTML and CSS and create code in one language be it a new dialect of ABAP or a new language or JS but by supporting so many languages and lacking a coherent message you are screwing up your developer base.
Actually there aren't nearly enough developers in the hcp space. Options are good. If it means we have to ditch inflexible old schoolers in favour of those more likely to succeed, go with success every time.
No-one cares what tech is needed to deliver results, Apple being a case in point. Objective C is a horrible language, what matters is the end user experience. That's why apple beat Nokia. It's also why HCP will succeed. Great user experience. No IDE, no language can deliver that, but great developers can. And now HCP will offer those great devs the opportunity to use whatever language they want to do it. (As long as it can run in a cloud foundry container).
Absolutely spot on!!
I don't know what gives you so much hope for HCP but we will see what happens.
HCP is not offering a UX that was not there it was always there SAP did not disrupt the market they just disrupted their own products and UI/UX strategy.
I believe success or failure is not a single event and rather a cumulative effect of a series of events in chain. Similarly Nokia did not fail for just one event that it used Symbian too long or Windows Phone was bad and so and so on. Also Apple did not win because of this or that single event. But if you look at the root Apple won with a superior disruptive software and mass developer base where as Nokia lost because when the app economy really got started they had a mess of tools, no coherent strategy, they alienated the developer base, etc. And I can still forgive NOKIA for being a hardware manufacturer and say Apple was always a software maker so their skills are obvious but what shall we say for SAP, the largest business software provider.
SAP's entire strategy is a mess, there's no proper communication except a few blogs now and then again with ambiguous messages.
I also don't understand your rationale why language and IDE does not matters for great app development. That just sounds too immature and illogical to me. With great tools and IDEs even the big dreamers can create amazing apps and services you don't have to be a crazy software programmer for that. The world is filled with examples for that.
or may be SAP is just incapable of delivering on anything rather than confusing and alienating it's developer base and giving one after one trash talk and waste time.
As an iOS developer I know the language I need to learn and the tools I need to have and then you are in with your creativity that is how simple that ecosystem is and look at even Microsoft the largest software maker they are simplifying things but SAP loves complexity. You really don't know what you need to know but know everything you don't need to know in SAP ecosystem. Too much and poor choices. I can not simply learn ABAP and JS and say well I can target premise, cloud and HANA because tomorrow SAP comes with something else and the things simply keep getting messy and ugly.
I would really hope SAP listens and it starts simplifying the things that's the ultimate goal rather than adding too much ecosystem choices.
The whole premise of this blog was if as a customer or partner you have invested a lot in ABAP skills they don't go cold. Regarding the strategy you point out pretty well in your response
This is exactly the recommendation I would make and following this, as you aptly put, you would be able to
I would add Java too, but that's it. In addition to this one has to remember that all of us who work in software/IT/consulting organizations never have homogeneous landscape or make same development choices. So besides the above recommended practices it is always good to have options. I work with a lot of ISVs and partners who want to bring their applications on HCP. The single biggest question is always how open and how many runtimes, db, services options does your platform offers.
I think what is important is to be flexible, iterate and learn along the way. I am sure you know in the very beginning the only way to develop applications for iPhone outside Apple was by using HTML.
No-one cares what tech is needed to deliver results, Really ?
Didn't expect that from a mod 🙂
This is of course a generalisation! Devs care, architects care. Users however, don't.
I hope we can use flexibility to bring great results, which is what users care about.
Well SCN is not for endusers right? ANd no one loves a hell of option every one loves clarity and simplicity of tools and roadmaps. So is SAP going to support VB and family of languages too just to get onboard more developers and geta few happy clouds.
That is hilarious and sounds like SAP is desperate. This is not the way for any successful ecosystem to grow. You put n languages and runtimes and expect n^n apps and support that only happens in some cartoon show. Any ways SAP is not the only vendor others are doing well too, so we will see how far the whole HCP joke goes and how long the HANA engine can run along.
It has become my belief after many many years of developing solutions for SAP users that what matters to the people that pay the money for custom development is the result. They are constrained by architects, the skills of the developers and the system solutions to use certain development tools, so that is what is used.
By opening up the environment to BYOL, SAP can attract developers that use other skill sets to use the platform to generate awesome solutions. Does this mean that you need to learn every possible language to be successful with SAP? No, you focus on those languages that enable you to deliver best.
Many customers are not going to want to use the CloudFoundry BYOL solutions as it will involve additional work and monitoring on their side that they already get with the Java based runtimes. So if you want a roadmap for your learning, concentrate on the HTML5 skills and Java to enable them, with ABAP being the tooling to use to expose the data from SAP on premise solutions.
If you feel that you have awesome skills in server side JS and want to leverage some of the cool node.js libs out there, then now you can. It is choice. For you, for the customer, for the architect.
The main thing is to ensure best result. That will indeed be challenging and will require skilled architects to help businesses make the best choices. It's no longer that you only have one choice, and yes that can be scary, and yes it means that you can make the "wrong" choice, but it also means you can make the "right" choice and allow for amazing solutions.
I look forward to seeing HCP and the underlying HANA engine providing the basis for a very successful and powerful transition to the cloud for SAP. Let's watch and see how it goes. I'm going to invest time and effort in my people to advance in this area, I hope others will too.
If "enough developers" is the reason why SAP went with so many options then i believe its going to be an even bigger challenge now to have a developer with just the right skill set for an implementation or support.
It's a very good point that any architect advocating for the use of a particular CloudFoundry based solution will need to consider when they propose that solution! Certainly if a container/technology that is chosen that has very few developers out there, then it will be hard to support.
Thank goodness they can't choose an ABAP runtime - just imagine how hard it would be to find developers then! 😉 (joke - but kinda serious too! Good ABAP skills are shard to find! - just look at language popularity index - no ABAP there! PYPL PopularitY of Programming Language index)
Now you hurt me 🙂 I love ABAP.
I have nothing against new languages or HCP, but just to put htings in perspective about those inflexible old schoolers - these ABAPers are providing the bread and butter of SAP ERP. You want to ditch them, really?
And about Apple - GREAT user experience, no questions about it - BUT extremely controlled and closed environment. You want to code for iOS - use only 1 IDE - XCode, and houuray you have 2 languages to choose from: ObjectiveC and Swift. And were you can distribute you app - only AppStore. And would you like to open your iPhone and see inside? Apple is very controlled, strict and closed environment where they have a hand on hardware and software completely. Not the same thing at all IMHO.
Do you really think this is the reason why Apple wins over Nokia? REALLY?!?!?!
Yes of course it was a major issue with their failed developer and app strategy.
There was so much confusion with which tools, languages or versions to go and finally the developers left that mess for simpler and greener pastures.
Today Apple has the best app ecosystem what made it? I believe their coherent developer message, simple go to tools and a single language inspired a generation of creative minds to start writing apps. We need apps and great experience stories and that needs enabling people that includes everyone like you and me not just some cynical programmers. And to achieve that we need a clear message, a story, a single or two languages and a great IDE. Yes....
While I agree that consistent/coherent tools are important and helpful - I truly believe that developers are smart enough to chose what's best for them and what makes them most productive. When you go to a hardware store - you find more than one brand of screw-drivers, right? It's not by chance that there are still commercial IDEs out there, which are consistently winning market share year over year.
On the "why Apple won" - I would rather put my bets on "4 clicks from search to running an app on your iPhone - anytime, anywhere". As an end-user - I could not care less what tools did the developers use to create this. All I'm interested in is the end result, how much it fits my needs and how appealing it is to work with. Even with the most enterprise-grade tools - if the end-result is not leveraging all the latest innovation in the current iOS release - it will most probably be at disadvantage with regards to user experience and usability when compared to the competition.
Offering multiple choices is a major step forward for SAP overal and will open up many new opportunities. Ideally it'll also attract many new people with diverse skillset and ideas.
It's not only about smartness of the developers it's about the curry you spoil with too many choices and ingredients that in the end you don't get any flavor. Think about the development teams and the client side technical team. Ia m not against choices but choices should be reasonable and have a purpose. Having fewer but elegant choices will make developers happy if that means for many like us learning a new skill set but there should be a clarity in the road map and support.
But you cannot say HTML5 is a proper language, can you?
Agreed with computer engineering background it should not be a challenge. Rather i would say for many simple ABAPers without engineering background too it may not be a challenge, Java, JS and HTML are no rocket science. However the shift from coding practices , variable naming, type defs and some structural language elements could be a challenge because for years u have become accustomed to a set pattern.
But point is not how much we learn or we can learn it's about the value proposition offered to developers by SAP. Developers want one tool kit with best integration, stability and features.
Developers want a clear road map not confusion. Developers want market sanity. Today a client A will say let's go ruby tomorrow another will say lets go JS.
We are not hackers we are developers writing enterprise grade customer applications so we want the right tools.
and now there are even more options with CloudFoundry - the BYOL that we've been waiting for.
Continuous evolution on SAP HANA Cloud Platform with Cloud Foundry and OpenStack
What happened to SAP River? is it still valid or it's a dead bird.
Dead. Since HANA SPS09... Many Features were reused elsewhere e.g. in CDS. See Thomas Jung blog:
On one hand, this is interesting. But it raises serious questions about SAP's sanity and strategy.
As Prasenjit mentioned, adding more ingredients to the curry does not necessarily improve the taste. Couple the CloudFoundry news with the general tendency - even within SAP - to come up with special solutions/tools (WebI for html, CRM-flavoured BSP, both in stark contrast to SAP's centrally expressed positioning of UI5/Fiori as "the" web-based UI going forwards), and you can easily forecast a time when you'll have 10 different streams within SAP each delivering standard solutions based on their own preferred language/platform. Which of course means customers will have to adopt an ever-accelerating set of tools, just to handle their own inevitable enhancements and modifications.
I agree with those who prefer a more well-integrated, restricted set of tools. When someone whips up an E2E application in Salesforce within half a day; complete with DB model, services, and UI layer, full CRUD; I cannot but hope to avoid the inevitable question "how is it done in HCP"?
But, hey, sure, with a bit of PHP and Ruby we'll surely get there in no time, right??
I'm not sure watering out the HCP platform will make it more attractive. Instead, SAP should focus on integrating their existing tools to enhance productivity for the customer base who have embraced HANA/HCP and truly believe in it and its potential.
Thanks 🙂 for the Blog. 5 Stars for the links provided here. Thank you.
This is a great blog which pulls together many of the disparate HCP resources, and de-mystifies them for the legions of grey-haired abapers out there (like me 😉 ).
I would also add that learning about HCP is a lot of fun!
Great source of info - thanks!
The strength of HCP is - in my opinion - also based on the browser-based tools and IDE's. These do not, as far as I see, support Java development for the time being (you need Eclipse for this, and Eclipse is a dying beast).
Go light, use your browser.
Much I am a Java anti-fan I have to respectfully disagree here. PI / PO (and HCI) would be unusable sans Java. True; SAP has stopped developing WD Java any further; but has continued it everywhere else. All integration roadmaps leads to Java (and no ABAP). Hybrid is the answer to life (and beyond). Just my two pennies worth.
I just come from the vacations in Spain and I see how hot this conversation has become. I come from the Microsoft Dynamics Ax world and I am now busy with a SAP implementation. Used to one language for business code and a great IDE tool like Visual Studio I get frustated how unproductive is the new "state of the art" environment from SAP. SAP should take a look how things will be solved at Microsoft Dynamics Ax 7 which have by default and as only option a HTML5 interface which will be developed at Visual Studio, the same tool that will be used for business code, reports,...
With SAP you have to have in mind multiple interface Technologies (some of them from Stone Age), multiples languages, multiples IDES, lack of documentation, multiple products,.... I don´t see the benefict of that for our customers.
I'm in the SAP world since 20+ years and have to say I agree completely. We also use Microsoft tools like xRM in my company, and the SAP camp is being constantly mocked for the lack of integrated, productive, visual development environments.
Java script is cool agreed but too much cool as it's syntax is another mess. 4 different ways to have a class declared wow.
Exactly the current ness of languages can not be a option in long run.
Abap is dead, I have being hearing this from a long time, but it is still here alive and kicking.
The article is missing an important point, the Abap developers are not needed only to built the connection but are needed for everthing else except for the presentation layer.
The real knowledge is the business processes and the ERP database, and all the tools used to comunicate print enhanche the system, the authorization part, how to improve performance, error handeling, transport your code to quality and production in the proper way, ecc ecc.
Sap ERP is not just an old code but it is a code that works and has being tested for years this is the real advantage twords other ERP softwares and S/4 Hana sits on top of sap erp.
ABAP will never die SAP must understand teh power of ABAP and teh developer base. To appease people you don't need to sell your soul or just go with teh crap selling in the market.
SAP must decide what is best tool. Is JS really cool for business logic NO NO NO.
UI5 is great SAP step towards a modern interface and UI, SQL script is cool with HANA but the glue is ABAP. Also please stop supporting legacy in new ABAP stack, make it faster add more enterprise functionalities and 100% OOP only.
ABAP, UI5(html5, JS, CSS3), SQL Script = SAP for next 50 years of global domination and happy SAP developers. We really don't need ruby and tuby , give us fewer languages and great tools, done. if a ruby developer wants to work on new SAP cloud solutions let him/her learn.
Make the business opportunities attractive and provide great learning tools and if market demand is good even C++ and Java programmers will come running to ABAP as they did in last many years. So SAP please stop chasing x,y and z like Microsoft tried with their platform. Make it great insanely great and just show the business and money opportunities people will learn and deliver.
There are two scenarios S/4 and Hana XS, on S/4 sap is sticking to Abap/UI5/Fiori/Hana insted Hana XS is a standalone tool that they are creating and has nothing to do with Sap Erp and abap
There is nothing wrong in that, Personaly I have taken the open course on Hana XS but I do not know why I should use Hana XS, to build stand alone functionality not tide to the sap erp? the added value are all the tables in Sap and their relationship not the tool.
If you logon to SCN you rarely here the word ABAP they are always talking of mobile hana cloud .... has if Abap is a smaller part of Sap world and this is annoying because most of the SAP business comes from abap.
I don't think ABAP is dead. Not by far.
The reason is simple: the vast bulk of business functionality is written in ABAP - and this is still valid for S/4. True, more functionality may be pushed down in the form of HANA views or stored procedures, but these are ultimately consumed from within ABAP. This might "hollow out" the core ABAP functionality over time, like water eroding a rock, but the main structure will remain for a long time.
ABAP means business - it just works 🙂
ABAP means "Allgemeiner BerichtsAufbereitungs Prozessor", general report processor, or something like that...it means that it was a language from the 80´s basically dedicated to reports with added functionality throught the years but always backward compatible.
Today it is too old fashioned and I am sure SAP could make a much simpler and better Business Language if they wanted to risk the backward compatibility.
...reading the full name out loud, it actually sounds like the kind of language you don't want to mess with 🙂
But after some time it got inteligently the Name "Advanced Business Application Programming". After the Volkswagen case I take care of german Marketing 🙂 .
Agree 100% with this comment. ABAP on Netweaver is the most successful business software development platform ever. SAP just needs to ensure better integration of ABAP with the Web world and I'm sure they are working on that right now.
May be ABAP engine on cloud solutions like for HCP can go fully object oriented with no legacy compatibility and can feature better integration models while legacy code can be either refactored or existing tools can continue side by side. but advantage is legacy code is mostly on premise. so with fresh HCP we have a newer ABAP version.
I think that million of lines of code in Abap will stay there but will be optimized with the more performing hana DB calls with the new abap Sql statementsor or the direct call to the Hana veiws. As they did in the past with the abap objects
Now there are so many trends in the Sap ERP that come and go like webdympros, it seemed like everything was going to be switched to webdympro,
The future looks like Fiori UI5 and Hana, there are reason behind it, like portability performance user friendly, need to see how fast fiori is, Webdynpros was slow.
Of course there are other modules that use other technologies and it is a mess like CRM SRM ...... but I hope they all wrap up to Hana Fiori UI5.
I am learning Java script as i started UI5 development and trust me i hate the so many ways to declare an object. it's insane. I am not against the fun of not having to initially declare a class and the over head in ABAP and Java , js is really cool but it should not be pushed for anything beyond UI.
and SAP must come clear on the UI startegy, it's very confusing still. I really don't know if they killed RIVER IDE( it became part of the XS explorer i think ) or what happened. There's no word on that, SAP seems like being run by people in ivory towers. Reminds me of Nokia's software efforts( I can not help sorry) 🙂
SAP River IDE --> SAP Web IDE
SAP Web IDE - Enablement
Thanks but they killed it. and wrote a short reality distortion story on that. it's not dead but re birth .