際際滷

際際滷Share a Scribd company logo
Presented by : Pradeep J V
 Business Objects
 Business Object Framework
 Persistent Objects
 Transient Objects
 EDL Modeling
 Implementations of Business objects
Pipeline Processor                                                  ISML
                       Start Node     Pipelet     Pipelet   ISML-Template     Java         Template
                                                                              Server       Processor
                                                                              Page
                                                                              *.jsp
             Request
             Handler
             Servlet                                 Pipeline Dictionary

                                                         Business Object                   Servlet
                                       BO                Layer                             Engine
                                                                                           (Tomcat)
Webserver                                                                     *_jsp.java
                           PO                            Persistent Object
Webadapter                           PO         PO       Layer

                                            Persistent Object Cache
                                                                                            Java
                                                                                            Compiler
                                                                             *_jsp.class    (javac)
                                Servlet
                                Engine
                                (Tomcat)




                                           *_jsp.class
 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
Intershop bo
Intershop bo
 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 bo
 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 WarehousePO
    and Address expresses that we only
    navigate the relationship from WarehousePO
    to 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
<<class>>                                <<class>>                                   <<class>>
AbstractDomainRepositoryBOExtension          AbstractExtensibleObjectBO                     AbstractBusinessObject




                                         束interface損                                束interface損
                                  BusinessObjectRepository                        BusinessObject




                          <<class>>
                    WarehouseBORepository                         束interface損                         束interface損
                                                                 WarehouseBO                           StockBO




                          <<class>>                              <<class>>                            <<class>>
                 ORMWarehouseBORepositoryImpl                ORMWarehouseBOImpl                     ORMStockBOImpl




                                                                  <<class>>                            <<class>>
                                                                 WarehousePO                            StockPO
Intershop bo
Intershop bo

More Related Content

What's hot (20)

EJB .
EJB .EJB .
EJB .
ayyagari.vinay
Introduction to EJB
Introduction to EJBIntroduction to EJB
Introduction to EJB
Return on Intelligence
Java EE | Modular EJBs for Enterprise OSGi | Tim Ward
Java EE | Modular EJBs for Enterprise OSGi | Tim WardJava EE | Modular EJBs for Enterprise OSGi | Tim Ward
Java EE | Modular EJBs for Enterprise OSGi | Tim Ward
JAX London
Java EE EJB Applications
Java EE EJB ApplicationsJava EE EJB Applications
Java EE EJB Applications
DevelopIntelligence
EJB Interview Questions
EJB Interview QuestionsEJB Interview Questions
EJB Interview Questions
guest346cb1
Entity beans in java
Entity beans in javaEntity beans in java
Entity beans in java
Acp Jamod
Ejb (1)
Ejb (1)Ejb (1)
Ejb (1)
Salman Virani
Ejb notes
Ejb notesEjb notes
Ejb notes
Mumbai Academisc
Rmi, corba and java beans
Rmi, corba and java beansRmi, corba and java beans
Rmi, corba and java beans
Raghu nath
Java bean
Java beanJava bean
Java bean
Jafar Nesargi
Corba and-java
Corba and-javaCorba and-java
Corba and-java
afreen58
IBM Solutions '99 XML and Java: Lessons Learned
IBM Solutions '99 XML and Java: Lessons LearnedIBM Solutions '99 XML and Java: Lessons Learned
IBM Solutions '99 XML and Java: Lessons Learned
Ted Leung
Ejb - september 2006
Ejb  - september 2006Ejb  - september 2006
Ejb - september 2006
achraf_ing
Introduction to JSP
Introduction to JSPIntroduction to JSP
Introduction to JSP
Fulvio Corno
Spring jdbc
Spring jdbcSpring jdbc
Spring jdbc
Harshit Choudhary
Ejb3 Presentation
Ejb3 PresentationEjb3 Presentation
Ejb3 Presentation
Saurabh Raisinghani
Enterprise Java Beans - EJB
Enterprise Java Beans - EJBEnterprise Java Beans - EJB
Enterprise Java Beans - EJB
Peter R. Egli
Enterprise java beans
Enterprise java beansEnterprise java beans
Enterprise java beans
Quontra Solutions
Chapter 17 corba
Chapter 17 corbaChapter 17 corba
Chapter 17 corba
AbDul ThaYyal
Spring aop
Spring aopSpring aop
Spring aop
Harshit Choudhary
Java EE | Modular EJBs for Enterprise OSGi | Tim Ward
Java EE | Modular EJBs for Enterprise OSGi | Tim WardJava EE | Modular EJBs for Enterprise OSGi | Tim Ward
Java EE | Modular EJBs for Enterprise OSGi | Tim Ward
JAX London
EJB Interview Questions
EJB Interview QuestionsEJB Interview Questions
EJB Interview Questions
guest346cb1
Entity beans in java
Entity beans in javaEntity beans in java
Entity beans in java
Acp Jamod
Rmi, corba and java beans
Rmi, corba and java beansRmi, corba and java beans
Rmi, corba and java beans
Raghu nath
Corba and-java
Corba and-javaCorba and-java
Corba and-java
afreen58
IBM Solutions '99 XML and Java: Lessons Learned
IBM Solutions '99 XML and Java: Lessons LearnedIBM Solutions '99 XML and Java: Lessons Learned
IBM Solutions '99 XML and Java: Lessons Learned
Ted Leung
Ejb - september 2006
Ejb  - september 2006Ejb  - september 2006
Ejb - september 2006
achraf_ing
Introduction to JSP
Introduction to JSPIntroduction to JSP
Introduction to JSP
Fulvio Corno
Enterprise Java Beans - EJB
Enterprise Java Beans - EJBEnterprise Java Beans - EJB
Enterprise Java Beans - EJB
Peter R. Egli

Similar to Intershop bo (20)

04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment Workshop04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment Workshop
Chuong Nguyen
[S lide] java_sig-spring-framework
[S lide] java_sig-spring-framework[S lide] java_sig-spring-framework
[S lide] java_sig-spring-framework
ptlong96
Introducing spring
Introducing springIntroducing spring
Introducing spring
Ernesto Hern叩ndez Rodr鱈guez
0012
00120012
0012
none
J2 Ee Overview
J2 Ee OverviewJ2 Ee Overview
J2 Ee Overview
Atul Shridhar
EclipseCon 2010 - JDT Fundamentals
EclipseCon 2010 - JDT FundamentalsEclipseCon 2010 - JDT Fundamentals
EclipseCon 2010 - JDT Fundamentals
deepakazad
JDT Fundamentals 2010
JDT Fundamentals 2010JDT Fundamentals 2010
JDT Fundamentals 2010
Olivier Thomann
Java EE and Glassfish
Java EE and GlassfishJava EE and Glassfish
Java EE and Glassfish
Carol McDonald
Session 1 Tp1
Session 1 Tp1Session 1 Tp1
Session 1 Tp1
phanleson
Real world java_ee_patterns
Real world java_ee_patternsReal world java_ee_patterns
Real world java_ee_patterns
Alassane Diallo
Extending Oracle E-Business Suite with Ruby on Rails
Extending Oracle E-Business Suite with Ruby on RailsExtending Oracle E-Business Suite with Ruby on Rails
Extending Oracle E-Business Suite with Ruby on Rails
Raimonds Simanovskis
N(i)2 technical architecture 2.0 (v1 1)
N(i)2 technical architecture 2.0 (v1 1)N(i)2 technical architecture 2.0 (v1 1)
N(i)2 technical architecture 2.0 (v1 1)
kvz
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUGThe Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
Arun Gupta
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repository
nobby
Integration Of Springs Framework In Hibernates
Integration Of Springs Framework In HibernatesIntegration Of Springs Framework In Hibernates
Integration Of Springs Framework In Hibernates
Sunkara Prakash
Integration Of Springs Framework In Hibernates
Integration Of Springs Framework In HibernatesIntegration Of Springs Framework In Hibernates
Integration Of Springs Framework In Hibernates
Sunkara Prakash
J2EE - Practical Overview
J2EE - Practical OverviewJ2EE - Practical Overview
J2EE - Practical Overview
Svetlin Nakov
JDO Presentation given at Java User Group Switzerland (JUGS) on 31.03.05
JDO Presentation given at Java User Group Switzerland (JUGS) on 31.03.05JDO Presentation given at Java User Group Switzerland (JUGS) on 31.03.05
JDO Presentation given at Java User Group Switzerland (JUGS) on 31.03.05
Michael Vorburger
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application
javablend
Java hibernate orm implementation tool
Java hibernate   orm implementation toolJava hibernate   orm implementation tool
Java hibernate orm implementation tool
javaease
04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment Workshop04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment Workshop
Chuong Nguyen
[S lide] java_sig-spring-framework
[S lide] java_sig-spring-framework[S lide] java_sig-spring-framework
[S lide] java_sig-spring-framework
ptlong96
0012
00120012
0012
none
EclipseCon 2010 - JDT Fundamentals
EclipseCon 2010 - JDT FundamentalsEclipseCon 2010 - JDT Fundamentals
EclipseCon 2010 - JDT Fundamentals
deepakazad
JDT Fundamentals 2010
JDT Fundamentals 2010JDT Fundamentals 2010
JDT Fundamentals 2010
Olivier Thomann
Java EE and Glassfish
Java EE and GlassfishJava EE and Glassfish
Java EE and Glassfish
Carol McDonald
Session 1 Tp1
Session 1 Tp1Session 1 Tp1
Session 1 Tp1
phanleson
Real world java_ee_patterns
Real world java_ee_patternsReal world java_ee_patterns
Real world java_ee_patterns
Alassane Diallo
Extending Oracle E-Business Suite with Ruby on Rails
Extending Oracle E-Business Suite with Ruby on RailsExtending Oracle E-Business Suite with Ruby on Rails
Extending Oracle E-Business Suite with Ruby on Rails
Raimonds Simanovskis
N(i)2 technical architecture 2.0 (v1 1)
N(i)2 technical architecture 2.0 (v1 1)N(i)2 technical architecture 2.0 (v1 1)
N(i)2 technical architecture 2.0 (v1 1)
kvz
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUGThe Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
Arun Gupta
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repository
nobby
Integration Of Springs Framework In Hibernates
Integration Of Springs Framework In HibernatesIntegration Of Springs Framework In Hibernates
Integration Of Springs Framework In Hibernates
Sunkara Prakash
Integration Of Springs Framework In Hibernates
Integration Of Springs Framework In HibernatesIntegration Of Springs Framework In Hibernates
Integration Of Springs Framework In Hibernates
Sunkara Prakash
J2EE - Practical Overview
J2EE - Practical OverviewJ2EE - Practical Overview
J2EE - Practical Overview
Svetlin Nakov
JDO Presentation given at Java User Group Switzerland (JUGS) on 31.03.05
JDO Presentation given at Java User Group Switzerland (JUGS) on 31.03.05JDO Presentation given at Java User Group Switzerland (JUGS) on 31.03.05
JDO Presentation given at Java User Group Switzerland (JUGS) on 31.03.05
Michael Vorburger
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application
javablend
Java hibernate orm implementation tool
Java hibernate   orm implementation toolJava hibernate   orm implementation tool
Java hibernate orm implementation tool
javaease

Intershop bo

  • 1. Presented by : Pradeep J V
  • 2. Business Objects Business Object Framework Persistent Objects Transient Objects EDL Modeling Implementations of Business objects
  • 3. Pipeline Processor ISML Start Node Pipelet Pipelet ISML-Template Java Template Server Processor Page *.jsp Request Handler Servlet Pipeline Dictionary Business Object Servlet BO Layer Engine (Tomcat) Webserver *_jsp.java PO Persistent Object Webadapter PO PO Layer Persistent Object Cache Java Compiler *_jsp.class (javac) Servlet Engine (Tomcat) *_jsp.class
  • 4. 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
  • 7. Represents a certain business functionality that "belongs together". Consists of entities, value objects, repositories, extensions and context objects
  • 8. 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
  • 9. Value objects are defined by the values of their attributes
  • 10. Manages the lifecycle of the root entity Creation Retrieval Deletion Only one repository per aggregate
  • 11. 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
  • 12. 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)
  • 13. One specific Implementation type of Business Objects (BO) Mapping to Database Structures by ORM Engine Represent just Data, no Business Logic Examples: ProductPO, CatalogPO
  • 15. 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
  • 16. 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
  • 17. Association relationships express a unidirectional or bidirectional semantic connection between classes.
  • 18. 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 WarehousePO and Address expresses that we only navigate the relationship from WarehousePO to Address, never the other way around
  • 19. 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)
  • 20. Imports Namespace Object Definition Object Attributes Modifier ORM Relation
  • 21. <<class>> <<class>> <<class>> AbstractDomainRepositoryBOExtension AbstractExtensibleObjectBO AbstractBusinessObject 束interface損 束interface損 BusinessObjectRepository BusinessObject <<class>> WarehouseBORepository 束interface損 束interface損 WarehouseBO StockBO <<class>> <<class>> <<class>> ORMWarehouseBORepositoryImpl ORMWarehouseBOImpl ORMStockBOImpl <<class>> <<class>> WarehousePO StockPO

Editor's Notes

  • #14: A Persistent Object (PO) consists of four files:PO class representing the persistent object The respective classes carry the suffix PO, such as ProductPO.java.Factory class for lifecycle managementThe respective classes carry the suffix POFactory, such as ProductPOFactory.java.Key class for identifying persistent objectsThe respective classes carry the suffix POKey, such as ProductPOKey.java. Descriptor file describing the object-relational mapping (OR mapping)The file extension of the descriptor file is *.orm, such as ProductPO.orm.