27
BOPF Introduction & Architecture SAP AG 2012

BOPF Introduction & Architecture

  • Upload
    others

  • View
    22

  • Download
    3

Embed Size (px)

Citation preview

Page 1: BOPF Introduction & Architecture

BOPF Introduction & Architecture

SAP AG 2012

Page 2: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 2

Disclaimer

This presentation outlines our general product direction and should not be relied on in

making a purchase decision. This presentation is not subject to your license

agreement or any other agreement with SAP. SAP has no obligation to pursue any

course of business outlined in this presentation or to develop or release any

functionality mentioned in this presentation. This presentation and SAP's strategy and

possible future developments are subject to change and may be changed by SAP at

any time for any reason without notice. 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 assumes no responsibility for errors or omissions in this document, except if

such damages were caused by SAP intentionally or grossly negligent.

Page 3: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 3

Agenda

Introduction

Architecture

Meta Model

Development Tools

Information Sources

Page 4: BOPF Introduction & Architecture

Introduction

Page 5: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 5

What is a Business Object?

A representation of a type of uniquely identifiable business entities,

described by…

a structural model

an internal process model

one or more service interfaces

Business processes operate on business objects.

Examples: “Customer Invoice”, “Sales Order”, or “Purchase Order”.

Page 6: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 6

What is a Framework?

„A software framework is an abstraction in which common code providing generic

functionality can be selectively overridden or specialized by user code providing

specific functionality. …

Frameworks are similar to software libraries in that they are reusable abstractions of

code wrapped in a well-defined API. Unlike libraries, however, the overall program's

flow of control is not dictated by the caller, but by the framework. This inversion of

control is the distinguishing feature of software frameworks.“

(Source: Wikipedia.com)

Page 7: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 7

What is BOPF?

BOPF - Business Object Processing Framework

Pursues a modular step-by-step approach to implement and run business

objects that comply with the Enterprise Service Oriented Architecture

Is part of Business Object Infrastructure (BOI)

Page 8: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 8

Advantages of Using BOPF (1)

Rapid Prototyping

Quick setup of a 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 reusable parts using standardized interfaces and a clear separation of concerns.

Highly Customizable

Support 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 database layer – you do not have to write it on your own.

Page 9: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 9

Advantages of Using BOPF (2)

User Interface Modeling (Floorplan Manager Integration)

Create user interfaces including personal object worklists for your business objects without any coding

Status and Action Management

Model a status diagram of your business object including special transitions and actions

Change Documents Integration

Record transactional changes of the data of business objects and check the change history

Data Archiving

Automatically store business object instance data in an archiving object

Page 10: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 10

Advantages of using BOPF (3)

Modeled Field Control (Field Control Framework)

Model the behavior of controls (e.g. enabled, disabled, read-only, mandatory) related to the state of the business object

Integrated Transaction Management

Rule Management Engine Integration (BRF+)

Use the rule management expression in order to define your logic

Output Management Framework

Application Log

Store your application log in a special application log business object

see BOPF Reuse team wiki: https://wiki.wdf.sap.corp/wiki/display/reuseBOPF/Home

Page 11: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 11

Who uses BOPF?

BOPF in SAP Business ByDesign is used for more than 66% of all business

objects

BOPF in Business Suite is used by the following groups:

SAP Quality Issue Management

SAP Management of Change

SAP Supplier Relationship Management

SAP Transportation Management

SAP Environment, Health, and Safety Management

Page 12: BOPF Introduction & Architecture

Architecture

Page 13: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 13

Architecture Layers

User Interface

(Floorplan Manager)

Consumer

Business Object Layer

(BOPF)

Transaction Layer

(BOPF)

Database

Page 14: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 14

Development Paradigms

Access to Business Object (CORE Services) only via a Defined API

Clear Separation Between Changing and Checking Business Logic

No mixture of methods that change the business object with methods that have

the purpose to check the business object’s consistency

Clear Separation Between Business Logic and Data Buffer

Business logic is built on top of the business object and the buffer to be

independent of how and where data is buffered

Business logic shall not be implemented within the buffer

Clear Separation Between Data Buffer and Database

Easy exchange of the buffer algorithm (e.g. to gain performance)

Easy exchange of the database or the way data is stored

Page 15: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 15

Development Paradigms Picture

Page 16: BOPF Introduction & Architecture

Meta Model

Page 17: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 17

BOPF Meta Model (1)

Meta Model

Business Object Model

Business Object Instances

Contains Determination, Validation, Action

and other model elements, which are

necessary to model a business object

Uses the components of the meta model in

order to describe structure and behavior of a

business object

E.g. Customer_Invoice

Instances of a business object model, created

at runtime

E.g. “Customer Invoice” No. 231,

“Customer Invoice” No. 9439

Page 18: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 18

BOPF Meta Model (2)

Node

A business object is a hierarchical

tree of nodes. A single node consists

of a set of semantically related

business object data and the

corresponding business logic.

Business Object

Node

Action

Determination

Validation

Elements

Association

The meta model defines elements that can be used to describe a certain

business object. The most important ones are:

Elements

Elements represent business information (e.g. InvoiceID,

InvoicePaid).

Page 19: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 19

BOPF Meta Model (3)

Action Entities

Changes the business object instance

Is triggered explicitly by the service consumer

Determination Entities

Changes the business object instance (side effects)

Is triggered internally due to changes of the business object instance

Validation Entities

Does not make any changes on the business object instance

Consistency validations

Action validations

Query Entities

Search for business object instances that fulfill certain search criteria

Association Entities

Connect instances located on two nodes

Page 20: BOPF Introduction & Architecture

Development Tools SAP Internal Design Time (aka CONF_UI)

BO Builder (aka Enhancement Workbench)

BO Builder Test Environment (aka Test UI)

Page 21: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 21

SAP Internal Development Environment

Can be used internally in order to create, update, or delete business objects

Allows to add entities (e.g. actions, determination, and validations) and attributes

Can display the business object graphically

Generates documentation templates

Page 22: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 22

Business Object Builder (BOB)

Create new business objects or enhance existing business objects by adding new nodes,

new actions, new determinations, or new validations.

Enhance existing actions by adding a pre-action or a post-action that are automatically

executed before (or after) the action of the base business object is executed.

Add further nodes to the business object.

Page 23: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 23

Business Object Builder Test Environment (BOBT)

Test every business object using a generic graphical user interface.

Execute entities and save or clean up transactions.

Receive messages from the business object.

Page 24: BOPF Introduction & Architecture

Information Sources

Page 25: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 25

Information Sources

BOIoP Wiki Space

https://wiki.wdf.sap.corp/wiki/display/BOIoP/Home

Join the Community!

Page 26: BOPF Introduction & Architecture

Thank you

Page 27: BOPF Introduction & Architecture

© 2012 SAP AG. All rights reserved. 27

© 2012 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.

Microsoft, Windows, Excel, Outlook, PowerPoint, Silverlight, and Visual Studio are

registered trademarks of Microsoft Corporation.

IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x,

System z, System z10, z10, z/VM, z/OS, OS/390, zEnterprise, PowerVM, Power

Architecture, Power Systems, POWER7, POWER6+, POWER6, POWER, PowerHA,

pureScale, PowerPC, BladeCenter, System Storage, Storwize, XIV, GPFS, HACMP,

RETAIN, DB2 Connect, RACF, Redbooks, OS/2, AIX, Intelligent Miner, WebSphere, Tivoli,

Informix, and Smarter Planet are trademarks or registered trademarks of IBM Corporation.

Linux is the registered trademark of Linus Torvalds in the United States and other countries.

Adobe, the Adobe logo, Acrobat, PostScript, and Reader are trademarks or registered

trademarks of Adobe Systems Incorporated in the United States and other countries.

Oracle and Java are registered trademarks of Oracle and its affiliates.

UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.

Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin

are trademarks or registered trademarks of Citrix Systems Inc.

HTML, XML, XHTML, and W3C are trademarks or registered trademarks of W3C®,

World Wide Web Consortium, Massachusetts Institute of Technology.

Apple, App Store, iBooks, iPad, iPhone, iPhoto, iPod, iTunes, Multi-Touch, Objective-C,

Retina, Safari, Siri, and Xcode are trademarks or registered trademarks of Apple Inc.

IOS is a registered trademark of Cisco Systems Inc.

RIM, BlackBerry, BBM, BlackBerry Curve, BlackBerry Bold, BlackBerry Pearl, BlackBerry

Torch, BlackBerry Storm, BlackBerry Storm2, BlackBerry PlayBook, and BlackBerry App

World are trademarks or registered trademarks of Research in Motion Limited.

Google App Engine, Google Apps, Google Checkout, Google Data API, Google Maps,

Google Mobile Ads, Google Mobile Updater, Google Mobile, Google Store, Google Sync,

Google Updater, Google Voice, Google Mail, Gmail, YouTube, Dalvik and Android are

trademarks or registered trademarks of Google Inc.

INTERMEC is a registered trademark of Intermec Technologies Corporation.

Wi-Fi is a registered trademark of Wi-Fi Alliance.

Bluetooth is a registered trademark of Bluetooth SIG Inc.

Motorola is a registered trademark of Motorola Trademark Holdings LLC.

Computop is a registered trademark of Computop Wirtschaftsinformatik GmbH.

SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP BusinessObjects Explorer,

StreamWork, SAP HANA, and other SAP products and services mentioned herein as well

as their respective logos are trademarks or registered trademarks of SAP AG in Germany

and other countries.

Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal

Decisions, Web Intelligence, Xcelsius, and other Business Objects products and services

mentioned herein as well as their respective logos are trademarks or registered trademarks

of Business Objects Software Ltd. Business Objects is an SAP company.

Sybase and Adaptive Server, iAnywhere, Sybase 365, SQL Anywhere, and other Sybase

products and services mentioned herein as well as their respective logos are trademarks or

registered trademarks of Sybase Inc. Sybase is an SAP company.

Crossgate, m@gic EDDY, B2B 360°, and B2B 360° Services are registered trademarks

of Crossgate AG in Germany and other countries. Crossgate is an SAP company.

All other product and service names mentioned 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. No part of this document may be

reproduced, copied, or transmitted in any form or for any purpose without the express prior

written permission of SAP AG.