Service-oriented paradigm presents numerous new software development patterns and idioms. Software systems are implemented by composing existing third-party services deployed in the open environment, which is significantly different from traditional software development methodologies in which systems are built through developing modules after system design in a closed environment. Therefore, it is urgent to raise a new design method to adapt to this new circumstance. We concentrate on reusing as many deployed services as possible then introduce a new life cycle model named Taiji model to illustrate this development process. The iteration-based interactive analysis method following the model is proposed to design serviceoriented systems based on the view of extracting non-creative activities from a creative activity through defining new notations or applying new rules. The method includes the interactive analysis process that analyzes requirements with deployed services in a local point of view and the iterative analysis process that redesigns system with new knowledge in a global perspective. Meanwhile, the reusable service threshold value is defined to build the uncertain candidate service set (UCSS) of each module in analysis process. The reliability and flexibility of systems can be improved through the quantitative static structure analysis on the basis of the UCSS of systems. Meanwhile, a practical dynamic service binding method that selects services according to actual states of invoking them is presented on the basis of the UCSS containing them. Finally, we also give a case study to illustrate the feasibility of this method.
AN ITERATION-BASED INTERACTIVE ANALYSIS AND DESIGN METHOD 301Service-oriented computing depicts a vision that utilizes simple small-scale services as fundamental elements to construct applications that are complex large-scale services through orchestrating the simple services [2]. A loosely coupled architecture, consisted of three roles who are provider, consumer, and register, is promoted in service-oriented architecture for this scenario. The provider offers services that enable the requirement of users who can be everyone and are uncertain under the guideline of their individual experiences, domain knowledge, existing services, and specific needs. The consumer automatically requests services that are deployed on widely distributed clouds and are unknown to the consumer to satisfy the demand of functionalities, properties, personality characteristics, and runtime context then delivers new services to server the end users, other consumers, or providers. The register is designated as a mediator between the provider and the consumer, which builds knowledge to eliminate uncertainty, unknown, and randomness between them, and to construct highly dynamic, adaptable, and fault tolerance service-oriented systems through orchestrating services.Nevertheless, traditional software development models, such as waterfall model, rapid prototype model, and spiral model, are carried out in a strict ord...