You are on page 1of 7

6/3/2013

hybris Developer Training Part II - Commerce

Review of
Developer Training Part 1

6/3/2013

Architecture Review hybris Multichannel Suite

Review

Architecture Review - hybris ServiceLayer

Review

Cockpits

hmc

Web
Services

Web Shop

Other

hybris ServiceLayer

Business Services
(Classification, CMS, Price Calculation, ...)
Infrastructure Services
(Cache, Security, Transaction, Session, ...)

Models

hybris ServiceLayer Framework

hybris Persistence

Items

Database

6/3/2013

Extensions Review

Review

hybris modules include extensions


Configure the Multichannel Suite by enabling and
disabling extensions
Extension templates may be used as blueprints
Contribute to hybris extensions from custom extensions

Spring contexts

GlobalContext

Tenant
Tenant Context
Context
master
master

WebContext
/shop_master

Tenant
Tenant Context
Context
junit
junit

WebContext
/back_master

Tenant
Context
foo

WebContext
/shop_foo

WebContext
/back_foo

6/3/2013

Spring configuration of extensions

Extension Concept

Extension B

serviceB
serviceA

Web Context

controllerX
Tenant context

serviceA serviceB

Extension A

serviceA

Web Context

controllerX
Beans from web context can access beans from tenant context

Domain Modeling review

Review

How to create new types:


Define completely new types:
<itemtype code="Car">
(implicitly extends from GenericItem)
Define a type by inheriting from already existing types, such as:
<itemtype code="Car"extends="Product">

Extend existing types:


By adding attribute definitions to existing types (attribute
injection):
<itemtype code="Product">

<attributequalifier="MyAttribute">
8

6/3/2013

System Initialization & Update

Review

10

Initialization:
ALL database tables are dropped.
New tables and an empty system are created (only type definitions and the
admin & anonymous user).
Data model is created from scratch as defined in the items.xml files.
Existing data model definitions will be lost!

Update:
Adds newly defined types to the type system definition in the database.
Modifies type system definition in the database to match the definition in the
domain model.
No loss of data!

Essential & Project Data

Review

11

Essential Data:
Necessary during initialization: create the
Default catalog, restrictions and basic
CronJobs

Project Data:
Extension-specific Project Data

How to include:
Convention over Configuration
(essentialdata*.impex, projectdata*.impex)
Hook Service Layer code into hybris
initialization and update life-cycle events
(@SystemSetup annotation)

6/3/2013

Products, Variants and Categories reviewed

12

Review

Product
hybris defined type representing an item of merchandize
includes attributes e.g. name, description, sales unit, price, etc.
may hold variants

Shirt

may link to pictures or other media

Variant Product

Category

Silk
Turtle
Neck

Sports T

May differ in some aspect from one another


(e.g. size, or color)
S

Logical grouping of Products


Can hold products or other categories
Can be structured in Product Cockpit

Womens
Clothing

Can be added to Catalogs


Lingerie

Shoes

12

Further suggestions for discussion

Review

13

Dynamic Model Attributes


Flexible Search
ImpEx
Interceptors
Events
Process Engine
Spring MVC / Frontend / Facades

13

6/3/2013

14

You might also like