Guide To SAP Development Tools - Archive

Transcription

COLUMNLifecycle Management MattersThis article appeared in the Jan Feb Mar 2015 issueof SAPinsider (www.SAPinsiderOnline.com) and appearshere with permission from the publisher, WIS Publishing.nnA Guide to SAP’s DevelopmentEnvironments for SAP HANAand the Cloudby Karl Kessler, SAP SESAP provides customers with an arsenal of devel-SAPUI5, which is SAP’s interpretation of theopment tools and functionalities for building andHTML5 standard.extending their business applications. Over time,The result is a set of guidelines that youthis portfolio of tools has grown to meet chang-can use to decide when to use which platforming needs and evolving technology trends. Whileoffering, and which tools are available to fulfillthis growth means that customers have a com-the requirements of your most pressing develop-prehensive set of development resources at theirment projects.disposal, it also means contending with a somenology environments. For instance, some toolsDesktop-Based Development withEclipseran in SAP GUI, such as the ABAP WorkbenchIn addition to ease of use, especially when getting(SE80), while others were based on Java Swing,started, a key criterion for SAP’s desktop-basedsuch as SAP Process Integration, while still othersdevelopment environment for SAP HANA andwere PC-based tools that connected to back-the cloud is flexibility — in particular, the abil-end systems with varying degrees of support fority to integrate tools from third-party providers,integration and interoperability.which was not well supported with previous plat-times overwhelming array of options and tech-Karl Kessler (karl.kessler@sap.com) joined SAP SE in1992. He is the Product Manager of the SAP NetWeaverfoundation — which includesSAP NetWeaver ApplicationServer, the ABAP Workbench, and the Eclipse-basedABAP development toolsfor SAP NetWeaver — andis responsible for all rolloutactivities.The need to integrate SAP’s portfolio of devel-forms, and the ability to selectively install indi-opment tools on a common platform was clear,vidual tools. The Eclipse-based SAP NetWeaverand with the role of on-demand and in-memoryDeveloper Studio, for instance, pioneered plug-instechnologies continuing to grow in businessfor Java development in SAP environments, butenvironments, a strategy for incorporating SAPoffered these plug-ins only in an all-in-one fashion.HANA and the cloud became a priority. To helpTo meet these requirements, SAP’s desktopyou understand what SAP’s unified strategytooling strategy for SAP HANA and cloud-basedfor SAP HANA and cloud-based developmentdevelopment is based on a standard Eclipse envi-means for your own development work, thisronment, where users install development toolsarticle walks through SAP’s current main tool-in their workspace via plug-ins. Unlike with SAPing environments for supporting SAP HANANetWeaver Developer Studio, however, users canand the cloud. (For more on the announce-now customize their Eclipse workspace by pick-ments at SAP TechEd in the fall of 2014 oning and choosing which plug-ins to install — bothSAP’s unified approach to development, see thethose from SAP and those available from exter-sidebar on page 68.) It first looks at the desktop-nal partner sites. They are also not limited to Javabased Eclipse environment, and then at twodevelopment. If you do not already have a localbrowser-based environments, one of which cen-installation of Eclipse (the minimum requiredters on SAP HANA native development, andversion is currently Kepler), the effort to set upanother that focuses on development usinga workspace is fairly minimal: Simply downloadSubscribe today. Visit SAPinsiderOnline.com.

the latest version of Eclipse (currently Luna)natively supported, along with traditional userfrom the Eclipse site and extract the correspond-interface technologies, such as Web Dynpro.ing archive to your desktop.If an artifact cannot be represented nativelyTo support this development environment,— for example, a Data Dictionary object — aSAP provides an update site (https://tools.hana.corresponding embedded SAP GUI session willondemand.com) from which customers candisplay the object, ready for editing using thedownload and install SAP’s various Eclipsecorresponding SE80 tool. New SAP HANA-plug-ins for SAP HANA and cloud developmentbased programming models, such as core dataaccording to their needs. Let’s take a closer lookservices (CDS), are supported only via theat the plug-ins provided at this site:Eclipse plug-ins — there is no editor availablefor CDS in SE80.2 ABAP: The ABAP development tools for SAP1NetWeaver (known as ABAP in Eclipse), shown BW: The modeling tools for SAP Businessin Figure 1, are designed to support modernWarehouse (SAP BW) powered by SAP HANAABAP programming, including features tocombine SAP BW metadata objects with SAPsupport SAP HANA development.1 ABAP inHANA views, such as analytical and calculationEclipse essentially takes the role of the ABAPviews, within a modern modeling environment.Workbench (SE80) for Eclipse-based develop-These modeling tools replace older, standalone,ment. Most ABAP artifacts — including ABAPSAP GUI-based tools by taking advantage ofprograms, classes, and function modules — arethe strengths of SAP’s traditional warehouseFor more on ABAP in Eclipse, see my SAPinsider articles“Turbocharge Your ABAP Development with Innovationfrom Eclipse” (October-December 2012); “End-to-EndDevelopment Scenarios from SAP: Bridging the OnDemand and On-Premise Divide with SAP Tools for Eclipse”(October-December 2013); and “Take Your SAP Solutionsto New Heights with the Latest Release of SAP NetWeaver7.4” (April-June 2014) at SAPinsiderOnline.com.solution with the direct computation featuresof a real-time, in-memory database within auser-friendly Eclipse-based user interface. Cloud: The SAP HANA Cloud Platform plugins provide the tools necessary for developersto perform local development and testing usingtechnologies such as OData services, SAPUI5,JavaScript, and SAP HANA Cloud PlatformA Unified Development Approachservices, and then publish and run applicationsAt SAP TechEd in Las Vegas and Berlin in the fall of 2014, SAP signaled its unified approach to SAP HANA and cloud-based development with a series ofannouncements about SAP HANA Cloud Platform. These announcements, madeby Steve Lucas and Björn Goerke, contained three basic principles:in the cloud using SAP HANA Cloud Platform. One truth: All data that represents the truth will be managed with SAP HANAas the common data platform. SAP HANA delivers an in-memory databasewith unprecedented execution speed, but it is much more than just a columnor row store — it is a data platform with domain-level functions, libraries,and advanced functions such as predictive analytics, calculation features, andgeospatial capabilities.SAP HANA Cloud Platform with back-endThese plug-ins include the SAP HANA CloudPlatform SDK, the Cloud Connector for integrating on-demand applications running inservices, and SAP’s Java virtual machine. SAP Gateway: The SAP Gateway plug-ins provide tools for designing and provisioning ODataservices to connect data sources to devices andenvironments. Modern user interface devel- One platform: The development platform for SAP HANA delivers a unifieddevelopment and execution environment across different technologies,whether they are deployed in a traditional fashion, on premise, or on demand.The development tools offer an enhanced developer experience, making it easyto build hybrid solutions that bridge on-premise and cloud scenarios. One user experience: Following the principles of SAP Fiori design — a simple,consistent, delightful user experience across any device — the developmenttools facilitate the fast development of highly interactive, consumer-levelapplications based on the HTML5 standard, powered by SAPUI5 technology,and easy consumption through SAP Gateway services. Development toolsmust dramatically reduce the total cost of development to deliver innovationwithout disruption in an ad hoc fashion.opment approaches follow an “outside-in”approach to building user interfaces, whereservices must be exposed for consumption bythe user interface logic running directly in thebrowser. This approach requires access to thebusiness logic in back-end SAP systems throughthe semantic modeling offered by the OData2For more on core data services (CDS), see my SAPinsiderarticles “Take Your SAP Solutions to New Heights withthe Latest Release of SAP NetWeaver 7.4” (April-June2014) and “Where ABAP Meets SAP HANA: Get the Bestof Both Worlds with the Newest Development Featuresfor SAP NetWeaver 7.4” (October-December 2014) atSAPinsiderOnline.com.Subscribe today. Visit SAPinsiderOnline.com.

protocol and abstractions, rather than a purelytechnical approach based on Remote FunctionCall (RFC) or web services technology. TheSAP Gateway tools allow developers to modelOData services and generate skeleton implementations that allow applications runningon SAP HANA Cloud Platform, for instance, toaccess data in a back-end SAP system. SAP HANA: The SAP HANA plug-ins providetools for desktop-based SAP HANA development, modeling, and monitoring, using yourown SAP HANA server. The SAP HANA studiois the Eclipse-based workspace for SAP HANAdevelopment. Many developers initially startwith the plug-in for SAP HANA studio and thenadd other plug-ins, such as ABAP in Eclipse, asneeded. The SAP HANA plug-ins enable developers to create database content and artifacts,such as tables, views, stored procedures, analytical views, and calculation views, some of whichare not available on any other supported database. Developers can also perform tasks such asexamining and monitoring database processesin detail, running analytical reports on the flywith sophisticated displays of information, andassigning roles where needed. SAP HANA Cloud Integration: The SAP HANACloud Integration plug-ins provide tools forenabling business process and data integrationacross on-premise and on-demand applications.Using SAP HANA Cloud Platform services,these tools provide functionality, includingpredefined content, for modeling data andprocess integration in scenarios that incorporate solutions running both on premise and inthe cloud — think of SAP ERP Human Capital Management running in conjunction withSuccessFactors Employee Central, for instance. SAPUI5: SAPUI5 is SAP’s adoption of theGateway protocol to retrieve and update back-FIGURE 1 Customers canend data, and is used for developing SAP Fioridownload and install the ABAPdevelopment tools for SAPNetWeaver as needed fromSAP’s update siteapplications — applications designed usingSAP’s simplified, personalized, and responsiveapproach to the user experience.When to Use Desktop-Based Developmentwith EclipseThe desktop-based Eclipse development toolsprovide professional developers with comprehensive functionality for building full-featuredapplications and increasing productivity. SAP’sEclipse-based plug-ins are simple for developersto use and learn, and due to the extension conceptof the Eclipse environment, SAP’s plug-ins canbe easily complemented by add-ons from thirdparties. The integration of the plug-ins makes iteasy for a developer to prototype applications inan ad hoc fashion. For example, an ABAP developer can use the SAP HANA studio with ABAP inEclipse for basic development tasks, and then addSAPUI5 and SAP Gateway to create an appeal-interactiveing SAP Fiori user experience. A Java developerbrowser-based applications that run both oncan follow a similar approach using Java plug-ins,desktop environments and modern mobilesuch as the Java EE development tools perspec-devices. The SAPUI5 tools allow developerstive, with the SAPUI5 and SAP Gateway tools,to create projects that support the model-and an SAP BW developer could combine theview-controller (MVC) model of user interfaceSAP BW tools with ABAP in Eclipse.HTML5standardforhighlyabstraction, and can be deployed on all majorUsing the Eclipse-based tools requires the localSAP runtime platforms, including the ABAPconfiguration of a full Eclipse development envi-stack, the Java stack, SAP HANA Cloudronment, which incorporates proxy settings forPlatform, and native SAP HANA. SAPUI5web access, back-end connectivity to ABAP-basedworks in close conjunction with the SAPsystems, and access to local and cloud runtimeSubscribe today. Visit SAPinsiderOnline.com.

environments, depending on the intended devel-without any local installation on the desktop.opment scenario. While this configuration requiresProvided as a part of SAP HANA extended appli-diligence, it is well suited if you have ongoing proj-cation services with support package stack (SPS)ects where you access your development landscape06 and higher for SAP HANA, the SAP HANAon a regular basis in a coding-oriented fashion.web-based development workbench enablesdevelopers to build and test native SAP HANAWeb-Based Developmentapplications using objects in the SAP HANAWhile desktop-based Eclipse development is therepository. You no longer need to install the SAPplatform of choice for the professional developer,HANA studio for basic SAP HANA-based devel-new usage scenarios such as cloud, mobile, andopment. You simply log into the workbenchbig data require immediate access to wizards,development environment using a web browser,templates, and artifacts without the need to setand use an intuitive user interface and conve-up an entire development environment. Withnient wizards to complete your developmentthe dramatic evolution of browser technologies,tasks. All that is required is a connection to yourwhich are now able to provide a sophisticated,SAP HANA server or SAP HANA Cloud Platform.consumer-level experience to users, modern tool-To demonstrate the ease of browser-baseding environments can take advantage of thesedevelopment, let’s look at an example. Figure 2browser capabilities to deliver a similarly high-shows a simple, straightforward SAP HANAend user experience for developers in a responsivenative application that uses SAP Fiori technol-development workspace, with instant, easy accessogy for the representation of its user interface.to tools and complex back-end environments.This example application enables SAP TechEdSAP currently offers two breeds of web-basedattendees to provide event feedback. As you candevelopment environments: the SAP HANAsee, the available events are listed on the left sideweb-based development workbench for nativeof the page, and the feedback for the selectedSAP HANA development, and the SAP Web IDEevent is on the right. An end user can easily addfor SAPUI5-based development of SAP Fioria new event or comment using the functions atapplications.the bottom of the page. When the end user setsan event rating, the average rating per event isWeb-Based Development for SAP HANAcalculated immediately and updated on the page.The SAP HANA web-based development work-Let’s take a look at the data model underly-bench is a fully web-based development envi-ing this example application. To access the SAPronment that runs completely inside a browserHANA web-based development workbench, youFIGURE 2 u An exampleapplication developed withthe SAP HANA web-baseddevelopment workbenchSubscribe today. Visit SAPinsiderOnline.com.

FIGURE 3 t The data modelfor the example applicationdisplayed in the editor toolof the workbenchFIGURE 4 t The OData servicefor the example applicationdisplayed in the editor toolof the workbenchsimply log on with a specified URL that points toto retrieve the available events and the commentsyour SAP HANA server or SAP HANA Cloud Plat-per event. Figure 4 shows the OData service fioriform. Figure 3 shows the data model model.hdbddlike comments.xsodata defined for the exampleof the project fiori like comments opened in theapplication displayed on a different tab in theworkbench’s editor tool, which allows developerseditor tool. As you can see, the SAP HANA web-to create, edit, execute, debug, and manage SAPbased development workbench uses a tabbedHANA artifacts. Using the editor tool, you candisplay to enable developers to easily navigateimmediately start examining and editing the codebetween the different editors that are currentlyas you would with any other tooling environment.open. Lastly, the user interface elements must beThe definition of the data model for the exampledefined with SAPUI5 artifacts. Each aspect of theapplication is based on core data services anduser interface — such as the overview section,consists of two entity types: event and comment.the detail view, and pop-ups to create events andAn association is defined between a commentfeedback — has files that contain the user inter-and its associated event, and the view eventStatusface layout and controller code.calculates the average rating obtained from thecomments provided for a given event.After creating the various artifacts requiredfor the application — the data model, OData ser-Since the example application has an SAP Fiorivices, and the user interface based on SAPUI5,user interface, OData services must be specifiedfor instance — you want to investigate theSubscribe today. Visit SAPinsiderOnline.com.

corresponding physical tables to create initialintended for the rapid development of SAP Fioricontent, examine the actual values, and so on. Toapplications built with SAPUI5-based interfacesview the tables, use the workbench’s catalog tool,for consuming back-end services, and includeswhich displays the application’s schema and run-many sophisticated templates and wizards thattime objects, including low-level database arti-accelerate the quick creation of prototypes.facts such as SAP HANA tables and procedures.The SAP Web IDE provides a customizable col-Figure 5 shows the table fiori like comments.laborative development environment where mul-data::model.comment of the example applicationtiple users can work together from a commonopen in the catalog tool, which you can use tointerface to prototype, develop, and deploydisplay all comments in tabular form. The catalogSAPUI5-based applications. It includes interac-also lets you fire queries against the SAP HANAtive code editors, templates, and integrated devel-database and analyze the retrieved records, sooper assistance to support users of varying skillthat you can run more complex calculations onlevels, including both SAP application developersthe direct table level and perform error analysis.and business experts and designers.Once the artifacts are developed and all theLet’s look at an example. Figure 6 shows anfiles shown in the project hierarchy are complete,example application with an SAPUI5-based inter-the corresponding underlying SAP HANA reposi-face built using SAP Fiori. With this application,tory is populated, and you can start to test yourusers can easily manage and monitor claimsapplication. The workbench provides full source-coming from customers in an insurance scenario.level debugging and versioning support. You canAs you can see, claims are listed on the left sidealso perform many administrative tasks — suchof the page, and the damage report details foras managing users, roles, and authorizationthe selected claim are on the right. The user canassignments — directly from the browser usingapprove or reject a claim using the functions atthe workbench’s catalog tool.the bottom of the page.Web-Based Development for SAPUI5IDE. Figure 7 shows the SAP Web IDE with theIn addition to the web-based SAP HANA nativecode editor open for Detail.view.xml, which is thedevelopment tools, SAP offers the SAP Web IDE.XML file that describes the user interface layoutAvailable with SAP HANA Cloud Platform, whichfor the damage report. On the left side, you seeis ideally suited to delivering web-based tools forthe project structure with all artifacts, such as theimmediate development access, the SAP WebJavaScript and XML files for the various aspectsIDE is an extensible development environmentof the user interface. In addition, you see foldersthat runs in the cloud and can be accessed viato access the underlying models and various utili-a Google Chrome-based browser. It is primarilyties and resources for internationalization, etc. AtNow let’s see what it looks like in the SAP WebFIGURE 5 q A table of the exam-ple application displayed in thecatalog tool of the workbenchthe top, you see menus for creating new projects or running andtesting the application.As you can see, the SAP WebIDE has a layout that is similarto the SAP HANA web-baseddevelopment workbench, withthe project outline on the leftand the tabbed editor area onthe right. The SAP Web IDE alsooffers a contextual pane on theright for access to open sourcerepositories such as Git, andcollaboration and help functions, such as API documentation. You can deploy a newapplication directly from theSubscribe today. Visit SAPinsiderOnline.com.

SAP Web IDE and run it instantly on SAP HANACloud Platform.When to Use Web-Based DevelopmentThere is no easier access to a complex back-endenvironment than a browser URL. SAP’s webbased development tools allow developers toquickly build applications and access complexback ends without the need to install and configure any development tools or environments. TheSAP HANA web-based development workbenchenvironment is self-comprised and allows developers to perform development tasks withoutusing tools such as the SAP HANA studio. SPS 09for SAP HANA brings in brand-new workbenchfeatures, such as code completion, advancedsyntax coloring, error detection, a function callgraph, and much more. The SAP Web IDE pro-FIGURE 6 p An example application developed with the SAP Web IDEvides wizards, templates, and feature-rich codeeditors that help speed application development,along with graphical layout editors for user interface design and adaptation.Both offerings demonstrate that a web-baseddevelopment environment is not limited when itcomes to developer productivity, and that it offersan integrated approach similar to a desktop environment. For heavy-lifting tasks such as fully featured,complex, layered application development, customers often continue to rely on the on-premise Eclipsebased approach, but for a simple extension to anSAP Fiori application, for instance, a web-basedapproach can provide all of the development functionality that is necessary, without the overhead of afull development environment installation. In addition, browser-based tools are a very natural choiceto explore cloud development environments.FIGURE 7 p The user interface layout for the example report open in the code editor of theSAP Web IDEConclusionwhile still supporting older artifacts with a fullySAP is investing heavily in its desktop-based andembedded SAP GUI.web-based development environments to meetThe web-based tools offer new ways to quicklythe needs of its customers’ big data and cloudprototype new applications in an ad hoc fashiondevelopment projects.without the need to configure your desktop envi-The desktop-based tools reside on the compre-ronment. While the SAP HANA web-based develop-hensive foundation of Eclipse. These tools offerment workbench is intended for SAP HANA nativea high degree of integration and easy access todevelopment, the SAP Web IDE offers a cloud-basedupdated tool plug-ins through SAP’s update site.development approach that typically starts withFor the professional developer, the desktop-basedSAPUI5-based development activities, which in turntools are an ideal choice for developing full-consume back-end services. Over time, these twofeatured applications and increasing productiv-approaches will converge more closely, as with theity, and going forward, these tools will replacecurrent Eclipse-based tools, to offer SAP customersprevious desktop-based tools in their entirety,a fully unified development experience. nSubscribe today. Visit SAPinsiderOnline.com.

browser-based environments, one of which cen-ters on SAP HANA native development, and another that focuses on development using A Guide to SAP's Development Environments for SAP HANA and the Cloud by Karl Kessler, SAP SE SAPUI5, which is SAP's interpretation of the HTML5 standard. The result is a set of guidelines that you