BOPF Basic Training 01 Introduction and Architecture
ByDesign BOPF
Agenda
1. 2.
Introduction Model-Driven Development 1. 2. 3. 4.
3. 4. 5. 6. 7.
BOPF Architecture Development Paradigms Sources of Information Technical Information Modeling Environment 1. 2.
© SAP 2010 / Page 2
Model-driven Approach Enterprise Services Oriented Architecture Model-driven Development from MDRS to BOPF BOPF Meta Model
BOPF Modeling Tool Business Object Detail Browser
What is BOPF?
BOPF - the Business Object Processing Framework
Offers an incremental and modular approach to implement business objects in an Enterprise Services Oriented Architecture (eSOA) compliant manner
Part of the platform foundation layer, software component SAP_BYD
Available for Application Platform and SAP Business ByDesign Available for mySAP Business Suite
© SAP 2010 / Page 3
Advantages of using BOPF
Rapid prototyping You can quickly set up an initial, running prototype of your business object with its most basic services already enabled, such as create, retrieve, updated, delete, save and query. Reuse of implementation Clear structuring of the business logic in small reuseable parts using standardized interfaces and a clear separation of concerns. Model-driven business object implementation Leads to a common programming model by design. Highly customizable advanced enhancement and configuration options at every level, such as defining the specific business logic and performance optimization attributes that are unique to your business object. Less implementation efforts BOPF controls the application business logic as well as the data retrieval of the buffer and persistency layer – you don’t have to write it on your own.
These and a lot of more features are described in this workshop!
© SAP 2010 / Page 4
Who uses BOPF?
BOPF is used to implement over 65% of all Business Objects in Business ByDesign
BOPF is used in the Business Suite, too.
© SAP 2010 / Page 5
Agenda
1. 2.
Introduction Model-Driven Development 1. 2. 3. 4.
3. 4. 5. 6. 7.
BOPF Architecture Development Paradigms Sources of Information Technical Information Modeling Environment 1. 2.
© SAP 2010 / Page 6
Model-driven Approach Enterprise Services Oriented Architecture Model-driven Development from MDRS to BOPF BOPF Meta Model
BOPF Modeling Tool Business Object Detail Browser
Model-driven Approach
Interface Model (UI Designer)
Abstraction Business Process Model (MDRS) Integration Scenario Model Process Interaction Model Process Component Model Business Object (Meta) Model (MDRS) Business Object Model State & Action Model Operation Signature Model Business Object Implementation Model (BOPF) Business Object Model (Internal) Processing Model
Details © SAP 2010 / Page 7
Enterprise Services Oriented Architecture Enterprise Services Infrastructure MDRS BO Model
Enterprise Service Framework
Business Logic
Business Application Layer
Buffer
Business Object Model
Mapping
Data Access Layer
Database
Mapping
Service Interface Layer
Persistency Layer Database Data Model
© SAP 2010 / Page 8
Model-driven Development from MDRS to BOPF MDRS-Metamodel
1
BOPF-Metamodel
Proxy Import
BOPF-BO-Model
4
Refinement of the model (e.g. with determinations)
MDRS-BO-Model 3
5
2 BO-Instances BO-Proxy
© SAP 2010 / Page 9
BOPF internal Business Object Model
All aspects known from the MDRS model can also be maintained in the BOPF model and also get imported from the MDRS:
Nodes
Node Attributes
Associations
Actions
Business Object Attributes
Data Types
etc.
The BOPF model offers more fine grained modeling of the Business Object:
Attribute Mapping
Persistency
Definition of Business Logic
etc.
© SAP 2010 / Page 10
BOPF Meta Model (1)
BOPF-Metamodel
BOPF-BO-Model
BOPF-BO-Instances
© SAP 2010 / Page 11
Contains Determination, Validation, Action and other model elements, which are necessary to model a business object in detail
Uses the components of the BOPF-metamodel to describe structure and behaviour of a business object
Created at design time
E.g. „Customer Invoice“
Instances of a BOPF-BO-Model
Created at runtime
E.g. „Customer Invoice“ No. 231, „Customer Invoice“ No. 9439
BOPF Meta Model (2)
The meta model consists of the following elements:
Node
Attribute Mapping –
Mapping between Proxy structures and internal data model
–
Mapping between internal data model and persistency model
Action –
Changes the Business Object instance
–
Is triggered explicitly by the Service Consumer
Determination –
Changes the Business Object instance (side effects)
–
Is triggered internally due to changes of the object instance
Validation –
Does not perform any changes of the Business Object instance
–
Consistency Validations –
–
Check whether an Business Object instance is consistent
Action Validations –
© SAP 2010 / Page 12
Check whether an action can be executed
BOPF Meta Model (3)
Node
Association –
Link two node instance of different or the same node
Value Sets –
Identifier Value Sets
–
Code Value Sets
Query
Alternative Keys –
Unique identifier of a node instance
Status Management Entities –
Status Schema
–
Status Derivator
–
Status Variable
© SAP 2010 / Page 13
Agenda
1. 2.
Introduction Model-Driven Development 1. 2. 3. 4.
3. 4. 5. 6. 7.
BOPF Architecture Development Paradigms Sources of Information Technical Information Modeling Environment 1. 2.
© SAP 2010 / Page 14
Model-driven Approach Enterprise Services Oriented Architecture Model-driven Development from MDRS to BOPF BOPF Meta Model
BOPF Modeling Tool Business Object Detail Browser
BOPF Architecture
API
separation between changing and checking business logic in BOPF
separation between business logic and data buffer and persistency © SAP 2010 / Page 15
Agenda
1. 2.
Introduction Model-Driven Development 1. 2. 3. 4.
3. 4. 5. 6. 7.
BOPF Architecture Development Paradigms Sources of Information Technical Information Modeling Environment 1. 2.
© SAP 2010 / Page 16
Model-driven Approach Enterprise Services Oriented Architecture Model-driven Development from MDRS to BOPF BOPF Meta Model
BOPF Modeling Tool Business Object Detail Browser
BOPF Development Paradigms
Access to Business Object (CORE Services) only via a defined API
Clear separation between changing and checking business logic
Clear separation between business logic and data buffer
No mixture of methods that change the business object with methods that have the purpose to check the business objects consistency Business logic should be built on top of the business object and the buffer to behave independent of the way data is buffered and where data is buffered No business logic should be implemented within the buffer
Clear separation between data buffer and persistency
Enables easy exchange of the buffer algorithm (e.g. to gain performance) Enables easy exchange of the persistency or the way data is persisted
© SAP 2010 / Page 17
Agenda
1. 2.
Introduction Model-Driven Development 1. 2. 3. 4.
3. 4. 5. 6. 7.
BOPF Architecture Development Paradigms Sources of Information Technical Information Modeling Environment 1. 2.
© SAP 2010 / Page 18
Model-driven Approach Enterprise Services Oriented Architecture Model-driven Development from MDRS to BOPF BOPF Meta Model
BOPF Modeling Tool Business Object Detail Browser
Further Sources of Information
BOPF Wiki Space (central starting point for information about BOPF)
https://wiki.wdf.sap.corp/display/BOPF/Home
BOPF Development Guideline
https://wiki.wdf.sap.corp//attachments/223184988/BOPF_Development_Guideline.pdf
BOPF Performance Guideline
https://wiki.wdf.sap.corp/display/BOPF/BOPF+Performance+Guideline
BOPF ABAP Unit Development
https://wiki.wdf.sap.corp/display/BOPF/BOPF+ABAP+Unit+Framework
BOPF Online Documentation
https://wiki.wdf.sap.corp//attachments/223184988/BOPF+Help+Documentation.pdf
BOPF Training for Development
https://wiki.wdf.sap.corp/display/BOPF/BOPF+Training
© SAP 2010 / Page 19
Agenda
1. 2.
Introduction Model-Driven Development 1. 2. 3. 4.
3. 4. 5. 6. 7.
BOPF Architecture Development Paradigms Sources of Information Technical Information Modeling Environment 1. 2.
© SAP 2010 / Page 20
Model-driven Approach Enterprise Services Oriented Architecture Model-driven Development from MDRS to BOPF BOPF Meta Model
BOPF Modeling Tool Business Object Detail Browser
Technical Information on the BOPF
BOPF is part of the platform foundation layer, software component SAP_AP_FND
Available for Application Platform and SAP Business ByDesign
Available for mySAP Business Suite
The BOPF Development system is AFH, client 100
Transport to connected System Landscape
The BOPF meta model is connected to the global TADIR
Assigned to development package, lockable & transportable
Assigned to a responsible person
Logical transport object BOPF for business object model
Logical transport object BOPX for business object model extension
BOPF Application component hierarchy (for CSS-messages)
AP-RC-BOF
Business Object Processing Framework
AP-RC-BOF-CNF
Business Object Processing Framework – Configuration
AP-RC-BOF-RNT
Business Object Processing Framework – Runtime
AP-RC-BOF-TST
Business Object Processing Framework – Test
© SAP 2010 / Page 21
Agenda
1. 2.
Introduction Model-Driven Development 1. 2. 3. 4.
3. 4. 5. 6. 7.
BOPF Architecture Development Paradigms Sources of Information Technical Information Modeling Environment 1. 2.
© SAP 2010 / Page 22
Model-driven Approach Enterprise Services Oriented Architecture Model-driven Development from MDRS to BOPF BOPF Meta Model
BOPF Modeling Tool Business Object Detail Browser
BOPF Modeling Tool
Business Object Detail Browser
BOPF Modeling Tool (Transaction: /BOPF/CONF_UI)
SAPGUI-based
Versioning of Business Object Models
Integration to Business Object Test Tool/ Business Object Test Shell
Business Object Browser with categorized Business Objects
© SAP 2010 / Page 23
Details of the selected business object part
Business Object Detail Browser
© SAP 2010 / Page 24
Node Structure
Node Elements
Thank you!
© SAP 2007 / Page 25
Copyright 2007 SAP AG All rights reserved No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, Duet, Business ByDesign, ByDesign, PartnerEdge and other SAP products and services mentioned herein as well as their respective logos are trademarks or ed trademarks of SAP AG in and in several other countries all over the world. All other product and service names mentioned and associated logos displayed are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. The information in this document is proprietary to SAP. This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments, and functionalities of the SAP® product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence. The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages
Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrückliche schriftliche Genehmigung durch SAP AG nicht gestattet. In dieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändert werden. Einige von der SAP AG und deren Vertriebspartnern vertriebene Softwareprodukte können Softwarekomponenten umfassen, die Eigentum anderer Softwarehersteller sind. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, Duet, Business ByDesign, ByDesign, PartnerEdge und andere in diesem Dokument erwähnte SAP-Produkte und Services sowie die dazugehörigen Logos sind Marken oder eingetragene Marken der SAP AG in Deutschland und in mehreren anderen Ländern weltweit. Alle anderen in diesem Dokument erwähnten Namen von Produkten und Services sowie die damit verbundenen Firmenlogos sind Marken der jeweiligen Unternehmen. Die Angaben im Text sind unverbindlich und dienen lediglich zu Informationszwecken. Produkte können länderspezifische Unterschiede aufweisen. Die in diesem Dokument enthaltenen Informationen sind Eigentum von SAP. Dieses Dokument ist eine Vorabversion und unterliegt nicht Ihrer Lizenzvereinbarung oder einer anderen Vereinbarung mit SAP. Dieses Dokument enthält nur vorgesehene Strategien, Entwicklungen und Funktionen des SAP®-Produkts und ist für SAP nicht bindend, einen bestimmten Geschäftsweg, eine Produktstrategie bzw. -entwicklung einzuschlagen. SAP übernimmt keine Verantwortung für Fehler oder Auslassungen in diesen Materialien. SAP garantiert nicht die Richtigkeit oder Vollständigkeit der Informationen, Texte, Grafiken, Links oder anderer in diesen Materialien enthaltenen Elemente. Diese Publikation wird ohne jegliche Gewähr, weder ausdrücklich noch stillschweigend, bereitgestellt. Dies gilt u. a., aber nicht ausschließlich, hinsichtlich der Gewährleistung der Marktgängigkeit und der Eignung für einen bestimmten Zweck sowie für die Gewährleistung der Nichtverletzung geltenden Rechts. SAP übernimmt keine Haftung für Schäden jeglicher Art, einschließlich und ohne Einschränkung für direkte, spezielle, indirekte oder Folgeschäden im Zusammenhang mit der Verwendung dieser Unterlagen. Diese Einschränkung gilt nicht bei Vorsatz oder grober Fahrlässigkeit. Die gesetzliche Haftung bei Personenschäden oder die Produkthaftung bleibt unberührt. Die Informationen, auf die Sie möglicherweise über die in diesem Material enthaltenen Hotlinks zugreifen, unterliegen nicht dem Einfluss von SAP, und SAP unterstützt nicht die Nutzung von Internetseiten Dritter durch Sie und gibt keinerlei Gewährleistungen oder Zusagen über Internetseiten Dritter ab. Alle Rechte vorbehalten.
© SAP 2007 / Page 26