6/3/2013 1 1 2 hybris Developer Training Part II - Commerce Review of Developer Training Part 1
Dec 24, 2015
6/3/2013
1
1
2
hybris Developer Training Part II - Commerce
Review of Developer Training Part 1
6/3/2013
2
3Architecture Review – hybris Multichannel Suite
3
Review
4Architecture Review - hybris ServiceLayer
4
Database
hybris Persistence Items
ModelsInfrastructure Services(Cache, Security, Transaction, Session, ...)
Business Services(Classification, CMS, Price Calculation, ...)
hybris ServiceLayer Framework
hyb
risS
erviceLayer
Cockpits hmcWeb
ServicesWeb Shop Other
Review
6/3/2013
3
5Extensions 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
5
Review
6
Tenant Context“master”
Tenant Context“junit”
Tenant Context“foo”
Web Context
“/shop_master”
Web Context
“/shop_foo”
Web Context
“/back_master”
Web Context
“/back_foo”
Global Context
Spring contexts
Tenant Context“master”
Tenant Context“junit”
6/3/2013
4
7
Tenant context
Extension A
Extension B
serviceA
serviceBserviceA
serviceA serviceB
Web ContextserviceA
controllerX
Spring configuration of extensions
Beans from web context can access beans from tenant context
Web Context
controllerX
Extension Concept
8Domain Modeling 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" …>
…<attribute qualifier="MyAttribute">
8
Review
6/3/2013
5
10System Initialization & Update
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!
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 hybrisinitialization and update life-cycle events (@SystemSetup annotation)
Essential & Project Data Review
6/3/2013
6
12Products, Variants and Categories reviewed
Product
hybris defined type representing an item of merchandize
includes attributes e.g. name, description, sales unit, price, etc.
may hold variants
may link to pictures or other media
Variant Product May differ in some aspect from one another
(e.g. size, or color)
Category
Logical grouping of Products
Can hold products or other categories
Can be structured in Product Cockpit
Can be added to Catalogs
12
Shirt
Sports TSilk
Turtle Neck
S M
Women’s Clothing
Lingerie Shoes
Review
13Further suggestions for discussion
Dynamic Model Attributes
Flexible Search
ImpEx
Interceptors
Events
Process Engine
Spring MVC / Frontend / Facades
13
Review
6/3/2013
7
14