|
Platform Core
|
|
|
Software Life Cycle
|
|
|
Continuous Integration and Continuous Delivery
|
The Intershop Commerce Management and its Microservices are delivered with tools that can be used to build, assemble, upgrade, downgrade, deploy and un-deploy software components. These tools are designed to implement very flexible continuous delivery processes.
The source files of the software components (system components, respectively) are checked into a version control system like subversion or git. Each check-in process triggers an automatic process on a continuous integration server, like Jenkins, Hudson, Team City or Atlassian Bamboo, which checks out the system components, builds them, and runs different tests. The report of this process is delivered to the teams to provide feedback in case of problems. The built system components are published to an artifact repository. The subsequent assembly process combines a number of system components in a concrete version and publishes different assembly artifacts. The following steps in the delivery pipeline include automatic deployment to clusters with different purposes, execution of different tests like load tests, manual tests as well as pre-production tests. Finally, the new components are deployed to the production system.
|
|
Public Artifacts Repository
|
The Intershop software and updates are provided via a public artifacts repository server. This enables a seamless integration of Intershop software components into the project environments, using the continuous delivery approach.
|
|
Deployment Process
|
The deployment process is independent of the operating system. The available operating systems are specified in the system requirements document.
The deployment process expects a published assembly located in an artifact repository. There are two types:
· Single Node Deployment installs and configures all host types on one host.
· Cluster Deployment consists of several sub-processes installing and configuring particular nodes of an Intershop cluster.
|
|
Support of Custom Cartridges
|
The build management is based on the standard tool Gradle. The entire process can easily be extended into customer projects. Custom cartridges can be built, configured in assemblies and deployed in the same way as the Intershop Commerce Management standard system.
|
|
Process Scheduler
|
|
|
Process Schedules
|
Processes (pipelines) can be scheduled for one-time or recurring execution. The execution state of those processes can be monitored. Scheduled processes can also be executed ad-hoc.
|
|
Job Execution Chain
|
System administrators can define chains of jobs or pipelines to be executed concurrently or sequentially. This extends the scheduled job execution functionality.
|
|
Command Line Interface
|
Process schedules can be triggered from the command line.
|
|
Web Service Interface
|
Process schedules can be triggered from a Web Service Interface.
|
|
Transport Framework
|
The Transport Framework performs file transport to allow files to be imported or exported and copied from/to external locations via SFTP, FTP, HTTP(S) or e-mail. After creation of a transport configuration with protocol, login, password and path etc. it is possible to include such configuration into a job which can then be called periodically. This job can then be integrated into a Job Execution Chain to have a fully automated import from an external file location.
|
|
Cloud
|
|
|
Microsoft Azure
|
Intershop supports Microsoft Azure.To be able to run in Microsoft Azure, the messaging can be configured to JGroups to avoid multicast.
|
|
Amazon Web Service
|
Intershop supports Amazon Web Services. To be able to run in the Amazon Web Service (AWS), Intershop supports Amazon's messaging services Simple Notification Service (SNS) and Simple Queue Service (SQS). Those messaging services are used instead of multicast which is used across the whole Intershop application, e.g., for cache invalidation and job handling.
|
|
Frameworks
|
|
|
JDK 8
|
The intershop application servers use Java 8 as core technology. Java 8 delivers enhanced developer productivity and significant application performance increases through reduced boilerplate code, improved collections and annotations, simpler parallel programming models and more efficient use of modern, multi-core processors.
|
|
Business Object Framework
|
Java Objects - Business objects are implemented as Java objects.
Persistence - Business objects can be made persistent in a relational database by object-relational mapping (ORM). The connections to the relational database are pooled to ensure reuse and better performance.
Business Object Caching - For better performance, persistent business objects are cached in the application servers to avoid access to the relational database.
Cache Synchronization - To prevent the use of outdated data, the caches of the application servers of a cluster can be synchronized.
|
|
Search Framework
|
Object Model-based Search - The search framework allows search queries to be based on the business object model and not on the underlying data model of the relational database (which is the result of the object-relational mapping (ORM)), making those queries more intuitive. The business object model can be extended. This results in an automatic extension of the query encoder (see below).
Query Encoder - The query encoder translates search queries against the business object model into optimized SQL-queries against the relational database.
Search Result Paging - The search results can be paged. The number of items per page can be configured.
|
|
Configuration Framework
|
The system administrator decides where to read a configuration from. In the configuration.xml different scopes are defined, which are logically structured configuration groups (e.g., System, Startup, Instance, Cluster, Server, Domain) with dependencies. The current configuration values can be viewed in the server management console.
Configuration Import & Export - The configuration can be exported in the server management console via batch job "exportconfiguration".
|
|
Generic Framework for Configurable Objects
|
The framework for configurable objects allows an easy creation of preferences and properties. The preferences can be grouped together in property groups which are the atomic sets of properties required for a single feature. Default values and fallback strategies as well as validation constraints can be defined for properties. The property types are mapped to editor controls which are rendered automatically in the configurable object UI. Descriptions, captions and help texts are localizable for custom preferences.
|
|
Auditing Framework
|
Using the auditing framework, system administrators can track all changes to business objects, e.g., product price changes or changes of order states. A specific configuration file allows for defining which business object changes should be tracked.
|
|
Logging Framework
|
The integrated logging framework of the Intershop Commerce Management produces detailed log information and can integrate third-party APIs (Tomcat, Java AWT, etc.) into its logging framework.
|
|
Presentation Framework
|
Java Server Pages (JSP) - The presentation logic is realized with Java Server Pages (JSP).
Intershop Markup Language (ISML) - Intershop Markup Language (ISML) is a server-side scripting language to simplify the implementation of the presentation logic. ISML templates are translated to JSP code in a compilation step. ISML tags and JSP code can be mixed.
Content Management - The new content management allows changes in the storefront without consideration of deployment cycles.
|
|
Web Form Framework
|
The new Web Form Framework reduces implementation efforts in pipelines and templates. This framework provides e.g., multiple validation methods for input data with a suitable error handling.
|
|
Multiple Output Devices
|
Multiple sets of ISML templates can be used to support multiple output devices, such as browsers and PDAs, and multiple markup languages, such as HTML, XML, WML, and cHTML.
|
|
Service Registration/Service Discovery
|
|
|
Web Adapter/Application Server/Solr
|
For more resilient services Intershop uses service registration and discovery for Web Adapter, Application Servers and Solr. The default implementation of this is Eureka but could be changed to any other compatible service registration/service discovery.
|
|
Microservices
|
|
|
Stack
|
Intershops Microservices Stack consists of a JAX-RS Application sitting on top of an EclipseLink persistant layer.
|
|
Continuous Integration and Continuous Delivery
|
Via Intershops Gradle Tools it is possible to deploy Microservices delivered by Intershop. A blue print exists to enable deploying own Microservices.
|
|
Service Registration/Service Discovery
|
Microservices are integrated into SRD of Eureka.
|
|
User Interface
|
|
|
HTML Web Interface
|
All user interfaces - except setup and development tools - are HTML-based Web interfaces.
|
|
Customization
|
All HTML-based Web interfaces, in particular the customer-facing storefronts, can be customized.
|
|
Licensing & Accounting
|
|
|
License Auditing
|
Intershop is authorized to request license reports from Intershop Commerce Management customers. The License Report module can be used to generate a license report and to send it to Intershop, according to your purchasing contract and license agreement.
|
|
Audit Report
|
An audit report that summarizes the software usage can be generated. According to the End User License Agreement, this audit report must be passed to Intershop on request.
|
|
Transaction Report
|
A transaction report that summarizes the order volume and the number of orders of all customer and business channels within a specified time period can be generated. Intershop customers with a transaction-based pricing model must pass those transaction reports to Intershop as specified in the contract. Special terms and conditions apply.
|
|
Logging
|
|
|
Event Logging
|
System information is recorded in log files. The scope of recorded information can be configured. The following log scopes are available: FATAL, ERROR, WARN, SYSEVENT, DEBUG, JOB, PERFORMANCE, STAGING.
The entries for each log scope can be written into different log files. Log files are rolled over based on a configured size.
|
|
Request Logging
|
Requests received by Web Adapters are recorded in a log file. The log files contain detailed statistical information for each request, such as the response and the source of the request. The request logging is configurable during run-time.
|
|
Site Management
|
|
|
Site Preferences
|
Using the System Management module, the system administrator can control global settings for the sites served by the Intershop Commerce Management System. The following general preferences can be controlled: server group assignment, HTTPS traffic, URL rewriting and online status.
|
|
Cache Preferences
|
On the Page Cache tab, system administrators control the page cache behavior of the site. In addition to the global page cache activation, this includes the following settings:
· The time that static content is kept
· Keyword-based cache invalidation and deletion
· Cache index-based cache invalidation and deletion
· Complete cache invalidation and deletion
· Cache pre-fetching
|
|
Application Settings
|
An overview of installed applications with status and used cartridge structure
|
|
File System
|
|
|
File Browser
|
The system administrators have the possibility to browse through various shared directories from different servers of a cluster.
|
|
Monitoring
|
|
|
Cartridge
|
The status and configuration of cartridges can be monitored. Additionally, loaded pipelines and pipelets are displayed.
|
|
Database
|
Information about used drivers and the current connection pool status is provided.
|
|
Java Virtual Machine
|
Information about the usage of virtual machine resources, the amount of threads, and the configuration of virtual machines is provided.
|
|
Application Server
|
Information about the usage of resources and the configuration of a selected application server is provided.
|
|
Cluster
|
Information about the application servers and the Web Adapters in the cluster is provided.
|
|
Performance
|
Performance numbers about the runtime of pipelines, pipelets, and templates for the cluster and its components are provided.
|
|
Session
|
Information about new sessions is provided.
|
|
Progression Charts
|
The temporal progression of virtual machine memory usage, process memory usage, CPU usage, number of sessions, number of requests and average response time are presented as charts.
|
|
Appserver Health Monitoring
|
Java level thread dead locks, missing database and file system accessibility, as well as execution threads (request handler, job executor) for out of memory errors may lead to registered but not working application servers. Requests from customers to these application servers return an error page. The application server showing one of the problems mentioned above is now unregistered from the configuration service to prevent future requests to this server, and the errors will be written to the debug log.
Application servers are automatically restarted if they fail.
|
|
Installation Maintenance
|
Using the Installation Maintenance module of the Intershop System Management, the system administrator can collect vital information about the Intershop Commerce Management System and transfer it to Intershop Support.
|
|
Documentation
|
|
|
Documentation
|
Documentation for Intershop Commerce Management is delivered in English. German versions of User Guides/Online Helps are delivered on request to customers entitled to work with the German Language Pack.
|
|
User Guides
|
· Managing Online Shops
· Organization Management User Guide
· System Management Online Help
|
|
Online Help
|
· Managing Online Shops
· Organization Management User Guide
· System Management Online Help
· Cluster Management Online Help
|
|
Installation/Administration/Development
|
A large number of documents on installation, administration and development is available in the Customer Support Knowledge Base.
|
|
Synaptic Commerce API
|
|
|
RESTful API
|
|
|
Job Handling
|
Jobs and import processes can be created, started and monitored.
|