Intershop @ Jump Start E-Commerce Platforms March 10 th 2010 Stephan Leschke - Intershop.
Intershop bo
-
Upload
pradeep-j-v -
Category
Documents
-
view
449 -
download
3
Transcript of Intershop bo
![Page 1: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/1.jpg)
Presented by : Pradeep J V
![Page 2: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/2.jpg)
Business Objects
Business Object Framework
Persistent Objects
Transient Objects
EDL Modeling
Implementations of Business objects
![Page 3: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/3.jpg)
Start Node
Pipeline Dictionary
Pipeline ProcessorISML-TemplatePipelet Pipelet
Request
Handler
Servlet
ISML
Template
Processor
Java
Server
Page
*.jsp
*_jsp.java
Servlet
Engine
(Tomcat)
*_jsp.class
Java
Compiler
(javac)
*_jsp.class
Se
rvle
t
En
gin
e
(To
mcat)
Webadapter
WebserverPO
PO PO
Persistent Object
Layer
Persistent Object Cache
Business Object
LayerBO
![Page 4: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/4.jpg)
Introduce a new layer above the persistence layer
ORM Layer State
BO Layer Behavior
Make domain-concepts explicit in the API
Provide concepts for customization and extension
Support multi-application and multi-tenancy nature of Intershop 7
Encapsulate everything important for a certain business domain
![Page 5: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/5.jpg)
![Page 6: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/6.jpg)
![Page 7: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/7.jpg)
Represents a certain business functionality that "belongs together".
Consists of entities, value objects, repositories, extensions and context objects
![Page 8: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/8.jpg)
Represent business objects that have an identity
Provide methods that have a meaningful business function to modify internal state
Root entity as single entry point into an aggregate
All other entities reachable by navigation from root entity only
![Page 9: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/9.jpg)
Value objects are defined by the values of their attributes
![Page 10: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/10.jpg)
Manages the lifecycle of the root entity
Creation
Retrieval
Deletion
Only one repository per aggregate
![Page 11: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/11.jpg)
Provide additional methods that operate on a business object
Are attached to the host object
Are created by an Extension Factory
Can be restricted to some business objects only
![Page 12: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/12.jpg)
Every Business Object lives in a Context
Created by someone who wants to use the Business Object Layer (App layer)
Holds the extension factories that can be used
Typically: lifespan of one request
(Also holds the cache for Business Objects)
![Page 13: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/13.jpg)
One specific Implementation type of Business Objects (BO)
Mapping to Database Structures by ORM Engine
Represent just Data, no Business Logic
Examples: ProductPO, CatalogPO
![Page 14: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/14.jpg)
![Page 15: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/15.jpg)
Intershop 7 provides two different ways of Java object implementations:
Persistent Objects (PO), encapsulated by business interfaces, access via corresponding manager classes
This is the Enfinity Suite 6 approach, currently still used in most of the backoffice parts
Business Objects (BO) which are business interfaces and can be wired to different implementations, access via corresponding repository classes
This is the genuine IS 7 approach, currently mainly used in storefront
![Page 16: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/16.jpg)
In the context of POs, a relationship between two classes indicates a link between the database tables underlying the POs.
Intershop 7 is uses mostly two basic relationship types:
Association relationships
Weak relations
![Page 17: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/17.jpg)
Association relationships express
a unidirectional or
bidirectional
semantic connection between classes.
![Page 18: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/18.jpg)
Weak relations express a unidirectional relationship between classes
"Unidirectional" in this context means that the relationship is only navigable in one direction
The weak relation connecting WarehousePOand Address expresses that we only navigate the relationship from WarehousePOto Address, never the other way around
![Page 19: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/19.jpg)
EDL
Is a textual domain-specific language (DSL) for modeling business objects for Intershop 7
An EDL file typically consists of:
imports for other EDL files that contain referenced types
primitive type declarations
external type declarations
namespace declarations
complex type declarations
Recommendations:
Just 1 EDL file per object (no technical limit)
Use the non-graphical EDL Model Editor (performance)
![Page 20: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/20.jpg)
Imports
Namespace
Object Definition
Object Attributes
Modifier
ORM Relation
![Page 21: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/21.jpg)
«interface»
BusinessObjectRepository
«interface»
BusinessObject
«interface»
WarehouseBO
«interface»
StockBO
<<class>>
ORMWarehouseBOImpl
<<class>>
ORMStockBOImpl
<<class>>
WarehousePO
<<class>>
StockPO
<<class>>
ORMWarehouseBORepositoryImpl
<<class>>
WarehouseBORepository
<<class>>
AbstractDomainRepositoryBOExtension
<<class>>
AbstractBusinessObject
<<class>>
AbstractExtensibleObjectBO
![Page 22: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/22.jpg)
![Page 23: Intershop bo](https://reader030.fdocuments.net/reader030/viewer/2022013121/55a0b4751a28ab956b8b46f3/html5/thumbnails/23.jpg)