This paper briefly describes an approach to build a domain framework for customer services. A ‘customer services domain framework’ (CSDF) is a collection of customer services deign patterns which work together to form the framework. CSDF is a conceptual model that accurately specifies the business knowledge in the form of an object-oriented model. The CSDF is built using the generic reusable business object modelling (GRBOM) approach which has five dimensions; genericity, reuse, change, business object modelling and patterns.
Business information systems continue to be developed on the basis of business requirements which are only a snapshot of a business’s dynamic life. This type of development, not taking into account the conceptual understanding of the overall business and future changes, has resulted in large amounts of waste in terms of time, effort and resources. One way of overcoming this problem is firstly to capture the essence of the domain for which the application is built and to build business information systems from a well designed domain framework which would be reusable for multiple application developments. Since the effort required to build such a model is so great it would be useful to build the model so that it is horizontally reusable across industries. Domain frameworks which we build are a collection and interaction of business objects. By business objects we mean, in a nutshell, the encapsulation of an abstraction within the business domain (Arrow et al 1995). Similar work to the one we propose has been carried out by the design patterns and framework communities (Gamma et al. 1995) and Buschmann et al. 1996). However their work still concentrates at the analysis, application and programming levels. We propose an extension of the work carried out in patterns to include business design patterns. We suggest that business design patterns are "patterns within the business domain incorporating the ideas of business objects and their particular way of interaction to perform some business functionality or process". These business design patterns working together make up a specific domain framework which can be utilised by various interested parties. Many business experts have come up with good design solutions to various business problems and we should document and reuse these good designs in the solution to other similar problems.
Designing domain specific framework is itself a very complicated task. The first problem we encounter is to find an appropriate abstraction level for these business design patterns. Kozaczyski ( 1994) talks about granularity of objects for effective reuse and suggest that we should build large grain components such as subsystems or long-lived, complex business objects and this is where he foresees very significant productivity and quality gains. By large grain components Kozaczyski (1994) means encapsulated business domain abstractions. This view is shared by Johnson and Yoshida (1997) who have commented that for business objects to be reusable they must be at the right level of abstraction. They say that business objects like customer and invoice will not be very reusable because they are too specific, and each company will have its own version. On the other hand, classes like business transaction, business monitoring are too general and we don’t need another general-purpose object model Johnson and Yoshida (1997). They go onto say that reusable business objects will thread the gap between solutions that are too specific and too general. Johnson and Yoshida (1997) describe Accounts, a framework for business transaction processing as an example of the kind of business object model that is required. We suggest that customer services can be viewed as a large grained business object and it is another appropriate framework to enable effective reuse across industries.
The second problem we encounter is the context in which we should build these business design patterns. We decided to deal with the ‘Reference Model Processes Tier’ which is part of the ‘four-tier three-model framework’ as defined by Hertha et al. (1997). We suggest that an object-oriented model of the core business objects and business processes of the customer services domain should be built. We build a customer services model of the telecommunications industry and use the same model in different industries such as the finance, and retail industries. A customer services domain framework represents a generic solution for general problems and provides a set of classes and design patterns within the customer services domain. It also contains guidelines on how to customise these in order to derive specific applications. CSDF is to be used by application developers across several industries to develop specific applications within the CSD.
This paper outlines the use of the GRBOM approach and is described in detail in a paper written by the authors (Choudhury et al. 1997). We have developed a customer services domain framework using the GRBOM modelling approach. At the heart of the framework is a core business model (CBM) which is a representation of the core business processes, the core businesses objects and the interactions between these. The GRBOM is built within the five dimensions of this framework which are genericity, reuse, change, patterns and business object modelling. We utilise Jacobson’s use case engineering (Jacobson et al 1995), Rumbough’s OMT (Rumbaugh et al 1993) and business design patterns to build the business object model.
Digre (1997) explains genericity as the staged refined of entire models, which uses stepwise instantiation to go from the general to the specific or from the specific to the general. Genericity is a controlled process which utilises principles of specialisation, inheritance, relationships, and contexts to leverage reusable industry models and rapidly provision tailored business solutions. The GRBOM is a reference model of a particular domain within a specific industry. Figure 1 shows the GRBOM - genericity dimension showing how the customer services domain fits into the telecommunications industry and how the telecommunications industry fits into the world of industrial sectors as we understand it. A CBM can be built for each level of the genericity diagram. By reuse we mean that the CSDF can be reused in the development of multiple applications and also it can be reused by different organisations of different industrial sectors (i.e. horizontally reused across vertical industries). The CSDF must incorporate the ideas of change and must capture factors that cause change and factors with which to analyse change. Change is an important factor to consider if we are going to use the model in this turbulent business environment.
Figure 1 Genericty Diagram for Customer Services Domain of the Telecommunications Industry
An object oriented model of the CBM was developed. Each of the business objects and business process objects and links from the CBM were mapped to class diagrams (as shown in Figure 2) and the result is a complete object oriented customer services domain framework. Examples of the type of generic business processes of the CSDF include ‘Launch and Withdraw Products and Services’, ‘Bill and Collect’, and small grain business objects such as customer, product, bill. In the development of the core business model and the subsequent class diagrams, business design patterns for the customer services were discovered and documented. These patterns were the basis of use cases and the subsequent object interaction diagrams.
Figure 2. Core Business Model Mapped to the Business Object Class Diagram.
A CSDF provides a template to facilitate software development. The intention of the CSDF is to support novices and experts in software development. Novices will gain from the experience inherent in the CSDF and experts will make use of, add to, extend and modify the framework to tailor them to their own needs. The CSDF is used in conjunction with the current business analysis and specific user requirements for an application and the current people, processes and technology work together to produce applications. Figure 3 shows an overview of the applications development using the CSDF. Useful applications that are currently being built by the authors include a billing system and a marketing system within the telecommunication industry and a debt collection system within the finance industry.
Figure 3. Application Development using the CSDF
We have justified the need for a CSDF so that the essence of customer services can be captured and represented in an object oriented model which is general and reusable across industry that have a customer services component. GRBOM modelling approach was used to develop the CSDF. The GRBOM has five dimensions: genericity, change, business object modelling, reuse and patterns. At the heart of the model is the core business model. An investigation into the customer services domain of BT revealed that it is possible to use the GRBOM approach to build a CSDF. At present various applications are being developed within different organisations of various industries using the same CSDF that was built for the telecommunications industry. Further work is underway to evaluate the model by way of empirical investigation. The results will be published in a future paper.
We conclude that business modelling and segmentation of business models into stable fragments are critical issues. Also, we suggest that to usefully build large grain business objects, they should be built independently of any specific application. The main problem with domain specific frameworks is that they are usually confidential they represent a companies knowledge and expertise so the company will be reluctant to share their model. However we can foresee more of this knowledge becoming public over time especially if we can identify the right level of abstraction, generality and granularity. Already work is underway in Massachusetts Institute of Technology where researches are working to build a handbook of organisational processes which will be made public (Malone et al 1997). This could provide the knowledge required to build GRBOM of various appropriate domain frameworks to enable horizontal reuse across industries which provide customer services .
Arrow, L., Barnwell, R., Burt, C. and Anderson, M. OMG Business Object Survey. OMG Document 95-6-4. May 1995
Choudhury, I., Sun, Y. and Patel, D. Generic Reusable Business Object Model- A Framework and its Application in British Telecommunication plc. To appear in the 4th International Conference Proceedings on Object-Oriented Information Systems OOIS97-Brisbane, Australia, November 1997.
Buschmann, F., Meunier, R. Rohnert, H. et al. A System of Patterns, John Wiley and Sons, 1996.
Digre, T. Business Application Components in Sutherland, J., Patel, D., Casanave, C., et al.(ed) Business Object Design and Implementation, OOPSLA 95 Workshop Proceedings,. Springer1997
Gamma, E., Helm, R., Johnson, R. and Vlissides, J. Design Patterns: Elements of reusable object-oriented software, Addison-Wesley, Reading, MA.
Hertha, W.F., Bennett, J.E. Post, F.J. and Page I.M. An Architecture Framework: From Business Strategies to Implementation in Sutherland, J., Patel, D., Casanave, C., et al.(ed) Business Object Design and Implementation, OOPSLA 95 Workshop Proceedings,. Springer1997
Jacobson, I., Ericson, M. and Jacobson, A. The Object Advantage. Business Process Reengineering with Object Technology. ACM Press. 1995.
Johnson, R.E, and Yoshida, K. Models of Business Objects: Accounts Business Object Workshop II OOPSLA 96, San Jose, California, October 6-10, 1996
Kozaczyski W. Granularity of objects for effective reuse in Frakes W.B. (ed) Third International Conference on Software Reuse Nov 1-4, 1994, Rio de Janeiro, Brazil. ( 1994)
Malone, T.W., Crowston, K., Lee, J. et al. Toward a handbook of organisational processes, Centre for Co-ordination Science, Massachusetts Institute of Technology 1997 (http://ccs.mit.edu/CCSWP198).
Rumbaugh, J., Blaha, M., Premerlani, W., et al Object-Oriented Modelling and Design Prentice Hall 1991