SAP NetWeaver
Developer Studio
(SAP Java IDE)
Development
Infrastructure for Java
Karl Kessler, SAP AG
Agenda
NetWeaver Developer Studio is
based on Eclipse
Component Model for Java
Services for SAP’s Java
Development Infrastructure
Designtime Repository
Component Build Service
2002 SAP Labs, LLC, Session ID, Speaker Name 2
Java development infrastructure
Mission Statement
Provide an integrated
and robust
development
infrastructure
for Java projects
at customer
and partner sites
as well as for SAP’s own development
Provide a highly productive Java development
environment that
Covers the complete life cycle of Java projects
Reduces costs in professional Java projects
Speeds up the Java development process
Increases the overall quality of Java based products
2002 SAP Labs, LLC, Session ID, Speaker Name 3
Complete Set of Development Tools for all aspects
of Java Business Applications
SAP delivers an integrated development environment for all aspects of J2EE
development
User Interface
Developing flexible web user interfaces Presentation Layer
with Web Dynpro Tools Web Dynpro
E-business logic
Business Layer
Development and deployment of
enterprise Java beans (EJB) J2EE/Web Services
Definition and publication of web services
EJB / CMP Object Services
Java persistence
Container managed persistence (CMP) Common SQLJ*
Open SQL
JDBC
Embedded SQL in Java (SQLJ)
Java data objects (JDO) Database Layer
Creating central data types and
database objects (Java dictionary)
Design time support for HTML, XML and XSLT (Validation, Code completion)
2002 SAP Labs, LLC, Session ID, Speaker Name 4
NetWeaver Developer Studio is based on Eclipse
Eclipse
Eclipse is an open source framework for Integrated Development
Environments ([Link])
Eclipse has its roots in work done by IBM
Eclipse is an open consortium of J2EE and development environment players
SAP has joined the Eclipse consortium
NetWeaver Developer Studio is built on top of Eclipse
Complete set of tools with Eclipse user interface look and feel
Allow customers and partners to extend the tooling environment through the
plug-in architecture of Eclipse
Offer an individual and personalized access to the various development tools
through Eclipse perspectives (customized tool sets)
Seamless integration of all development tools into SAP‘s development
infrastructure (designtime repository, change management, software
logistics)
2002 SAP Labs, LLC, Session ID, Speaker Name 5
Eclipse: Platform for NetWeaver Developer Studio
NetWeaver Developer
Studio Design Time
Repository
J2EE Java
Web
J2SE and Dictionary
Dynpro
Tools Web
Tools Service Persistence
Tools Tools
WebDAV
Plug-In Registry
Eclipse Platform
2002 SAP Labs, LLC, Session ID, Speaker Name 6
NetWeaver Developer Studio: software layers
Java Web UML Modeler
J2EE
Dictionary Dynpro Metrics
Perspective J2SE
Perspective Perspective Documentation
Tools
Model Layer
(Graphical Framework)
Eclipse Platform
2002 SAP Labs, LLC, Session ID, Speaker Name 7
Web Dynpro Tools: Application Modeler
Eclipse
Platform
Web
Dynpro Model
Model
Tool Layer
Layer
(Application
Modeler)
2002 SAP Labs, LLC, Session ID, Speaker Name 8
NetWeaver Developer Studio: Together Edition
2002 SAP Labs, LLC, Session ID, Speaker Name 9
SAP‘s Java Development Infrastructure: Design
principles
Most J2EE environments in the market offer a rather limited
development infrastructure
A significant amount of manual work is necessary to setup a
consistent Java development environment on a developer’s
machine for each project
Idea: Combine a local and file
based designtime architecture
with the advantages of an
integrated server-based
environment such as ABAP
2002 SAP Labs, LLC, Session ID, Speaker Name 10
Cornerstones of SAP‘s Java Development
Infrastructure
Component Model for Java Development
Software architecture through software and development components
Component hierarchy
Management of component dependencies
Design Time Repository
Files and folder based repository
Distibuted source code control
Flexible development landscapes
Component Build Service
Automatic & immediate build of changed and dependent components
Provide consistent environment, automated update of local environment
Change Management Service
Automatic deployment to the J2EE runtime environment
Propagation of changes between different repositories
Maintenance of (both SAP and customer) Java solutions
2002 SAP Labs, LLC, Session ID, Speaker Name 11
SAP Java Development Process
NetWeaver Design Time Component Central
Developer Repository Build Service J2EE Server
Studio
Create
Development
Component Archive
Pool
Develop, Build
and Test locally Java
Sources
Check-in
Changes
Component
Build
Activate Deploy
OK?
archives
2002 SAP Labs, LLC, Session ID, Speaker Name 12
Component Model
Benefits of componentized Java development
Mastering complexity in distributed and networked Java
development projects
Managing software components and their dependencies explicitly
Basis for a Java software delivery and maintenance
Software components
Are the building blocks for SAP’s products
Are units that are installed and maintained at the customer’s site
Have their own release cycle and maintenance intervals
Compatibility between different software components is maintained
in configurations
Development components
Are containers for development objects (e.g. Java packages)
Make up software components
Dependencies (“DC1 requires DC2”) can be defined between
development components
2002 SAP Labs, LLC, Session ID, Speaker Name 13
Basic properties of development components
Java packages
Useful in the small, not sufficient in the large
Do not allow to restrict the use of public interfaces
Development Components
Support decoupling, separate delivery
Allow to restrict visiblity, allow to analyze dependency
Components as container Nested components, Component hierarchy
Java
Java
Package
Package
Web Dynpro
Web Dynpro
Package
Package
2002 SAP Labs, LLC, Session ID, Speaker Name 14
Component Model: Dependencies and Public Parts
Visible development
objects inside
development
components
are exposed
by public parts
(define a stable interface
to the component)
Dependency declarations
between development
components
need to be maintained Dependency Public Part
explicitly (controlled access)Declaration
Dependencies to inner
components are not
allowed (black box view)
2002 SAP Labs, LLC, Session ID, Speaker Name 15
Software components and configurations
Software Components
Configuration 1.0 Configuration 2.0
Custom Web
Application
Web Dynpro
Runtime
SAP J2EE
JDK
2002 SAP Labs, LLC, Session ID, Speaker Name 16
Local Integrated Development Environment
Repository Client (Local IDE) Configurations
Configuration 3.1
Web
Configuration Web App Application 1.0
1.0
sources 1.0
Web Dynpro
Web Dynpro Runtime 1.0
Archives 1.0
SAP J2EE 6.30
SAP J2EE
Archives 6.30
JDK 1.3
JDK 1.3
Archive Pools
Designtime Repository SAP J2EE
Web Dynpro Archives
Web App Archives
sources JDKs
JDK
2002 SAP Labs, LLC, Session ID, Speaker Name 17
Screenshot Development Configurations
2002 SAP Labs, LLC, Session ID, Speaker Name 18
Designtime Repository
2002 SAP Labs, LLC, Session ID, Speaker Name 19
Java Dictionary
2002 SAP Labs, LLC, Session ID, Speaker Name 20
Backup
Designtime Repository: Features
Repository access through DeltaV/WebDAV protocol
Usable in any file-based IDE, language independent
Repository client tool for sync/checkout/checkin
Propagation of changes, delivery
Reduction of multiple maintenance
Delivery of design time objects to customers
Enhancement of design time objects by customers
Basic concepts
Files and Folders
Separate version history for each file
Management of multiple workspaces for different releases (base
lines)
2002 SAP Labs, LLC, Session ID, Speaker Name 22
Designtime Repository Architecure
J2EE based architecture
WebDAV + DeltaV as access protocol
Eclipse based repository client
Integrated into the IDE
A standalone repository client will be available as well
(integration for tools outside Eclipse)
DTR Server B
DTR Server A
Repository
Client WebDAV
J2EE Server DTR DB
2002 SAP Labs, LLC, Session ID, Speaker Name 23
Component Build Service
Based on component model
Produces runtime objects ready for deployment
Immediate build of changed components
Rebuild of dependent components
Features of the Component Build Service
Component based build
Runs in SAP J2EE engine
Cluster enabled
Build logic
Read access to design time repository
Request/Task management
Concurrency control
Launches Java compiler
Stores archives in archive pool
2002 SAP Labs, LLC, Session ID, Speaker Name 24
Build Service Architecture Overview
SAP J2EE Engine
Component Build Service
Web UI for Build Logic Web UI for
HTTP/HTML Developer Request/Task Administrator HTTP/HTML
Management
Dependency
Calculations
Concurrency
API for Control API for
HTTP/SOAP Developer Repository Admin/Config HTTP/SOAP
Access
DTR
Java
Sources Component
Archive Pool
2002 SAP Labs, LLC, Session ID, Speaker Name 25
Change Management Service
Flexible Software Logistics mechanisms for custom development
projects
Controlled flow of changes in development landscape
(consolidation)
System landscape with development, quality assurance and
consolidation
Flexible landscape with multiple repositories
Controlled repairs
Avoid multiple maintenance
Maintenance, enhancement and modification of SAP’s Java
solutions
Software maintenance at the customer’s site
Fine-grained delivery of Java software
Controlled enhancements and modifications
2002 SAP Labs, LLC, Session ID, Speaker Name 26
Change Management for JAVA
SAP Service
Marketplace
Support SAP J2EE Engine
Package
Production
Change Management Software SAP J2EE
Service Archives DevelopmentEngine
Patches SAP J2EE
Software
Distribution Routes
Engine
Delivery Manager
Scheduling & Propagation
Distribution Tracking Software
Delivery Manager
Import Control
Integrated Version Control
Development
Environment
Build
Change DTR
Requests
Service
2002 SAP Labs, LLC, Session ID, Speaker Name 27
The SAP Java IDE and Eclipse
SAP Java IDE requirements
One frame for all development
related tools
Support for standard Technologies
J2SE, J2EE, XML, ...
Support for SAP Technologies
WebDynpro, Dictionary, ...
This requires a Plugin Framework for
the seamless integration of these tools Java J2EE XML
SAP‘s solution: Java Web
Dictionary SQLJ Dynpro
SAP Java IDE based on Eclipse
SAP Integration Framework
Eclipse Plugin Framework
2002 SAP Labs, LLC, Session ID, Speaker Name 28
Copyright 2002 SAP AG. All Rights Reserved
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®, NT®, EXCEL®, Word®, PowerPoint® and SQL Server® are registered trademarks of
Microsoft Corporation.
IBM®, DB2®, DB2 Universal Database, OS/2®, Parallel Sysplex®, MVS/ESA, AIX®, S/390®, AS/400®, OS/390®,
OS/400®, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere®, Netfinity®, Tivoli®,
Informix and Informix® Dynamic ServerTM are trademarks of IBM Corporation in USA and/or other countries.
ORACLE® is a registered trademark of ORACLE Corporation.
UNIX®, X/Open®, OSF/1®, and Motif® are registered trademarks of the Open Group.
Citrix®, the Citrix logo, ICA®, Program Neighborhood®, MetaFrame®, WinFrame®, VideoFrame®, MultiWin® and
other Citrix product names referenced herein are trademarks of Citrix Systems, Inc.
HTML, DHTML, XML, XHTML are trademarks or registered trademarks of W3C®, World Wide Web Consortium,
Massachusetts Institute of Technology.
JAVA® is a registered trademark of Sun Microsystems, Inc.
JAVASCRIPT® is a registered trademark of Sun Microsystems, Inc., used under license for technology invented
and implemented by Netscape.
MarketSet and Enterprise Buyer are jointly owned trademarks of SAP AG and Commerce One.
SAP, SAP Logo, R/2, R/3, mySAP, [Link] 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 in several other
countries all over the world. All other product and service names mentioned are trademarks of their respective
companies.
2002 SAP Labs, LLC, Session ID, Speaker Name 29
Copyright 2002 SAP AG. Alle Rechte vorbehalten
Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher
Form auch immer, ohne die ausdrückliche schriftliche Genehmigung durch SAP AG nicht gestattet. In dieser
Publikation enthaltene Informationen können ohne vorherige Ankündigung geändert werden.
Die von SAP AG oder deren Vertriebsfirmen angebotenen Softwareprodukte können Softwarekomponenten auch
anderer Softwarehersteller enthalten.
Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® und SQL Server® sind eingetragene Marken der
Microsoft Corporation.
IBM®, DB2®, DB2 Universal Database, OS/2®, Parallel Sysplex®, MVS/ESA, AIX®, S/390®, AS/400®, OS/390®,
OS/400®, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere®, Netfinity®, Tivoli®, Informix
und Informix® Dynamic ServerTM sind Marken der IBM Corporation in den USA und/oder anderen Ländern.
ORACLE® ist eine eingetragene Marke der ORACLE Corporation.
UNIX®, X/Open®, OSF/1® und Motif® sind eingetragene Marken der Open Group.
Citrix®, das Citrix-Logo, ICA®, Program Neighborhood®, MetaFrame®, WinFrame®, VideoFrame®, MultiWin® und
andere hier erwähnte Namen von Citrix-Produkten sind Marken von Citrix Systems, Inc.
HTML, DHTML, XML, XHTML sind Marken oder eingetragene Marken des W3C®, World Wide Web Consortium,
Massachusetts Institute of Technology.
JAVA® ist eine eingetragene Marke der Sun Microsystems, Inc.
JAVASCRIPT® ist eine eingetragene Marke der Sun Microsystems, Inc., verwendet unter der Lizenz der von
Netscape entwickelten und implementierten Technologie.
MarketSet und Enterprise Buyer sind gemeinsame Marken von SAP AG und Commerce One.
SAP, SAP Logo, R/2, R/3, mySAP, [Link] und weitere im Text erwähnte SAP-Produkte und -Dienst-leistungen
sowie die entsprechenden Logos sind Marken oder eingetragene Marken der SAP AG in Deutschland und anderen
Ländern weltweit. Alle anderen Namen von Produkten und Dienstleistungen sind Marken der jeweiligen Firmen.
2002 SAP Labs, LLC, Session ID, Speaker Name 30
Corporate Colors for PPT
SAP Blue SAP Gold SAP Gray
You can use this colors with gradations
2002 SAP Labs, LLC, Session ID, Speaker Name 31