62
Michael Schneider, Thomas Schulze zur Wiesch, Niko Faradouris, Albrecht Gass October, 2012 CD206 Enhancing ABAP Development Tools in Eclipse

CD206.pdf

Embed Size (px)

DESCRIPTION

SAP TechED

Citation preview

Page 1: CD206.pdf

Michael Schneider, Thomas Schulze zur Wiesch, Niko Faradouris, Albrecht Gass October, 2012

CD206

Enhancing ABAP Development Tools in Eclipse

Page 2: CD206.pdf

© 2012 SAP AG. All rights reserved. 2

Disclaimer

This presentation outlines our general product direction and should not be relied on in making a

purchase decision. This presentation is not subject to your license agreement or any other agreement

with SAP. SAP has no obligation to pursue any course of business outlined in this presentation or to

develop or release any functionality mentioned in this presentation. This presentation and SAP's

strategy and possible future developments are subject to change and may be changed by SAP at any

time for any reason without notice. This document is provided without a warranty of any kind, either

express or implied, including but not limited to, the implied warranties of merchantability, fitness for a

particular purpose, or non-infringement. SAP assumes no responsibility for errors or omissions in this

document, except if such damages were caused by SAP intentionally or grossly negligent.

Page 3: CD206.pdf

© 2012 SAP AG. All rights reserved. 3

Agenda

We will talk about…

…the new ABAP Development Tools for SAP NetWeaver built on Eclipse

…our plans to make ABAP Development Tools (ADT) extensible

…how you can benefit from this extensibility

Page 4: CD206.pdf

What are ABAP Development Tools

for SAP NetWeaver built on Eclipse?

Page 5: CD206.pdf

Demo ABAP Development Tools for SAP NetWeaver

Page 6: CD206.pdf

© 2012 SAP AG. All rights reserved. 6

ABAP Development Tools at TechEd 2012

CD201: ABAP Development Tools for Eclipse – Develop Like Never Before

Overview lecture about ABAP Development Tools (1h)

CD164: Modern ABAP with ABAP Development Tools for Eclipse

Use ABAP Development Tools in a hands-on workshop (4h)

ABAP Development Tools in Eclipse

Q&A-session (1h)

Page 7: CD206.pdf

How can you get it?

Page 8: CD206.pdf

© 2012 SAP AG. All rights reserved. 8

Supported SAP NetWeaver releases

Minimum SAP NetWeaver releases are

SAP NetWeaver 7.3 including Enhancement Package 1

Support Package Stack 04 [NW 7.31 SP04]

SAP NetWeaver 7.0 including Enhancement Package 3

Support Package Stack 04 [NW 7.03 SP04]

Debug support

A new kernel version is planned which is compatible to NetWeaver 7.31/7.03

Page 9: CD206.pdf

© 2012 SAP AG. All rights reserved. 9

Download locations

SAP NetWeaver 7.31/7.03 customers

Download from SAP Service Marketplace

For further information

Read SAP Note 1718399

Try the trial version

Download from SAP Community Network (SCN)

For further information

Visit the ABAP in Eclipse community in SCN

Page 10: CD206.pdf

Why does SAP invest into ABAP

Development Tools for Eclipse?

Page 11: CD206.pdf

© 2012 SAP AG. All rights reserved. 11

SAP NetWeaver Application Server ABAP Empowering Classic & New SAP Products

• 50.000+ customers of ABAP-based products

• Millions of ABAP developers, SCN as community

• A thriving Partner Ecosystem

• Proven, Robust and scalable

• Extends into Mobility, Cloud and HANA

• Evolves compatibly under SAP Business Suite 7

• Enables On-Premise/On-Demand hybrid scenarios

SAP NetWeaver Application Server ABAP, A Strong Pillar In SAP’s Product Strategy

SAP’s Basis Technology For Transactional Business Applications

HANA

MOBILITY

CL

OU

D

SAP NetWeaver in 2013

SAP NetWeaver

Application

Server ABAP

Page 12: CD206.pdf

© 2012 SAP AG. All rights reserved. 12

Goals for new ABAP Development Tools

Increased developer

productivity

One IDE for all technologies

Extensible development

tools

Page 13: CD206.pdf

© 2012 SAP AG. All rights reserved. 13

Reasons for using Eclipse

Eclipse is an …

… modern integrated development environment (IDE)

… extensible plug-in system

Many plug-ins are available supporting …

… different programming languages like Java, C++, PHP

… development processes like plug-ins for source code management systems or code analysis

Eclipse allows to run many plug-ins integrated in one instance

Page 14: CD206.pdf

Why do we need extensible

ABAP Development Tools?

Page 15: CD206.pdf

© 2012 SAP AG. All rights reserved. 15

SAP-internal use cases

Extended ABAP code search

Code inspections

Clone detection in source code

SAP UI Development Toolkit for HTML5

Page 16: CD206.pdf

© 2012 SAP AG. All rights reserved. 16

External use cases

Partners and ABAP community showed interest in extending ABAP Development Tools

SAP started pilot projects to get feedback on a first version of the Software Development Kit

(SDK) for ABAP Development Tools

Pilots are

smartShift, Mannheim, Germany

SAP Mentors

Page 17: CD206.pdf

What is the pilot project with

smartShift about?

Page 18: CD206.pdf

© 2012 SAP AG. All rights reserved. 18

smartShift Overview

• Global software and services company

• More than 19 years experience in the IT-Modernization market

• Patented and proven automation software and methodologies

• Headquartered in Mannheim (Germany)

• Member of Cambridge Technology Enterprises (500+ employees)

• SAP division 100+ employees in Germany, USA and India

• Referenceable Global 1000 accounts – e.g. BASF, BMW, BP, Commerzbank, Clariant, EON, Exxon, Linde, Kimberly Clark, Shell, etc.

• Leading system integrators such as Accenture, Capgemini, IBM, and SAP rely

on smartShift

• smartShift value: Much Faster, Higher Quality, Reduced Risk & Lower Cost!

smartShiftgroup.com; [email protected]; Twitter (@smartShift_CTE)

Page 19: CD206.pdf

© 2012 SAP AG. All rights reserved. 19

Automated Code Remediation … Unique Value Proposition

Unique parser-based

analysis and meta-

model

Upgrade, Unicode

Pot. Runtime Errors

Stability

Maintenance

Performance

Security

Coding Standards

Architecture

Custom Rules

Rules Engine

for automated issue

detection and

correction

Tools-based automated

transformation of ABAP

code

. .

.

. .

. .

.

.

. .

. .

. .

.

.

.

. .

.

.

. .

. .

.

.

.

. . .

. .

. .

. .

. .

. .

.

. .

.

. .

. .

.

. .

. . .

.

. .

.

. .

.

.

. .

.

. .

. .

. .

.

. .

. .

.

. .

. . .

.

. .

.

. .

.

.

. .

. .

. .

. . .

.

.

. .

. .

. . .

. .

.

.

.

.

. .

. .

. .

.

.

.

. .

. .

. .

.

.

.

.

. .

. .

.

. .

. .

. .

. .

.

.

. .

.

. .

. . .

.

.

. .

.

. .

.

. .

.

. . .

.

. . .

. .

. .

.

. . .

.

.

. .

. .

.

. .

. .

.

.

. .

. .

. .

.

.

.

. .

.

.

. .

. .

.

.

.

. . .

. .

. .

. .

. .

. .

.

. .

.

. .

. .

.

. .

. . .

.

. .

.

. .

.

.

. .

.

. .

. .

. .

.

. .

. .

.

. .

. . .

.

. .

.

. .

.

.

. .

. .

. .

. . .

.

.

. .

. .

. . .

. .

.

.

.

.

. .

. .

. .

.

.

.

. .

. .

. .

.

.

.

.

. .

. .

.

. .

. .

. .

. .

.

.

. .

.

. .

. . .

.

.

. .

.

. .

.

. .

.

. . .

.

. . .

. .

. .

.

. . .

.

.

. .

. .

. .

. .

. .

.

. .

. . .

. .

.

. . . .

.

. . .

.

. .

. .

. .

. . .

. .

. .

. . .

. . .

. .

. . . .

. .

. . .

. .

. .

. .

. .

. . .

. .

. .

. . .

. . .

.

. .

. . . .

. .

. . .

. .

. .

. .

. .

. . .

. .

. .

.

.

. .

. . .

.

. .

. .

.

. .

. .

. . .

. .

. . . . . . . . . . . .

Page 20: CD206.pdf

© 2012 SAP AG. All rights reserved. 20

smartShift Focus on SAP

2006

2010

2012

2014

smartTools for SAP

Automated Upgrade, Unicode

Enablement; Code Optimization

smartDevelop

Automated Code Quality in

ABAP Workbench

smartDevelop for ADT

Automated Code Quality

in ADT

Page 21: CD206.pdf

© 2012 SAP AG. All rights reserved. 21

smartDevelop for SAP ADT – Highlights

smartIssue integration

in problems view

smartIssue integration

in ABAP editor

Quick-fix and

refactoring actions

Page 22: CD206.pdf

Demo smartDevelop for ABAP Development Tools

Targeted assistance via smartTool warnings

Quick-fix application

Page 23: CD206.pdf

© 2012 SAP AG. All rights reserved. 23

smartDevelop for SAP ADT – Benefits

smartDevelop plug-in for ADT contributes in

• Speed up of development

• Adherence to best coding practices

• Compliance to corporate coding and naming conventions

• Ensures performant and secure coding

smartDevelop contains rules that come in two flavors

• Warnings to the developer

• Hot fixes in code

Expansive rule sets

• Rule set is continuously extended

• Customizable to customer requirements

Page 24: CD206.pdf

What is the pilot project with

the SAP Mentors about?

Page 25: CD206.pdf

© 2012 SAP AG. All rights reserved. 25

SAPlink for ABAP Development Tools

SAPlink for ABAP Development Tools brings ease of use

to SAP Code Exchange developers

Functionality covered by the SAPlink plug-in:

Import development objects from Code Exchange to your ABAP

system

Export development objects from your ABAP system to Code

Exchange

Install SAPlink in your ABAP system

Implemented by SAP Mentor group

Ivan Femia, Uwe Fetzer, Abdulbasıt Gülşen, Jan Penninkhof,

Gregor Wolf

Visit the SAPlink project for further information

http://saplink.org/

Page 26: CD206.pdf

Which APIs are used by the

pilots?

Page 27: CD206.pdf

© 2012 SAP AG. All rights reserved. 27

Architecture of ABAP Development Tools for SAP NetWeaver

Page 28: CD206.pdf

© 2012 SAP AG. All rights reserved. 28

Architecture of ABAP Development Tools for SAP NetWeaver

Page 29: CD206.pdf

© 2012 SAP AG. All rights reserved. 29

APIs used by smartShift

Extend menus and actions (1)

Check a development object for errors (2)

Access Files (3)

Read source code

Create marker (4)

Add warnings

Open editor (5)

1

2 3 4

5

Page 30: CD206.pdf

© 2012 SAP AG. All rights reserved. 30

APIs used by SAPlink

Use Resource Framework

Build own resources (1), send backend requests (2)

Retrieving server capabilities (3)

API for ABAP programs (4)

Create, activate, execute program

Extend menus and actions (5)

Reuse dialogs (6)

Project and package selection

2

1

3 4

5 6

Page 31: CD206.pdf

How can you benefit from the

SDK?

Page 32: CD206.pdf

© 2012 SAP AG. All rights reserved. 32

ABAP Developers: Make your life easier

Example: Automate time-consuming steps of your development process

A view integrated in the IDE that

Shows information about your development processes

Shows information about your development landscape

Runs your helper programs in the backend to start processes

Example: Developer view of the ADT development team

Page 33: CD206.pdf

© 2012 SAP AG. All rights reserved. 33

Partners: Integrate your products in ABAP Development Tools

Integrate your tools by using

the SDK

Become part of SAP„s IDE

Increase developer

productivity

Address the market of SAP NetWeaver Application Server ABAP

50.000+ customers, Millions of ABAP developers

Page 34: CD206.pdf

What can you do, now?

Page 37: CD206.pdf

© 2012 SAP AG. All rights reserved. 37

Experiment

Take a look at the implementation of SAPlink for ABAP Development Tools

How do SAP Mentors extend the ABAP Development Tools?

Which APIs* do they use?

How do they implement own resources?

The source code will be published on http://saplink.org/

*) The current implementation is still based on not released APIs. All used APIs can be changed until

they are released

Page 38: CD206.pdf

What is SAP’s roadmap for the

SDK?

Page 39: CD206.pdf

© 2012 SAP AG. All rights reserved. 39

Roadmap for the SDK for ABAP Development Tools

Applying your feedback

Next SAP NetWeaver release:

Planned shipment of the SDK SAP TechEd 2012

Piloting the SDK

Extending the SDK

Explore documents and

experiment Build your plug-ins

Page 40: CD206.pdf

© 2012 SAP AG. All rights reserved. 40

Planned pricing for the SDK

No additional licenses are required

If you already own an appropriate license bundle for ABAP development on SAP NetWeaver

Additional options with costs

Certification of your plug-ins by SAP Integration and Certification Center

Contract to promote your tool in SAP Store

Page 41: CD206.pdf

© 2012 SAP AG. All rights reserved. 41

Summary

ABAP Development Tools

for Eclipse are available You can contribute

ABAP Development Tools for

Eclipse will be extensible

Page 42: CD206.pdf

© 2012 SAP AG. All rights reserved. 42

Further Information

SAP Public Web

http://scn.sap.com/community/abap/eclipse

http://scn.sap.com/docs/DOC-29607

http://www.youtube.com/watch?v=BXg7xXrEAUw

SAP Education and Certification Opportunities

www.sap.com/education

Watch SAP TechEd Online

www.sapteched.com/online

Page 43: CD206.pdf

Feedback Please complete your session evaluation for CD206

Thanks for attending this SAP TechEd session.

Michael Schneider SAP

[email protected]

Thomas Schulze zur Wiesch SAP

[email protected]

Niko Faradouris smartShift

[email protected]

Albrecht Gass smartShift

[email protected]

Contact information:

Page 44: CD206.pdf

© 2012 SAP AG. All rights reserved. 44

Appendix

1) ABAP Development Tools for SAP NetWeaver – screen shots

2) smartShift architecture

3) smartDevelop for ADT – tool details and screen shots

Page 45: CD206.pdf

© 2012 SAP AG. All rights reserved. 45

1.1 ABAP Development Tools for SAP NetWeaver

Page 46: CD206.pdf

© 2012 SAP AG. All rights reserved. 46

1.2 Multiple system connections in one IDE

Page 47: CD206.pdf

© 2012 SAP AG. All rights reserved. 47

1.3 Powerful search and navigation capabilities

Page 48: CD206.pdf

© 2012 SAP AG. All rights reserved. 48

1.4 Advanced source code editing & refactoring

Page 49: CD206.pdf

© 2012 SAP AG. All rights reserved. 49

2.1 smartTools for SAP – Standalone Architecture

Data Store

Parser

Transformer

Meta Model Resolver

Execution Environment

JCO

RFC

SAP AS ABAP

DDIC

Source

Repository

CTS

GUI Batch

Page 50: CD206.pdf

© 2012 SAP AG. All rights reserved. 50

2.2 smartTools for SAP – Standalone Architecture

Page 51: CD206.pdf

© 2012 SAP AG. All rights reserved. 51

2.3 smartDevelop for SAP – Integrated Architecture

Data Store

Parser

Transformer

Meta Model Resolver

Execution Environment

SAP AS ABAP JCO

RFC

JCO

RFC

smartDevelop

Front-end

ABAP

Workbench

DDIC

Source

Repository

CTS

Page 52: CD206.pdf

© 2012 SAP AG. All rights reserved. 52

2.4 smartDevelop for SAP – Integrated Architecture

Page 53: CD206.pdf

© 2012 SAP AG. All rights reserved. 53

2.5 smartDevelop for SAP ADT – Architecture with ADT Integration

Parser

Transformer

Meta Model Resolver

Execution Environment

JCO

RFC

JCO

RFC

SAP AS ABAP

DDIC

Source

Repository

CTS

ADT Backend

Services

ADT UI

ADT Frontend

Services

smartDevelop

UI Contributions

REST

HTTP via RFC

smartDevelop

Frontend Services

SAP ADT in

Eclipse Runtime

Page 54: CD206.pdf

© 2012 SAP AG. All rights reserved. 54

3.1 smartDevelop for SAP ADT – Implementation Steps

Introduce communication layer to use ADT provided services instead of direct RFC calls

• Exchangeable communication layer also enables use of core within “old” environment without

modifications

UI Contributions

• Menu buttons

• Markers in editor

Remove Dependencies to data store

Re-organize Plug-In structure of core plug-ins for reasonable deployment

Take care of “semantic” differences between direct RFC calls and communication via ADT

Page 55: CD206.pdf

© 2012 SAP AG. All rights reserved. 55

3.2 Example of a quick fix

Performance enhancement

• From the performance rule set of smartTools for ABAP

• According to SAP® - Accessing the table entries directly in a

"LOOP ... ASSIGNING ..."

accelerates the task of updating a set of lines of an internal table

considerably. Especially if inner tables must not be moved the

speed-up is high.

Rule application

• Scans code edited for „LOOP AT … INTO wa“ patterns

• Displays warning and offers a quick fix if possible

• User confirms hot fix application

• Code is edited accordingly

Page 56: CD206.pdf

© 2012 SAP AG. All rights reserved. 56

3.3 Example of a quick fix – before

Page 57: CD206.pdf

© 2012 SAP AG. All rights reserved. 57

3.4 Example of a quick fix – after

Page 58: CD206.pdf

© 2012 SAP AG. All rights reserved. 58

3.5 Targeted assistance via smartTool warnings

Developer receives feedback as

• Annotation with tool-tips or,

• Warnings in lower pane

All rules can be configured as warnings

Examples

• Naming standards (default: SAP recommendations)

• Dashes in names (legacy code)

Page 59: CD206.pdf

© 2012 SAP AG. All rights reserved. 59

3.6 Example smartTools Warnings

Page 60: CD206.pdf

© 2012 SAP AG. All rights reserved. 60

3.7 Example smartTools Warnings

Page 61: CD206.pdf

© 2012 SAP AG. All rights reserved. 61

3.8 Naming standards

Configurable to corporate coding guidelines

Tool identifies violations

Tooltip shows information about the fix

Page 62: CD206.pdf

© 2012 SAP AG. All rights reserved. 62

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express

permission of SAP AG. The information contained herein may be changed without prior notice.

Some software products marketed by SAP AG and its distributors contain proprietary software components of

other software vendors.

Microsoft, Windows, Excel, Outlook, PowerPoint, Silverlight, and Visual Studio are registered trademarks of

Microsoft Corporation.

IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System

z10, z10, z/VM, z/OS, OS/390, zEnterprise, PowerVM, Power Architecture, Power Systems, POWER7,

POWER6+, POWER6, POWER, PowerHA, pureScale, PowerPC, BladeCenter, System Storage, Storwize,

XIV, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, AIX, Intelligent Miner, WebSphere,

Tivoli, Informix, and Smarter Planet are trademarks or registered trademarks of IBM Corporation.

Linux is the registered trademark of Linus Torvalds in the United States and other countries.

Adobe, the Adobe logo, Acrobat, PostScript, and Reader are trademarks or registered trademarks of Adobe

Systems Incorporated in the United States and other countries.

Oracle and Java are registered trademarks of Oracle and its affiliates.

UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.

Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or

registered trademarks of Citrix Systems Inc.

HTML, XML, XHTML, and W3C are trademarks or registered trademarks of W3C®, World Wide Web

Consortium, Massachusetts Institute of Technology.

Apple, App Store, iBooks, iPad, iPhone, iPhoto, iPod, iTunes, Multi-Touch, Objective-C, Retina, Safari, Siri,

and Xcode are trademarks or registered trademarks of Apple Inc.

IOS is a registered trademark of Cisco Systems Inc.

RIM, BlackBerry, BBM, BlackBerry Curve, BlackBerry Bold, BlackBerry Pearl, BlackBerry Torch, BlackBerry

Storm, BlackBerry Storm2, BlackBerry PlayBook, and BlackBerry App World are trademarks or registered

trademarks of Research in Motion Limited.

© 2012 SAP AG. All rights reserved.

Google App Engine, Google Apps, Google Checkout, Google Data API, Google Maps, Google Mobile Ads,

Google Mobile Updater, Google Mobile, Google Store, Google Sync, Google Updater, Google Voice,

Google Mail, Gmail, YouTube, Dalvik and Android are trademarks or registered trademarks of Google Inc.

INTERMEC is a registered trademark of Intermec Technologies Corporation.

Wi-Fi is a registered trademark of Wi-Fi Alliance.

Bluetooth is a registered trademark of Bluetooth SIG Inc.

Motorola is a registered trademark of Motorola Trademark Holdings LLC.

Computop is a registered trademark of Computop Wirtschaftsinformatik GmbH.

SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP BusinessObjects Explorer, StreamWork,

SAP HANA, and other SAP products and services mentioned herein as well as their respective logos are

trademarks or registered trademarks of SAP AG in Germany and other countries.

Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web

Intelligence, Xcelsius, and other Business Objects products and services mentioned herein as well as their

respective logos are trademarks or registered trademarks of Business Objects Software Ltd. Business Objects

is an SAP company.

Sybase and Adaptive Server, iAnywhere, Sybase 365, SQL Anywhere, and other Sybase products and services

mentioned herein as well as their respective logos are trademarks or registered trademarks of Sybase Inc.

Sybase is an SAP company.

Crossgate, m@gic EDDY, B2B 360°, and B2B 360° Services are registered trademarks of Crossgate AG

in Germany and other countries. Crossgate is an SAP company.

All other product and service names mentioned are the trademarks of their respective companies. Data

contained in this document serves informational purposes only. National product specifications may vary.

The information in this document is proprietary to SAP. No part of this document may be reproduced, copied,

or transmitted in any form or for any purpose without the express prior written permission of SAP AG.