End-User Driven Service Composition for Constructing Personalized Service Oriented Applications
Context aware service recommendation , ad-hoc process , End-User Driven Service Compostion , business process kowledge extraction , Service Oriented Computing
Service composition integrates existing services to fulfill specific tasks using a set of standards and tools. Existing service composition techniques and tools are mainly designed for SOA professionals. The business processes used in the service composition systems are primarily designed by experienced business analysts who have extensive process knowledge. Process knowledge is the information about a process, including the tasks in a process, the control flow and data flow among tasks. It is challenging for end-users without sufficient service composition skills and process knowledge to find desired services then compose services to perform their daily activities, such as planning a trip. Context-aware techniques provide a promising way to help end-users find services using the context of end-users. However, existing context-aware techniques have limited support for dynamic adapting to new context types (e.g., location, time and activity) and context values (e.g., “New York City”). To shelter end-users from the complexity of service composition, we present our techniques that assist non-IT professional end-users in service composition by dynamically composing and recommending services to meet their requirements. To acquire the desired process knowledge for service composition, we propose an approach to automatically extract process knowledge from existing commercial applications on the Web. By analyzing the context of end-users, our techniques can dynamically adapt to new context types or values and provide personalized service recommendation for end-users. Instead of requiring end-users to specify detailed steps for service composition, the end-users only need to describe their goals using a few keywords. Our approach expands the meaning of an end-user's goal using process knowledge then derives a group of tasks to help the end-user fulfill the goal. The effectiveness of our proposed techniques is demonstrated through a set of case studies.