Building Web Services With Abap and Sap Web Application Server
ABAP Development Tools Bringing a server-based programming ...
Transcript of ABAP Development Tools Bringing a server-based programming ...
Matthias Becker (SAP SE)October 26, 2016
ABAP Development ToolsBringing a server-based programming model to Eclipse
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 2
ABAP: Some Numbers
Invented 1982 ~ 3.5 million developers
~ 60% of the world’s transactions touch an
SAP system
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 4
3 Challenges
1. Loves files Loves database tables
2. Local development Server based development
3. One client version for all server versions
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 5
Provide Files
Repository / Database
SAP GUI
ABAP Workbench UI
ABAP Workbench functionality
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 6
ABAP in Eclipse
Some other tool
Provide Files
Repository / Database
SAP GUI
ABAP Workbench UI RESTful APIs
ABAP Workbench functionality
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 8
Asynchronous Communication
Frameworks not prepared for asynchronous work:
� Editor Initialization
� “Link with Editor”
� Context menu in Project Explorer
� Calculation of Code Completion Results
Asynchronous Communication
Lazy Loading
Asynchronous Communication
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 9
Migration Strategy via SAP GUI Embedding
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 10
Compatibility – What Does It Mean ?
Client checks features available on serverEnables / disables functionality
One client version works fine with all server versions
Server checks if client is incompatible Triggers client update
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 11
Compatibility: Homemade Solution
Driving Force: Backport single features to
older server versions
1
1
1
1
1
1
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 12
Compatibility: Homemade Solution
Driving Force: Backport single features to
older server versions
1
1
1
1
1
1 2
2
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 13
Compatibility: HATEOAS or Standards Are Your Friends
API discovery via Atompublishing protocol
(RFC 5023)
Hypermedia via Atom links(RFC 4287)
Client URI calculation via URI Templates
(RFC 6570)
API versioning via versioned content types
(RFC 2616)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 15
Compatibility: HATEOAS or Standards Are Your Friends
<program:abapProgram .. > ..<atom:link xmlns:atom="http://www.w3.org/2005/Atom" href="source/main/versions" rel="http://www.sap.com/adt/relations/versions"/> <atom:link xmlns:atom="http://www.w3.org/2005/Atom" href="source/main" rel="http://www.sap.com/adt/relations/source"
type="text/plain" etag="201502131849510011"/> <atom:link xmlns:atom="http://www.w3.org/2005/Atom" href="source/main" rel="http://www.sap.com/adt/relations/source"
type="text/html" etag="201502131849510011"/> <program:abapProgram>
<app:workspace>..<atom:title>ABAP DDL Sources</atom:title> <app:collection href="/sap/bc/adt/ddic/ddl/sources">
<atom:title>DDL Sources</atom:title> <atom:category term="ddlsources" scheme="http://www.sap.com/adt/categories/ddic/ddlsources"/> <app:accept>application/vnd.sap.adt.ddlSource+xml</app:accept> <adtcomp:templateLinks>
<adtcomp:templateLink rel="http://www.sap.com/adt/categories/ddic/ddlsources/properties"template="/sap/bc/adt/ddic/ddl/sources/{object_name}{?corrNr,version}"/>
<adtcomp:templateLink rel="http://www.sap.com/adt/categories/ddic/ddlsources/source"template="/sap/bc/adt/ddic/ddl/sources/{object_name}/source/main/{?corrNr,version}"/>
</adtcomp:templateLinks> </app:collection>
..</app:workspace>
� Discovery document via Atom publishing protocol (RFC 5023)
� Links via Atom links (RFC 4287)
� URI calculation via URI Templates (RFC 6570)
� Versioning via versioned content types
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 16
More Information
Links
� Update Site: https://tools.hana.ondemand.com/#abap
� ABAP in Eclipse on SAP Community: https://blogs.sap.com/tag/adt/
� ABAP in Eclipse on YouTube: https://www.youtube.com/watch?v=BXg7xXrEAUw
Contact Information
Matthias [email protected]