
The Dynamic Business Object Pattern Russ Rubis Dr. Ionut Cardei Dept. of Computer Science and Eng. Dept. of Computer Science and Eng. Florida Atlantic University Florida Atlantic Universit Boca Raton, FL 33431 Boca Raton, FL 33431 [email protected] [email protected] ABSTRACT department handles purchase orders, invoices to procure goods and services for the business, while the warehouse A business object is an object which is used often by business receives and distributes the goods. Each organization or applications and services and is a widely acceptable entity in department needs applications specific to their functional area. the running of the business. For example, a purchase order, an These applications are implemented on a web-based invoice, and a customer profile could be considered business infrastructure using standard web technologies and rely on objects, as these are parts of day-to-day business activity, but “business objects” such as purchase orders, invoices, and more importantly these have well-established and commonly accounts. These business objects have a common set of accepted attributes and behavior. Developing business objects properties at the design level and different implementation from scratch each and every time one is needed is a resource- solutions [.NET, J2EE, Spring, CORBA, etc.] as well as intensive, highly repetitive, and unnecessary undertaking. One custom architectures [Ariba, SAP, SmartClient, etc.]. The of the challenges faced by today’s enterprise application business objects reveal similarity in the overall approach developers is the lack of a generic approach for specifying the without a systematic effort to build a reusable specification design, delivery, and processing of business objects. In and infrastructure. general, a business object may contain one or more of the This paper introduces the Dynamic Business Object Pattern , following: dynamic data object, static document, and our attempt to address specification, design, and code reuse workflow. Each time a custom application requires the use of when building business objects for specific problem domains. a business object, the developers either have to design it themselves, or use some language and/or platform and/or A Dynamic Business Object refers to an abstract software dependent solution/library which might or might not generalization of these various application specific objects that address the needs of their application. This paper proposes a provides a uniform and reusable specification. The Dynamic new pattern for specifying Dynamic Business Objects for Business Object Pattern describes a generic and systematic business applications. The objective of this pattern is to approach to organize the business objects and to describe provide a generic approach to design extensible Business them. It structures business objects in static documents, Objects and their frameworks for business applications. workflows, and dynamic data. Business objects have the typical properties of object-oriented systems, such as composition, inheritance, polymorphism, plus they promote Keywords reuse at several levels. Business data object, business document, workflow, common For example, a generic Accounting Module aggregates business object, dynamic object business objects involved in supporting accounting applications. A typical Accounting Module could contain Dynamic Business Object such as General Ledger, Project Account, Expense Account and others. The module's business object specification includes the basic elements necessary to 1. INTRODUCTION AND OVERVIEW create, update and maintain the data, and functions needed to perform accounting tasks for a business. Business objects Just about every business is comprised of multiple from this Accounting Module can be extended to organizations and or departments, each specializing in their accommodate specific attributes and behaviors customized for area of function. An accounting department deals with various an individual company or industry. When a new module is customers, distributors, and partner accounts, the procurement extended from an existing one, it inherits all of the parent module’s objects and attributes, including dynamic data Permission to make digital or hard copies of all or part of this work objects, static documents, and workflows. for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage The Dynamic Business Object Pattern also describes an and that copies bear this notice and the full citation on the first page. architecture to implement and support business objects. For To copy otherwise, to republish, to post on servers or to redistribute to example, a dynamic data object implies that a storage solution lists, requires prior specific permission. A preliminary version of this is required; it also implies that a custom user interface will be paper was presented in a writers' workshop at the 20th Conference on necessary to present the dynamic data object. A static Pattern Languages of Programs (PLoP). PLoP'13, October 23-26, document, on the other hand, is assumed to have a widely Monticello, Illinois, USA. Copyright 2013 is held by the author(s). accepted form of viewing software (i.e. MS Word, PDF, HILLSIDE 978-1-941652-00-8 Notepad, etc.). Finally, a workflow is a process which used in the software industry to model data and logic for supports the life cycle of a dynamic business object. business applications. Business objects should have the flexibility and simplicity to solve diverse business problems. Another benefit of a modularized approach is that each existing module is not static, and can be enhanced over time. Businesses also require a unified approach to designing and For example, the Common Module (see below) has three main building business objects. Developers of commercial parts: Dynamic Data Object, Static Document, and Workflow. application frameworks and custom web applications benefit If another entity needs to be added to the Common Module in from a portable and reusable business object specification. the future, it can be done so safely, without affecting the The Dynamic Business Object Pattern could also be applied existing functionality. to environments that do not involve distributed computing. There are a number of patterns that deal with web However, we believe that it is best suited for web-based, applications and web object specifications and architectures. distributed and heterogeneous computing architectures with a Among them are Document-View-Presentation [8], variety of client devices (PCs, smartphones) and service Model/View/Controller [9], Presentation/ Abstraction / platforms. Control [10], and others. In addition to these, there are also analysis patterns which address specific business domains [4]. 2.4 Problem The Dynamic Business Object Pattern is a new approach to Business applications involve complex distributed operations abstracting business objects using the three basic elements: orchestrated on client and server side. Applications rely on a dynamic data objects, static documents, and workflows. variety of documents with static and dynamic content for The intended audience for this article includes business presentation and for data storage. Document structure and application architects and developers at the early stage of application behavior require a platform-neutral and reusable Dynamic Business Object design. specification that can be specialized further for particular business cases. The specification must exhibit object-oriented 2. THE DYNAMIC BUSINESS OBJECT properties, such as modularization, inheritance, and polymorphism. The object specification must include data, PATTERN format (presentation), behavior, and various constraints. Business objects must be based on proven business practices. 2.1 Intent At the same time, business objects should have the flexibility The Dynamic Business Object Pattern describes an to alter their behavior based on the changing needs of a extensible design for business objects used for business business. applications and a structure for their platform-neutral specification. 2.5 Solution The Dynamic Business Object Pattern presents an approach 2.2 Example for specification and design of business objects. The pattern's Consider a simple customer request process, which consists top-level specification element is the Common Module (see of a customer initiating a request, and the request being Figure 1), comprised of three main elements that are the received and processed by a a business. Lastly, notification of minimum needed to support the description and behavior of a completion is sent to the customer and is the final step in the dynamic business object: customer request process. 1. Dynamic Data Object The abstract customer request process can now be extended 2. Static Document to formulate a more complex example reflecting a specific business process. Consider a shopping cart. At its base, it is a 3. Workflow customer request for goods or services performed using a web A dynamic business object specification may include any based application. After selecting items and adding them to a combination of the above elements. For example, a shopping shopping cart, the customer provides the billing and shipping cart contains items that the user wishes to order (incidentally, information, then submits the request for processing. The these items are also dynamic data objects). The shopping cart vendor then receives the shopping
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages9 Page
-
File Size-