|
Blogs
OverviewSAP is known as a world leader for vendors of ERP applications and technology platform for large enterprises. However, when it comes to SAP's industry solutions which are tailor made for specific industries, a few people know that some of them are based on the ERP application but some are full blown independent solutions, made for a specific industry/market segment. The SAP Banking Platform, also known as Banking Services from SAP, is one of those independent industry solutions providing a comprehensive answer for core banking activities (Deposit management, Loan Management and more). SAP embraced SOA as a fundamental design paradigm for the company's future products. Positioning SAP as the first leading business application vendor seriously implements SOA solutions. The Banking Platform is one of the leading SOA designed solutions that one can find in the enterprise application segment. A lot has been said about the SOA paradigm and concepts, but when really starting to implement a true SOA based solution, one is required to deal with some fundamental terms and to understand these terms in a pragmatic manner as well as a conceptual one. Business Object is one of these familiarly dealt with terms a term that is often misunderstood In this Blog I aim to take you through the meaning and usage reflections of business object within the SAP Banking platform The "Terminology syndrome"When one works in an information system development projects, he finds himself having long discussions on different technologies, business aspects and architectural approaches. Discussions such as these often raise many questions from various people coming from different areas and backgrounds. The real problems surprisingly arises when dealing with topics where initially there seems to be a clear understanding, because all believe that the term is familiar to them. This is what I shell call the "Terminology syndrome". It seems that only once you dig deep and ask people what their understanding of the term really is; you discover that each person attributes different meanings/understanding to that specific term.
I believe that when talking about Business Object we might come across the "Terminology syndrome". Depending on where you come from, whether you are a SAP consultant, an ABAP developer, a java developer or a DBA, you probably expect different things from the SAP business Object. Here are some generic definitions of Business Object I found on the internet: "Business objects are objects in an object-oriented computer program that represent the entities in the business domain that the program is designed to support. For example, an order entry program might have business objects to represent each orders, line items, and invoices. ...A business object often encapsulates all of the data and business behavior associated with the entity that it represents"Definition from wikipedia "Business Object: A concept from the everyday business terminology and vocabulary of the end-users. Each Object corresponds to a selection of data in the relational database, or a calculation or function using this data. " http://planning.ucsc.edu/IRPS/dwh/BOBGLOSS.HTM "business object is a code structure that corresponds directly to a thing in the actual business the software is meant to represent that encapsulates the data that describes, defines, makes up, is contained by, and or is associated with the thing, and encapsulates the business logic related to the thing." http://swcses.eponym.com/blog/_archives/2006/9/19/2341371.html As you can see in these 3 examples, the basic definition of a business object is the same but the actual or physical being of the business objects is different. In some cases it is expected to be a programming language object in the memory with all the relevant data and methods related to the business objects, in other cases it is expected to be a unified database structure that contains all the relevant information of a specific BO. These different expectations of what a business object should be might reflect on our basic understanding of what and how we should work with a specific system/software, in our case - the SAP banking application. SAP Banking definition of Business ObjectWe now understood that a business object is not a trivial/unified definition. Let us now see how business object are defined in SAP banking and how they reflect on the SAP software delivered to customers. A business object is a set of entities with common characteristics and common behaviour representing well-defined business semantics. It is described by a structural model, a status and action model (describing the business object's lifecycle), and one or more service interfaces. Contrary to general notion of an "object" in an object-oriented sense, the term business object is used here to describe the type and not the instance level. Consequently, the business object Bank Account describes the category of all Bank Accounts and not a single Bank Account instance. SAP banking application design is object-based, not object-oriented. It deals with the concepts of business objects, nodes and instances but does not represent these concepts in a one-to-one correspondence with object-oriented classes and instances. The Business Object physical "being"If that is the definition, what then is the physical being of a specific business object, if at all? Well, the business object within the banking platform application is not one unified object or table but is:
SummaryA business object is a term that might confuse some due to the fact that it brings different thinking on its physical being and availability depending on one's personal background. From a customer implementing SAP banking platform perspective, the BO is important in order to get a better understanding of the way SAP views/clusters the business domain but is not a physical entity that directly interacts with. SAP's view as a standard software provider is to enable customers to implement its functionality using a set of a well defined API's (Enterprise Services, BAPI's, other) without having to get into all the internal structures of the software. According to this view the BO is a tricky one; on the one hand it is an object that is important for the business understanding of the software, on the other hand its physical implementation is too complicated and is related to internal software design. That is why SAP provides the high level information on which BO's were identified as part of specific business process component functionality and its related enterprise services and underlying operations, but does not provide information about the internal structure of each BO All the information about BO and Enterprise Services can be found in the Enterprise Service Workplace. Nitzan Levi Nitzan is the head of global SOA engineering Group within SAP Financial Services Hub (FS consulting). in his current position Nitzan is in charge of developing pragmatical knowledge platform around how to apply SOA @ Banking. |