Date post: | 11-Jul-2015 |
Category: |
Documents |
Upload: | pradeep-j-v |
View: | 437 times |
Download: | 3 times |
Presented by : Pradeep J V
Business Objects
Business Object Framework
Persistent Objects
Transient Objects
EDL Modeling
Implementations of Business objects
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
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
Represents a certain business functionality that "belongs together".
Consists of entities, value objects, repositories, extensions and context objects
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
Value objects are defined by the values of their attributes
Manages the lifecycle of the root entity
Creation
Retrieval
Deletion
Only one repository per aggregate
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
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)
One specific Implementation type of Business Objects (BO)
Mapping to Database Structures by ORM Engine
Represent just Data, no Business Logic
Examples: ProductPO, CatalogPO
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
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
Association relationships express
a unidirectional or
bidirectional
semantic connection between classes.
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
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)
Imports
Namespace
Object Definition
Object Attributes
Modifier
ORM Relation
«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