A Service Oriented Analytics Framework for Multi-Level Marketing Business

Abstract

Today’s enterprises have accumulated vast amount of data and keep exploding by business activities. These datasets may contain potential undiscovered business strategies as a key basis of competition; underpin new waves of productivity growth, innovation, and consumer surplus. Data analysis is crucial in making managerial decisions. Although there are many Business Intelligence (BI) software of commercial and open source, but serving statistical purpose as exuberant as GNU-R (R) is rare. R is a highly extensible language and environment for providing a variety of statistical and graphical features. In enterprise environment, the source data are stored in various forms such as files, database, and streaming data. Currently analysts conduct data analysis in offline mode using statistical software. The offline mode means analysts 1) extract the desired data; 2) store extracted data into files; 3) manipulate software; 4) draw analytical results; 5) generate the inferences. Automating the statistical procedures by directly pulling source data will make critical decision sooner and less costly. It is a common practice that enterprise adopts Service-Oriented Architecture (SOA) to achieve its operation excellence. Since the business applications populate the source data during the operation processes, pulling the source data directly under SOA is the most effective way of data analysis. This paper demonstrates how service-oriented statistics engine was developed and how such a system benefits the business decision-making.

Share and Cite:

R. Lee, "A Service Oriented Analytics Framework for Multi-Level Marketing Business," Journal of Software Engineering and Applications, Vol. 5 No. 8, 2012, pp. 527-535. doi: 10.4236/jsea.2012.58061.

1. Introduction

The Big Data is a short hand term for advancing technology trends that open the door to a new approach to disclose the meaning behind the business activities and then based on the findings to make decisions with quality. Enterprise performance relies on the responsiveness and the quality of decision-making. Decision-making is based on rationale of the knowledge which enterprise has possessed. Enterprise knowledge is accumulated and compiled by the information, and the information is generated from the raw data by business activities. The decision makers have to develop a feasible approach to acquire sufficient knowledge and on the situation where makes a confident enough decision to support business needs [1]. Today’s good decisions are driven by reliable data. Business managers and professionals are increaseingly required to justify decisions based on data. They need statistical model-based decision support systems [2]. Enterprise strives on process improvement and variation reduction; it requires a disciplined, data-driven approach to reach business goals. Statistics helps enterprise describing in quantitative way about how well the processes are performing, transform raw data to valuable information, and later become useful knowledge.

Analyzing data, deriving information, and accumulateing knowledge is not handy in most enterprise’s information environment currently. First analysts must know where the desired data is, and ask IT professionals to retrieve that data, save it into files, store them under a shared folder over network, and then develop statistical models. If data is considerably large and fast-updated, it will make the statistical process more inconveniently. If other analysts concern just a portion of the data or the data is not fully covered, IT professionals must repeat these resource-exhausting tasks again for each of them respectively. Another drawback is the poor reusability if the statistical procedures are not shared. In fact, enterprise knowledge does not just cover the information but also the processes of how information was derived. These processes ensure the reproducibility of knowledge that is a part of the enterprise intelligent properties. To reach this objective, a software application—the Business intelligence (BI)-is used to analyze enterprise data; it requires expertise to design and manage those analytical models, it is usually rather expensive and complicated requiring IT professionals and software vendor’s intensive assistance. Not like commercial BI software, GNUR is a flexible and extendable language and environment for statistical computing and graphics; it has been widely used in many applications for years. The analysts who are planning to use GNU-R can find abundant resources over the Internet to ease their learning curves. Thus, GNU-R is more cost-effective as a statistical engine automating analytical processes than commercial BI software. It is worthy to develop a statistical service engine solution using R to improve enterprise knowledge generating and reusability.

However, developing such statistical service engine solution to meet time-to-market objective within budget, it is important to know why most software projects failed: 1) unrealistic or unarticulated project goals; 2) inaccurate estimates of needed resources; 3) badly defined system requirements; 4) poor reporting of the project’s status; 5) unmanaged risks; 6) poor communication among customers, developers; and users 7) use of immature technology; 8) inability to handle the project’s complexity; 9) sloppy development practices; 10) poor project management; 11) stakeholder politics; 12) commercial pressures [3]. The third factor attracts the most concerns; mainly because during the software development it has not considered the non-functional requirements during the development. These non-functional requirements are to ensure the software capability does meet business goal with less Total Cost of Ownership (TCO).

The Statistical Service Engine solution helps analysts offer their business’s performance perspectives to enterprise, and enhance their daily decision making by reusing these statistical inferences, in a more effective way. Although GNU-R has the ability to access the databases directly from analysts’ desktops, but such an approach might cause security breach if database schemas are disclosed, and potentially jeopardize the performance of databases to serve the designated business activities if databases were inappropriately accessed. On the other hand, the analysts expect the solution will eventually execute the submitted GNU-R scripts on behalf of them at most appropriate timing. There for the solution must be under a unified flexible reliable robust mechanism integrating the backend processes—running GNU-R scripts on distributed servers.

To adopt such a unified flexible reliable robust mechanism, the Enterprise Service Bus (ESB) is a proven approach to meet the requirements; it is an infrastructure which underpins a fully integrated and flexible end-toend Service-Oriented Architecture (SOA). The ESB enables SOA by providing the connectivity layer between services [4]. The ESB combines event-driven and service oriented approaches to simplify the integration of business units, bridging heterogeneous platforms and environments. The ESB acts as an intermediary layer to enable communication between different application processes. A service deployed onto an ESB can be triggered by a consumer or an event. It supports synchronous and a synchronous, facilitating interactions between one or many applications (One-to-One or Many-to-Many communications) [5], this is a vital scheme to the statistical service engine solution.

To maximize the reusability and the influence of statistical inferences to enterprise, the user-friendliness of the solution is very crucial to the acquisition and disemination of business knowledge. The user-friendliness increases user’s perceived ease-of-use against a system. Accumulating knowledge is a complex and dynamic process; it needs continuously reshaping the appearance of the knowledge by enhancing the solution’s usability. Usability, a synonym of user-friendliness, is a core term in human-computer interaction. The platform portability is another important consideration of technology selection for the solution. Java is well-known for better portability, and its portlet technology—a proven approach of better usability—can enable users to dynamically construct and reconstruct Web applications of information convergence in run time to resolving urgent and unplanned business requirements [6].

2. Quality Attributes of Statistical Service Engine Solution

It is obvious and important that the Statistical Job Engine software requires high quality because business decisions depend on it. Software quality needs attributes to measure and evaluate to meet business requirements. In Software Engineering perspective, the requirements cover 1) functional; 2) non-functional. These Quality Attributes are for those non-functional requirements covering: 1) functionality; 2) usability; 3) reliability; 4) performance; 5) supportability [7]. The solution especially focuses on the reliability and supportability attributes. Reliability is “a set of attributes that bear on the capability of software to maintain its level of performance under stated conditions for a stated period of time”, it consists of three sub-factors: 1) Maturity is the frequency of software faults; 2) Fault Tolerance is the ability of software to deal with of software faults or infringement of its specified interface; 3) Recoverability is the capability to recover data affected in case of a failure and measured by the time and effort needed for it [8]. Supportability includes 1) Testability; 2) Extensibility; 3) Adaptability; 4) Maintainability; 5) Compatibility; 6) Configurability; 7) Serviceability; 8) Installability; 9) Localizability; 10) Portability [7]. Table 1 exhibit the most concerned attributes as follows.

3. Statistical Service Engine

GNU-R provides a powerful programming language and

Table 1. Quality attribute requirements.

a statistical environment; it is very extensible, with over hundreds of add-on packages obtainable from CRAN (the “Comprehensive R Archive Network”), providing high quality of graphical output [9]. The r-base-core is a universe/math package described as a GNU R core of statistical computation and graphics system. GNU R script can access databases by r-cran-rodbc package through Open Data Base Connectivity (ODBC). The package should be platform independent and provide access to any database for which a driver exists [10]. Table 2 shows how R script access database through ODBC. In many occasions, the source data for statistical analysis is sophisticated and requires complex process to generate it. Using Java servlet technology is a common practice. Using servlet to populate complex data from various sources and transform them into desired format. The HTTP output format should be text/plain with tab delimiter for data columns. Table 3 shows how R script gets data from web. Graphics help user to comprehend the trend and the meaning behind statistical figures intuitively. Normally statist uses tool to visualize the statisticcal graphics; the Statistical Job Engine runs GNU-R scripts on behalf of the statist, it must save the graphics to image file so that the statist can visualize the image file later. Table 4 shows how R script saves graphics into image file. Java program has two approaches of executing GNU-R script 1) using Runtime.getRuntime().exec(); 2) using JRI as the interface to GNU-R. It allows Java program to take control over R. Table 5 shows how Java program interacts with R.

4. The Architecture of Statistical Service Engine Solution

Based on the above-mentioned required Quality Attributes, Statistical analysis takes time and consumes computing resources; it means the response time varies from the complexity of the task. Asynchronous messaging tactics is the solution for time-consuming requests. In asynchronous messaging, the process response does not return immediately but some time later in a different communication session. The user does not wait for the process result at the request time but retrieve the result later after the called process finished or failed from another request [11]. Asynchronous messaging relies on message-oriented middleware (MOM). The MOM creates a “software bus” for integrating heterogeneous applications [12]. Messages are distributed across applications running on different servers; its reliability and robustness is crucial to MOM. An Enterprise Service Bus is an open standards, message based, distributed integration infrastructure that provides routing, invocation and mediation services to facilitate the interactions of disparate distributed applications and services in a secure and reliable manner [13]. Figure 1 illustrates the system architecture of the Statistical Service Engine.

The Statistical Job Portal server provides a number of predefined statistical procedures and ad-hoc analysis to users. The Enterprise Service Bus server receives messages, the statistical job requests, from the Statistical Job Portal server and dispatches them accordingly. GNU-R Engine is a set of Blade servers executing GNU-R scripts designated by the messages. The script may retrieve data from the Database servers or the File Repository server. The application servers are user process engines populating source data on the Database servers or the File Repository server. The File Repository server also stores the statistical results expecting users to retrieve later. The statistical job request is in XML format covering the following fields shown in the Table 6.

Figure 2 illustrates the Activity Diagram of the solution. There are two routes: 1) Predefined; 2) Ad-hoc Statistical Job. When user select a predefined job from the

Conflicts of Interest

The authors declare no conflicts of interest.

References

[1] B. P. Kumar, J. Selvam, V. Meenakshi, K. Kanthi, A. Suseela and V. L. Kumar, “Business Decision Making, Management and Information Technology,” Ubiquity, Vol. 2007, 2007, p. 4. doi:10.1145/1226690.1232401
[2] H. Arsham, “Statistical Thinking for Managerial Decisions,” 9th Edition, 2011. http://home.ubalt.edu/ntsbarsh/Business-stat/opre504.htm
[3] R. N. Charette, “Why Software Fails,” IEEE Spectrum, Vol. 42, No. 9, 2005, p. 36. doi:10.1109/MSPEC.2005.1502528
[4] M. T. Schmidt, B. Hutchison, P. Lambros and R. Phippen, “The Enterprise Service Bus: Making Service-Oriented Architecture Real,” IBM Systems Journal, Vol. 44, No. 4, 2005, pp. 781-797. doi:10.1147/sj.444.0781
[5] J. L. Maréchaux, “Combining Service-Oriented Architecture and Event-Driven Architecture Using an Enterprise Service Bus,” IBM Developer Works, 2006.
[6] Y. Wei, Z. Sun, X. Chen and F. Zhang, “A Service-Port-let Based Visual Paradigm for Personalized Convergence of Information Resources,” 2nd IEEE International Conference on Computer Science and Information Technology, Beijing, 8-11 August 2009.
[7] L. Chung and J. do Prado Leite, “On Non-Functional Requirements in Software Engineering,” Conceptual modeling: Foundations and Applications, Vol. 5600, 2009, pp. 363-379,.
[8] B. Behkamal, M. Kahani and M. K. Akbari, “Customizing ISO 9126 Quality Model for Evaluation of B2B Applications,” Information and Software Technology, Vol. 51, No. 3, 2009, pp. 599-609. doi:10.1016/j.infsof.2008.08.001
[9] A. T. Yalta and R. Lucchetti, “The GNU/Linux Platform and Freedom Respecting Software for Economists,” Journal of Applied Econometrics, Vol. 23, No. 2, 2008, pp. 279-286. doi:10.1002/jae.990
[10] M. Lapsley and B. Ripley, “ODBC Database Access,” 2011. http://cran.r-project.org/web/packages/RODBC/RODBC.pdf
[11] A. Friis-Christensen, N. Ostlander, M. Lutz and L. Bernard, “Designing Service Architectures for Distributed Geoprocessing: Challenges and Future Directions,” Transactions in GIS, Vol. 11, No. 6, 2007, pp. 799-818. doi:10.1111/j.1467-9671.2007.01075.x
[12] C. F. Liao, Y. W. Jong and L. C. Fu, “Toward a Mes-sage-Oriented Application Model and Its Middleware Support in Ubiquitous Environments,” Proceedings of the 2008 International Conference on Multimedia and Ubiquitous Engineering, IEEE Computer Society, Washington, 2008, pp. 298-303.doi:10.1109/MUE.2008.24
[13] F. Menge, “Enterprise Service Bus,” 2007.
[14] A. Vaccaro, R. Parente and F. M. Veloso, “Knowledge Management Tools, Inter-Organizational Relationships, Innovation and Firm Performance,” Technological Forecasting and Social Change, Vol. 77, No. 7, 2010, pp. 1076-1089. doi:10.1016/j.techfore.2010.02.006
[15] U. R. Kulkarni, S. Ravindran and R. Freeze, “A Knowledge Management Success Model: Theoretical Development and Empirical Validation,” Journal of Management Information Systems, Vol. 23, No. 3, 2007, pp. 309-347. doi:10.2753/MIS0742-1222230311

Copyright © 2024 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.