SAP's Integrated Development Environment for Java Karl Kessler, SAP AG
Agenda Comparison ABAP Workbench / Typical Java IDE Eclipse The SAP Framework The J2EE toolset 2002 SAP Labs, LLC, JAVA101, Karl Kessler 2
Comparison ABAP Workbench / Typical Java IDE ABAP Server oriented ABAP JAVA Design Time and Run Time Objects stored in same database SAP System determines scope Environment/Infrastructure Large Scale Application support + + - - JAVA Operates on Local File System Design Time and Run Time separated Development environment organized in local projects Local Editing Support for Standards Support for SAP Technology Offline Development - - + - + + - + Private Test Environment - + 2002 SAP Labs, LLC, JAVA101, Karl Kessler 3
Comparison: ABAP / Java: Some highlights ABAP One frame (SE80) for all Design Time Tools Highly convenient infrastructure environment seamlessly integrated into Development Workbench Build environment, Deployment, Software Logistics,... Proven environment for large-scale application development Strong support for SAP Technologies Structured logical, not physical, presentation of all SAP Design Time Objects Java Local Development Environment Editing support: Syntax Highlighting, Code Completion,... Offline development Private test environment (partially) Support for Standard Technologies J2SE, J2EE, HTML, XML,... 2002 SAP Labs, LLC, JAVA101, Karl Kessler 4
SAP Java IDE Goal: Combine the advantages of both approaches Provide one frame for all tools and as integration point for all infrastructure components Provide convenient integrated infrastructure environment to support large scale application development Preserve principle of local IDE Local editing support Offline development Optimal support for standard and SAP technologies Logically structured presentation of all Design Time Objects Graphical editing support 2002 SAP Labs, LLC, JAVA101, Karl Kessler 5
Overall Java Development Infrastructure Tool Integration Platform Software Logistics (SL) Java DDIC Graphics J2EE Web Dynpro Web Service Tool Service Layer DTR/CBS/SL Integration Component Build Service (CBS) Deploy Run Time J2EE Server Generic Model Abstraction Layer LocalFile System Design Time Repository (DTR) 2002 SAP Labs, LLC, JAVA101, Karl Kessler 6
Topics of this presentation Tool Integration Platform Software Logistics (SL) Java DDIC Graphics J2EE Web Dynpro Web Service Tool Service Layer DTR/CBS/SL Integration Component Build Service (CBS) Deploy Run Time J2EE Server Generic Model Abstraction Layer LocalFile System Design Time Repository (DTR) 2002 SAP Labs, LLC, JAVA101, Karl Kessler 7
Agenda Comparison ABAP Workbench / Typical Java IDE Eclipse The SAP Framework The J2EE toolset 2002 SAP Labs, LLC, JAVA101, Karl Kessler 8
Eclipse Tool Integration Platform Software Logistics (SL) Java DDIC Graphics J2EE Web Dynpro Web Service Tool Service Layer DTR/CBS/SL Integration Component Build Service (CBS) Deploy Run Time J2EE Server Generic ModelAbstraction Layer LocalFile System Design Time Repository (DTR) 2002 SAP Labs, LLC, JAVA101, Karl Kessler 9
Eclipse Open Source project "donated" by IBM Eclipse is itself written in Java Eclipse is only a framework: Everything is a plugin! Formally defined Extension Points and Plugin dependencies Very small kernel (Platform Runtime): The framework itself is implemented as a set of plugins Own UI approach (SWT / JFace) Workbench plugin as generic framework for any tool Complete Java (J2SE) IDE comes with Eclipse Set of plugins Open Source Eclipse is the basis of IBM s IDE WSAD Many vendors are providing Eclipse plugins: Strong Industry drive 2002 SAP Labs, LLC, JAVA101, Karl Kessler 10
Eclipse: Projects Multiple projects can be opened at the same time Project dependencies can be declared Workspace principle: a workspace defines the scope of accessible resources No workspace switch at run time 2002 SAP Labs, LLC, JAVA101, Karl Kessler 11
Eclipse: Perspectives and Views Perspective Is composed of all visual components (views) for one aspect of the development Examples Java perspective: Package view, Java editor, Outline pane for Java source/class files Debug perspective: Java editor, thread display, breakpoint list, etc. Quick and easy switch Perspectives are personalizable Add/remove views Compose new perspectives from existing views Perspectives allow focussing on a certain aspect of development 2002 SAP Labs, LLC, JAVA101, Karl Kessler 12
Java and Debug Perspective Java Perspective Debug Perspective 2002 SAP Labs, LLC, JAVA101, Karl Kessler 13
Eclipse: Java IDE Refactoring features Move/rename classes and methods Repackage Extract methods Surround with try/catch Pretty Printing Configurable Code completion (IntelliSense) Import management Configurable Search features References Definitions Read/write access Javadoc help as tooltip 2002 SAP Labs, LLC, JAVA101, Karl Kessler 14
Eclipse: Java IDE Incremental Build Ant based build support Support for building archives State-of-the-Art Debugger Local and remote debugging 2002 SAP Labs, LLC, JAVA101, Karl Kessler 15
Eclipse: PlugIn Development Runtime Workbench debug possibility PlugIn Development Environment (PDE) Lazy initialization of PlugIns Easy deployment Everything is a PlugIn PlugIn dependencies PlugIn versioning Extension Point technology Every PlugIn extends other PlugIns at predefined Extension Points Every PlugIn can provide Extension Points 2002 SAP Labs, LLC, JAVA101, Karl Kessler 16
Eclipse: Presenting the Workspace Direct presentation of files and folders structure (Resource Perspective) Special abstraction layer for Java Perspective: package -> class -> method / attr. Resource No generic abstraction layer Perspective Java Perspective 2002 SAP Labs, LLC, JAVA101, Karl Kessler 17
Agenda Comparison ABAP Workbench / Typical Java IDE Eclipse The SAP Framework The J2EE toolset 2002 SAP Labs, LLC, JAVA101, Karl Kessler 18
The SAP Framework Tool Integration Platform Software Logistics (SL) Java DDIC Graphics J2EE Web Dynpro Web Service Tool Service Layer DTR/CBS/SL Integration Component Build Service (CBS) Deploy Run Time J2EE Server Generic Model Abstraction Layer LocalFile System Design Time Repository (DTR) 2002 SAP Labs, LLC, JAVA101, Karl Kessler 19
The SAP Framework Technological Approach Use Eclipse as Java IDE (J2SE) Use Eclipse as Tool Integration Platform for all development related tools SAP Technology (WebDynpro, Java Dictionary,...) Standard Technologies not supported by Eclipse (J2EE, XML,...) Infrastructure (Repository, Build, Software Logistics,...) Drawbacks Lack of generic Model Abstraction Layer No generic support for presenting Design Time Objects in a logical (not physical) way No basis for generic graphics enabling Service Layer not sufficient SWT / JFace UI approach instead of Swing Little documentation APIs less well-known than swing 2002 SAP Labs, LLC, JAVA101, Karl Kessler 20
IDE overview Application Modeler View Designer Java Dictionary J2EE Tools J2SE Tools Model Model Abstraction Abstraction Layer Layer Service Service Layer Layer Eclipse Platform 2002 SAP Labs, LLC, JAVA101, Karl Kessler 21
Example: WebDynpro Application Modeler Eclipse Framework Model View based on Model Abstraction Layer Diagramming Diagramming based based on on Graphics Graphics Grahics Engine Grahics Engine based based on on Model Model Abstraction Abstraction Layer Layer 2002 SAP Labs, LLC, JAVA101, Karl Kessler 22
Service Layer Example: SAP UI layer Convenience layer on top of SWT / JFace 2002 SAP Labs, LLC, JAVA101, Karl Kessler 23
Service Layer Example: XML Editor Validation against DTD Schema based editing support: XMLInsight Pretty Printer Used in multiple multi-page editors (J2EE, Component Editor,...) 2002 SAP Labs, LLC, JAVA101, Karl Kessler 24
Agenda Comparison ABAP Workbench / Typical Java IDE Eclipse The SAP Framework The J2EE toolset 2002 SAP Labs, LLC, JAVA101, Karl Kessler 25
J2EE Toolset Tool Integration Platform Software Logistics (SL) Java DDIC Graphics J2EE Web Dynpro Web Service Tool Service Layer DTR/CBS/SL Integration Component Build Service (CBS) Deploy Run Time J2EE Server Generic ModelAbstraction Layer LocalFile System Design Time Repository (DTR) 2002 SAP Labs, LLC, JAVA101, Karl Kessler 26
J2EE Toolset J2EE 1.3 support Diagramming Direct support of SAP J2EE Engine 6.30 SAP J2EE Engine Integration Application Modeler View Designer Java J2EE Dictionary Tools Standard J2EE 1.3 Support J2SE Tools Model Abstraction Layer Service Layer Eclipse Platform 2002 SAP Labs, LLC, JAVA101, Karl Kessler 27
J2EE Toolset: Supported J2EE 1.3 features EJB EJB 2.0 Session, Entity, Message Driven EJB Assembly (EJBJar) Web Servlet JSP Filter Listener HTML Web Archive (WAR) SAP J2EE Engine Integration Standard J2EE 1.3 Support Enterprise Enterprise Application (EAR) 2002 SAP Labs, LLC, JAVA101, Karl Kessler 28
J2EE Toolset J2EE View and Perspective 2002 SAP Labs, LLC, JAVA101, Karl Kessler 29
J2EE Toolset Creation wizards for Projects: EJB, EJB Assembly, Web, Web Assembly, Enterprise Application Objects: EJB, Servlet, JSP, Filter, Listener, HTML 2002 SAP Labs, LLC, JAVA101, Karl Kessler 30
J2EE Toolset Multi-Page Editors for all deployment descriptors ejb-jar.xml, web.xml, application.xml Full XML editor functionality in Source View 2002 SAP Labs, LLC, JAVA101, Karl Kessler 31
J2EE Toolset: SAP J2EE Engine Integration LAN SAP J2EE Engine SAP J2EE Engine Integration SAP J2EE Engine Standard J2EE 1.3 Support Deployment Developer s PC SAP Java IDE Deployment Local testing and debugging SAP J2EE Engine 2002 SAP Labs, LLC, JAVA101, Karl Kessler 32
J2EE Toolset: SAP J2EE Engine Integration LAN SAP J2EE Engine SAP J2EE Engine EAR Deployment Launching of Visual Deployment Tool from J2EE Perspective Local storage and editing of Deployment Configurations Deployment Developer s PC SAP Java IDE Deployment Local testing and debugging SAP J2EE Engine 2002 SAP Labs, LLC, JAVA101, Karl Kessler 33
Deployment 2002 SAP Labs, LLC, JAVA101, Karl Kessler 34
J2EE Toolset: SAP J2EE Engine Integration LAN SAP J2EE Engine SAP J2EE Engine Deployment Developer s PC Local Test and Debug Environment Specify Server Settings in Preferences page Start / Stop local J2EE Engine from J2EE View Normal or debug mode Direct testing or debugging of servlets / JSPs on local server SAP Java IDE Local Testing and debugging SAP J2EE Engine 2002 SAP Labs, LLC, JAVA101, Karl Kessler 35
SAP J2EE engine integration 2002 SAP Labs, LLC, JAVA101, Karl Kessler 36
Questions? Q&A 2002 SAP Labs, LLC, JAVA101, Karl Kessler 37
Feedback Please complete your session evaluation and drop it in the box on your way out. Be courteous deposit your trash, and do not take the handouts for the following session. The SAP TechEd 02 New Orleans Team 2002 SAP Labs, LLC, JAVA101, Karl Kessler 38