Smart business objects

  • Xufeng Liang

Western Sydney University thesis: Doctoral thesis

Abstract

At present, there is an emerging need to expedite web application development and to accommodate the constant evolution of web applications due to evolving business dynamics. This can be reflected by an increasing number of contemporary Web Application Frameworks with Object Relational Mapping (ORM) support and Model-Driven Development tools with powerful model to- code generation capabilities. While business objects today can be generated from detailed, concrete UML Class diagrams, there is still a mismatch between these current technologies and the essential support for high-level modelling and generation of web-enabled business objects required for extremely rapid web application development. The need for a more abstract level of problem description has been long acknowledged in computer science [1]. The goal of this research is to enable business objects in web applications to be modelled and generated at a higher level of abstraction. There is, however, a greater semantic gap between the implementation and an abstract model than to a concrete model, which leads to the novel concept proposed in this research - Smart Business Object (SBO). In essence, SBO is a syndication of web and business object technologies. It is architected on top of an ORM and geared towards web user interface generation. SBO encapsulates knowledge in the web domain dedicated for rendering rich, non-structured multimedia data, such as documents, images, audio, videos, or geographical maps. For instance, addresses are rendered as Google Maps automatically. By embracing these web-oriented conventions as smart defaults, business objects are empowered with capabilities to render rich web user interfaces, such as forms, tables, menus, and charts, which are crucial in building today's business web applications. By infusing web conventions and behaviours into the incomplete specification in the abstract business object model, SBO alleviates the need for specifying low-level implementation details during business object modelling, which ultimately leads to a higher-level, textual modelling notation called Smart Business Object Modelling Language (SBOML). SBOML allows us to model business objects using succinct, near-English sentences, representing a high-level, conceptual model of the problem domain. SBOML expressions are the single, abstract representation of business objects in the system, from which all implementation-level representations, including the database schema, the ORM mapping classes, as well as data formatting and conversion logic required for generating rich web user interfaces, can be derived. A web-based, SBO Toolkit has been developed to streamline the creation (modelling and generation) and consumption (run-time execution) of business objects using SBOML. The SBO Toolkit allows functional web applications to be generated without any coding, advocating a hybrid development approach that combines the characteristics of Agile Model Driven Development (AMDD) [2] and End-User Development (EUD) [3]. This hybrid approach enables a parallel mode of development whereby developers can generate and release web applications within an extremely compressed timeframe, while at the same time, business end-users can subsequently manage the business objects in web applications, including the web user interfaces, in a controlled environment. The SBO Toolkit has facilitated the development of an enterprise level application - Online Course Approval System (OCAS), for University of Western Sydney (UWS). SBO allows OCAS to be developed rapidly by eliminating the need for traditional ER data modelling and reducing coding of common web user interfaces. This research also explores the integration of SBO and KCPM (Klagenfurt Predesign Conceptual Model) [4], to further enable web applications to be generated directly from a set of glossaries, which are systematically extracted from the business requirements in natural language format. Several key components underpinning the SBO implementation are released as open source modules available on CPAN (Comprehensive Perl Archive Network) [5].
Date of Award2009
Original languageEnglish

Keywords

  • object-oriented programming
  • business
  • data processing
  • database design
  • World Wide Web

Cite this

'