Document Properties
Kbid2K5915
Last Modified14-Feb-2017
Added to KB18-Aug-2014
Public AccessEveryone
StatusOnline
Doc TypeGuidelines, Concepts & Cookbooks
Product
  • ICM 7.6
  • ICM 7.7
  • ICM 7.8
  • ICM 7.9
  • ICM 7.10

Concept - API

1 Introduction

This concept is addressed to developers who want to make use of Intershop's APIs.

2 Definition of API Types

There are two main types of API:

  • Service API - to connect to external systems
  • Customization/Extension API - to make changes within the system

2.1 Service API

This type of API is used to connect external systems. This can be the integration of an external system, e.g., a payment service, or it can be the provisioning of services like the REST commerce API used to connect the Adobe Experience Manager.

The main sub types of service API are

  • Front end REST API for service provisioning
  • Back end (Managed) Service API for service integration

A reference of the existing web shop REST API can be found here:

The creation of new REST resources is described here: Overview - REST Web Service Framework.

Information about existing back end service interfaces can be found here:

The creation of new service interfaces for a (Managed) Service and implementation is described here: Concept - Managed Service Framework.

2.1.1 Additional Software Artifacts with Strong Compatibility Contracts

  • XML Import/Export schemas
  • Product data feed file formats

2.2 Customization/Extension API

This type of API can be used to extend and customize the functionality within the Intershop application server, like modification of existing features or adding of new features.

Internally Intershop 7 comprises 3 layers:

  • Application Layer
  • Business Layer
  • Platform Layer

Components in every layer can provide a certain set of Java API that can be used for customization and extension. All public API is contained in Java package named capi or in sub packages of it. All other Java types are internal and must not be used.

The application layer provides additional pipeline extension points and template extension points. They are also treated as public API.

Currently Intershop 7 supports the overloading mechanism for Intershop software artifact types. Overloading seems to be convenient in the first place, but causes major migration problems on the long run. Therefore, Intershop discourages the use of the overloading mechanism now. Use extension points instead or, if not applicable, complete application cartridges must be copied to replace the original ones. See also: Applications Framework.

2.3 API Rules

 Service API (to connect to External Systems)Customization/Extension API
 Service Consumer (integrate other services)Service Provider   
 (Managed) Service APIXML Import/ExportProduct Data FeedsREST APIPlatform APIBusiness APIApplication API
StabilityHIGHHIGHHIGHHIGHMEDIUMMEDIUMMEDIUM
API Life Cycle RulesAll code that uses or implements the API must still compile and work after minor upgradesAll files that could be imported before must be importable after a minor upgrade. All code that uses the API must still work after minor upgradesA patch must never break the API. Deprecated artifacts can be removed after 2 minor versions.A patch must never break the API. Deprecated artifacts can be removed after 2 minor versions.A patch must never break the API. Deprecated extension points can be removed after 2 minor versions
LayerBusinessBusinessBusinessApplicationPlatformBusinessApplication
Cartridge Typesbc_*bc_*bc_*app_*pf_*bc_*app_*
API ArtifactsService interfaces (Java interfaces) meant to be used by the managed service framework XML schemas used for import and exportProduct data feed file formats All REST resources in capi packages incl. HTTP verbs, response formats, etc. Java Types in capi packages
Java Extension Points
 Java Types in capi packages
Java Extension Points
 Java Extension Points
Pipeline Extension Points
 Template Extension Points
Application specific extension/customization mechanisms
DocumentationJavadoc
Confluence/ Knowledge Base for list of deleted artifacts.
Confluence/ Knowledge BaseConfluence/ Knowledge BaseConfluence/ Knowledge BaseJavadoc
Extension Point Doc
Confluence/ Knowledge Base for list of deleted artifacts
Intershop Studio
Javadoc
Business Object Extension Doc
Extension Point Doc
Confluence/ Knowledge Base for list of deleted artifacts
Intershop Studio
Javadoc
Extension Point Doc
Confluence/ Knowledge Base for list of deleted artifacts
Intershop Studio
Migration ToolsIntershop StudioETL  Intershop StudioIntershop StudioIntershop Studio

Note

Deprecated artifacts will be removed after 2 minor versions. Conditions: artifacts are marked with @deprecated <Description why it is getting removed or with what it got replaced.> and @since x.y.0.0.

At the beginning of a development cycle each development team has to ensure that no deprecated artifacts (x.y+1.0.0) are used any longer. All deprecated artifacts (x.y+2.0.0) will be removed.

Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Support Tickets