Article Preview
Top1. Introduction
One of the major challenges facing businesses today is the need to respond quickly and efficiently in this global marketplace. To support flexible business collaboration, modern distributed applications are becoming component based and the concept of a service is becoming crucial. Recent years have witnessed a paradigm shift in distributed computing from middleware-oriented architectures (Baresi et al., 2003) and legacy systems (Li et al., 2007) to Web Services and Service Oriented Architectures (SOA) (Bouguettaya et al., 2006; Chen et al., 2006; Kim et al., 2007).
SOA provides fast, effective, inexpensive business process integration (Dan et al., 2007; Zimmerman et al., 2004), asset reuse and improved business agility (Anand et al., 2005; Chen & Huang, 2006; Gold et al., 2004; Malloy et al., 2006). SOA can be considered an architectural framework that supports integrating business tasks as linked services that can be accessed when needed (Chen & Huang, 2006). In an ideal SOA world, everything (Imen et al., 2007), including information (Dan et al., 2007), would be a service and all components and services would be loosely coupled, making SOA highly dynamic and flexible. All functions would be services (Chen & Huang, 2006), and services would be the building blocks of systems. Services would have well-defined interfaces allowing consumers to know how to interact with them without having knowledge of the underlying platform (Erl, 2005). Services could be grouped together to form complex integrated processes and applications. Additions or modifications to the applications would be by adding/modifying services, independent of the application. Services could be added or removed dynamically at runtime (Baresi et al., 2003; Cotroneo et al., 2004). SOA will provide the basis for the next generation of distributed software systems (Mukhi et al., 2004).
SOA has three parts: service providers, service requestors and service registry (Baresi et al., 2003; Champion et al., 2002; Mukhi et al., 2004; Nielsen et al., 2006). Service providers are the owners that offer a service. They provide machine readable descriptions of their services and publish them in a publicly available registry (Baresi et al., 2003; Champion et al., 2002; Mukhi et al., 2004), which the service requestors can access when looking for services. Services and components interact by exchanging messages. And, one of the most important components of any service is the data.
SOA inherently deals with different kinds of data from heterogeneous data sources. One of the major challenges facing SOA in the last few years has been the need for an efficient data integration mechanism (Chen et al., 2006; Chen & Huang, 2006; Mukhi, 2004; Zhang et al., 2004) to efficiently handle data. Data relevant to today’s enterprise applications lives in a variety of information sources – relational databases, packaged applications and various home grown applications, and external Web Services (Borkar et al., 2006; Carey et al., 2003). In this paper our aim is to look at how data can be handled in the SOA environment with respect to service data objects (SDOs).