SAP NetWeaver Development Infrastructure

Last updated

The SAP NetWeaver Development Infrastructure ("NWDI") combines the characteristics and advantages of local development environments – as usually provided in a Java environment – with a server-based development landscape that centrally provides a consistent development environment to development teams and supports the software development through the entire lifecycle of a product.

Java (programming language) object-oriented programming language

Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of computer architecture. As of 2016, Java is one of the most popular programming languages in use, particularly for client-server web applications, with a reported 9 million developers. Java was originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its original features from SmallTalk, with a syntax similar to C and C++, but it has fewer low-level facilities than either of them.

Contents

The Developer Infrastructure mimics the functionality of ABAP Change and Transport System (CTS). The aim is to control deployment of components in the system landscape in a standardized manner. NWDI can be used to import Business Packages from SAP and enables development teams to modify standard applications. SAP NWDI is also known as SAP JDI (Java Development Infrastructure). The latter term is considered to be obsolete.

ABAP is a high-level programming language created by the German software company SAP SE. It is currently positioned, alongside Java, as the language for programming the SAP Application Server, which is part of the NetWeaver platform for building business applications.

Components

NWDI consists of

Sometimes people also count the following as part of NWDI

In computing, directory service or name service maps the names of network resources to their respective network addresses. It is a shared information infrastructure for locating, managing, administering and organizing everyday items and network resources, which can include volumes, folders, files, printers, users, groups, devices, telephone numbers and other objects. A directory service is a critical component of a network operating system. A directory server or name server is a server which provides such a service. Each resource on the network is considered an object by the directory server. Information about a particular resource is stored as a collection of attributes associated with that resource or object.

The SAP NetWeaver Developer Studio (NWDS) is an integrated development environment (IDE) for most of the Java part of SAP technology, mainly building business web applications, but also creating SAP Enterprise Portal projects and SAP Interactive Forms by Adobe. The official abbreviation Developer Studio is used seldom whereas NWDS is common, but unofficial.

The concept of the NWDI starts with a product and a software component (SC). The normal case is to have a one-to-one relationship between product and software component, one product is being developed and the relations between the components comprising the product are kept within a software component.

A software component comprises one or more development components (DC). A development component consists of a normal project created with the Netweaver Developer Studio, i.e. a [Web Dynpro] application. The software component can also have dependencies to other SCs.

All relations are defined in a SLD.

Since all DCs that makes a product is kept inside a software component, the relations between the DCs are intact and versions of the different DCs are always consistent in the SC.

To be able to develop a DC inside a SC, a track has to be set up in the NWDI to support that development.

Design Time Repository (DTR)

The DTR resembles a filesystem and can be accessed via WebDAV. File and folder permissions can be configured for users or groups. Each file is version controlled and it's possible to branch or merge files. The main repository folder (ws) contains folders representing tracks in the NWDI. The files checked into the NWDI are files with no local dependencies. For example, the classpath file in a project refers to local jar files and are of no use for the Component Build Service when the project is built on the server..

Web Distributed Authoring and Versioning (WebDAV) is an extension of the Hypertext Transfer Protocol (HTTP) that allows clients to perform remote Web content authoring operations. WebDAV is defined in RFC 4918 by a working group of the Internet Engineering Task Force.

Component Build Service (CBS)

When a file is changed in the Netweaver Developer Studio, an activity is created together with a request. When the changes are done, the request is checked into the DTR, the activity is then activated, which triggers the CBS to build the DC on the NWDI. Usually an ear or war file is created. When the activity is released from the Netweaver Developer Studio, the ear or war file is deployed to a development system via the CMS.

When the CBS finds dependencies between DCs inside the Track, all dependent DCs are rebuilt automatically.

It is possible to use the CBS to rebuild a DC or even a full SC.

Change Management Service (CMS)

Change Management Service is used to maintain tracks and keep track of what version is deployed on different servers in the landscape. CMS can also transfer code between tracks. This is often used when creating tracks supporting development of general components, development of main components and finally maintaining deployment of full solutions.

Transferring code between tracks in order to achieve merge and joins between deployed production versions.

The CMS consists of layers on each track.

Each layer have a history and the possibility to go back to an earlier state.

Related Research Articles

A computing platform or digital platform is the environment in which a piece of software is executed. It may be the hardware or the operating system (OS), even a web browser and associated application programming interfaces, or other underlying software, as long as the program code is executed with it. Computing platforms have different abstraction levels, including a computer architecture, an OS, or runtime libraries. A computing platform is the stage on which computer programs can run.

Rational ClearCase is a family of computer software tools that supports software configuration management (SCM) of source code and other software development assets. It also supports design-data management of electronic design artifacts, thus enabling hardware and software co-development. ClearCase includes revision control and forms the basis for configuration management at large and medium-sized businesses, accommodating projects with hundreds or thousands of developers. It is developed by IBM.

Windows Installer

Windows Installer is a software component and application programming interface (API) of Microsoft Windows used for the installation, maintenance, and removal of software. The installation information, and optionally the files themselves, are packaged in installation packages, loosely relational databases structured as COM Structured Storages and commonly known as "MSI files", from their default filename extensions. Windows Installer contains significant changes from its predecessor, Setup API. New features include a GUI framework and automatic generation of the uninstallation sequence. Windows Installer is positioned as an alternative to stand-alone executable installer frameworks such as older versions of InstallShield and NSIS.

Crystal Reports software

Crystal Reports is a business intelligence application, currently marketed to small businesses by SAP SE.

Software deployment is all of the activities that make a software system available for use.

Release engineering, frequently abbreviated as RE or as the clipped compound Releng, is a sub-discipline in software engineering concerned with the compilation, assembly, and delivery of source code into finished products or other software components. Associated with the software release life cycle, it was said by Boris Debic of Google Inc. that release engineering is to software engineering as manufacturing is to an industrial process:

Release engineering is the difference between manufacturing software in small teams or startups and manufacturing software in an industrial way that is repeatable, gives predictable results, and scales well. These industrial style practices not only contribute to the growth of a company but also are key factors in enabling growth.

SAP NetWeaver Process Integration is SAP's enterprise application integration (EAI) software, a component of the NetWeaver product group used to facilitate the exchange of information among a company's internal software and systems and those of external parties. Before the current version, SAP PI was called SAP Exchange Infrastructure . Like other NetWeaver components, SAP PI is compatible with software products of other companies.

xApp, is a collective term applied to software products built following the SAP xApps convention and running on a SAP NetWeaver application server. Including a range of software products from SAP AG, solutions by SAP partners and customer made composite applications. xApps are commonly targeted at specific industries or are geared towards vertical applications common across a range of industries. xApps typically have a smaller footprint than some of the company's other business applications such as MySAP. xApp is the general term for applications based on the SAP ESOA, i.e. applications using SAP enterprise SOA services.

SAP NetWeaver Application Server or SAP Web Application Server is a component of SAP NetWeaver which works as a web application server for SAP products. All ABAP application servers including the message server represent the application layer of the multitier architecture of an ABAP-based SAP system. These application servers execute ABAP applications and communicate with the presentation components, the database, and also with each other, using the message server.

SAP NetWeaver Master Data Management is a component of SAP's NetWeaver product group and is used as a platform to consolidate, cleanse and synchronise a single version of the truth for master data within a heterogeneous application landscape. It has the ability to distribute internally and externally to SAP and non-SAP applications. SAP MDM is a key enabler of SAP Service-Oriented Architecture. Standard system architecture would consist of a single central MDM server connected to client systems through SAP Exchange Infrastructure using XML documents, although connectivity without SAP XI can also be achieved. There are five standard implementation scenarios:

  1. Content Consolidation - centralised cleansing, de-duplication and consolidation, enabling key mapping and consolidated group reporting in SAP BI. No re-distribution of cleansed data.
  2. Master Data Harmonisation - as for Content Consolidation, plus re-distribution of cleansed, consolidated master data.
  3. Central Master data management - as for Master Data Harmonisation, but all master data is maintained in the central MDM system. No maintenance of master data occurs in the connected client systems.
  4. Rich Product Content Management - Catalogue management and publishing. Uses elements of Content Consolidation to centrally store rich content together with standard content in order to produce product catalogues. Has standard adapters to export content to Desktop Publishing packages.
  5. Global Data Synchronization - provides consistent trade item information exchange with retailers through data hubs

Configuration Management Version Control (CMVC) is a software package that serves as an object repository, and performs software version control, configuration management, and change management functions.

Microsoft Application Virtualization is an application virtualization and application streaming solution from Microsoft. It was originally developed by Softricity, a company based in Boston, Massachusetts, acquired by Microsoft on July 17, 2006. App-V represents Microsoft's entry to the application virtualization market, alongside their other virtualization technologies such as Hyper-V, Microsoft User Environment Virtualization (UE-V), Remote Desktop Services, and System Center Virtual Machine Manager.

Plumi

Plumi is a free software video sharing content management system based on Plone and primarily developed by the Indo-Pacific based EngageMedia, the Greece based Unweb.me consultancy, and others. Plumi allows users to create a video sharing site by adding it to an existing Plone instance. The software includes a wide array of functionality to facilitate video distribution and community creation.

Turbo is a set of software products and services developed by the Code Systems Corporation for application virtualization, portable application creation, and digital distribution. Code Systems Corporation is an American corporation headquartered in Seattle, Washington, and is best known for its Turbo products that include Browser Sandbox, Turbo Studio, TurboServer, and Turbo.

Umbraco is an open-source content management system (CMS) platform for publishing content on the World Wide Web and intranets. It is written in C# and deployed on Microsoft based infrastructure. Since version 4.5, the whole system has been available under an MIT License.

SAP HANA in-memory, column-oriented, relational database management system

SAP HANA is an in-memory, column-oriented, relational database management system developed and marketed by SAP SE. Its primary function as a database server is to store and retrieve data as requested by the applications. In addition, it performs advanced analytics and includes extract, transform, load (ETL) capabilities as well as an application server.

Perforce, sometimes referred to as Perforce Software, is a Minneapolis, Minnesota-based developer of software used for application development, including version control software, web-based repository management, developer collaboration, application lifecycle management and Agile planning software. The software is sold under the Helix and Hansoft brand names.

Infrastructure as code (IaC) is the process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools. The IT infrastructure managed by this comprises both physical equipment such as bare-metal servers as well as virtual machines and associated configuration resources. The definitions may be in a version control system. It can use either scripts or declarative definitions, rather than manual processes, but the term is more often used to promote declarative approaches.