17
Matthias Becker (SAP SE) October 26, 2016 ABAP Development Tools Bringing a server-based programming model to Eclipse

ABAP Development Tools Bringing a server-based programming

  • Upload
    vumien

  • View
    234

  • Download
    0

Embed Size (px)

Citation preview

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. 3

ABAP Development Tool in 2008

© 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.

DemoAsynchronous Communication

© 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.

DemoCompatibility

© 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]

Evaluate the SessionsSign in and vote at eclipsecon.org

- 1 + 10