7
6/3/2013 1 1 2 hybris Developer Training Part II - Commerce Review of Developer Training Part 1

Hybris Developer Training Part II - Commerce - Module 02 - Software Developer Review

Embed Size (px)

DESCRIPTION

ccccc

Citation preview

Page 1: Hybris Developer Training Part II - Commerce - Module 02 - Software Developer Review

6/3/2013

1

1

2

hybris Developer Training Part II - Commerce

Review of Developer Training Part 1

Page 2: Hybris Developer Training Part II - Commerce - Module 02 - Software Developer Review

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

Page 3: Hybris Developer Training Part II - Commerce - Module 02 - Software Developer 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”

Page 4: Hybris Developer Training Part II - Commerce - Module 02 - Software Developer Review

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

Page 5: Hybris Developer Training Part II - Commerce - Module 02 - Software Developer 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

Page 6: Hybris Developer Training Part II - Commerce - Module 02 - Software Developer 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

Page 7: Hybris Developer Training Part II - Commerce - Module 02 - Software Developer Review

6/3/2013

7

14