Abstract
Service-oriented computing (SOC) is the computing paradigm that utilizes services as a fundamental building block. Services are self-describing, open components intended to support composition of distributed applications. Currently, Web services provide a standard-based realization of SOC due to: (1) the machine-readable format (XML) of their functional and nonfunctional specifications, and (2) their messaging protocols built on top of the Internet. However, how to methodologically identify, specify, design, deploy and manage a sound and complete set of Web services to move to a service-oriented architecture (SOA) is still an issue. This paper describes a process for reverse engineering relational database applications architecture into SOA architecture, where SQL statements are insulated from the applications, factored, implemented, and registered as Web services to be discovered, selected, and reused in composing e-business solutions. The process is based on two types of design patterns: schema transformation pattern and CRUD operations pattern. First, the schema transformation pattern allows an identification of the services. Then the CRUD operations pattern allows a specification of the abstract part of the identified services, namely their port types. This process is implemented as a CASE tool, which assists analysts specifying services that implement common, reusable, basic business logic and data manipulation.
Similar content being viewed by others
References
Altman, R. (2003). The challenge of Web services. Business Integration Journal, July, 59.
Arsanjani, A. (2002). Developing and integrating enterprise components and services. Communications of the ACM, 45(10), 31–34.
Arsanjani, A. (2004). Service-oriented modeling and architecture. http://www-128.ibm.com/developerworks/webservices/library/ws-soa-design1/.
Austin, D., Barbir, A., Ferris C., & Garg, S. (2002). Web Services architecture requirements. W3C Working Group Draft 14.
Baghdadi, Y. (2005). A business model for deploying Web services: A data-centric approach based on factual dependencies. Journal of Information Systems and e-Business, 3(2), 151–173.
Barry, D. K. (2003). Web services and service-oriented architecture. USA: Elsevier.
Booch, G., Rumbaugh, J., & Jacobson, I. (1999). The unified modelling language user guide. Addison Wesley.
Chen, M., Chen, A. K. N., & Shao, B. B. M. (2003). Implications and impacts of Web services to EC research and practices. Journal of Electronic Commerce Research, 4(4), 128–139.
Collins, S. R., Navathe, B., & Mark, L. (2002). XML schema mappings for heterogeneous database access. Information and Software Technology, 44(4), 251–257.
Crnkovic, I., Hnich, B., Jonsson, T., & Kiziltan, Z. (2002). Specification, implementation, and deployment of components. Communications of the ACM, 45(10), 35–40.
Curbera, F., Khalaf, R., Mukhi, N., Tai, S., & Weerawarana, S. (2003). The next step in Web services. Communications of the ACM, 46(10), 29–34.
Endrei, M., et al. (2004). Patterns: Service-oriented architecture and Web services. http://www.IBM.com/Redbooks.
Fernandez, M., Florescu, D., Kang, J., Levi, A., & Suciu, D. (1998). Catching the boat with strudel: Experience with Web site management system. SIGMOD Record, 27(2), 414–425.
Fowler, M. (2003). Enterprise application architecture: Mapping relational databases. Addison Wesley Professional.
Fremantel, P., Weerawarana, S., & Khalaf, R. (2002). Enterprise services. Communication of the ACM, 45(10), 77–82.
Gamma, et al. (1995). Design patterns: Elements of reusable object-oriented software. Reading, Massachusetts: Addison Wesley.
Huang, Y., & Chung, J. Y. (2002). A Web services-based framework for business integration solutions. Electronic Commerce Research and Applications, 2(1), 15–26.
Huhns, M. N., & Singh, M. P. (2005). Service-oriented computing: Key concepts and principles. IEEE Internet Computing, Jan/Feb, 9(1), 75–81.
Kreger, H. (2003). Fulfilling the Web services promise. Communication of the ACM, 46(6), 29–34.
Levi, K., & Arsanjani, A. (2002). Goal-driven approach to enterprise component identification and specification. Communication of the ACM, 45(10), 45–52.
Meredith, L. G., & Bjorg, S. (2003). Contracts and types. Communications of the ACM, 46(10), 41–48.
Papazoglou, M. P. (2003). Web services and business transactions. WWW: Internet and Web Information Systems, 6(1), 49–91.
Papazoglou, M. P., & Georgakopoulos, D. (2003). Service-oriented computing. Communications of the ACM, 46(10), 25–28.
Papazoglou, M. P., & Yang, J. (2002). Design methodology for Web services and business process. Proceedings of the third international workshop on technologies for E-services, 54–64.
Polo, M., Gomez, J. A., Piattini, M., & Ruiz, F. (2002). Generating three-tier applications from relational databases: A formal and practical approach. Journal of Information ad Software technology, 44, 923–941.
Premerlani, W. J., & Blaha, M. R. (1994). An approach for reverse engineering relational databases. Communications of the ACM, 37(5), 42–49.
Smith, D. (2004). Web services enable service-oriented and event-driven architectures. Business Integration Journal, May, 12–14.
Stal, M. (2002). Web services: Beyond component-based computing. Communication of the ACM, 45(10), 71–76.
Sycara, K., Paolucci, M., Ankolekar, P., & Srinivasan, N. (2003). Automated discovery, interaction and composition of semantic Web services. Journal of Web Semantics, 1(1), 27–46.
Van den Brandt, M. G. J., Klint, P., & Verhoef, C. (1997). Reverse engineering and system renovation: An annotated bibliography. ACM SIGSOFT Software Engineering Notes, 22(1), 57–68.
Zimmermann, O., Korgdahl, P., & Gee C. (2004). Elements of service-oriented analysis and design: An interdisciplinary approach for SOA projects. http://www-128.ibm.com/developerworks/webservices/library/ws-soad1/.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Baghdadi, Y. Reverse engineering relational databases to identify and specify basic Web services with respect to service oriented computing. Inf Syst Front 8, 395–410 (2006). https://doi.org/10.1007/s10796-006-9007-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10796-006-9007-2