Towards of Service-Oriented Design Architecture Guide Hamid Mcheick
Youcef Baghdadi
NaoufelKraiem
Université du Québec à Chicoutimi 555 Boulevard Université, G7H2B1, Québec, Canada Telephone 001 418-545-5011
Sultan Qaboos University PO Box 36 - PC 123 Muscat, Oman 00 968 24141492
Sultan Qaboos University PO Box 36 – PC 123 Muscat, Oman 00 968 24 14 22 20
[email protected]
[email protected]
[email protected]
ABSTRACT This works proposes a method for developing Service-as-a Software (SaaS) in high level design based on functional requirements and quality attributes. The method is guided by a framework.
5. Inspection of solution quality attributes and design decisions. Indeed, quality attributes can drive and determine the architecture design (Bass, et al., 2003). Next, it questions: Q1]
to what extent a solution provided by a method would conform to SO and SOA, particularly, how to examine the design decisions based on quality attributes?
Q2]
to what extent a method aligns solutions with problems?
Categories and Subject Descriptors General Terms Design Service, SaaS, Framework, Development Method.
Then, a framework is conceived to: (i) answer these two questions, (ii) define the peculiarities of SOSE methods, and (iii) guide a new method; we refer to as SOA method.
1. INTRODUCTION
2. FRAMEWORK
Keywords
Developing SOA-complaint solutions requires a new engineering approach that encompasses three perspectives: (P1) service, (P2) composition, and (P3) management [10]. This new service-oriented engineering approach, we refer to as Service-Oriented Software Engineering (SOSE), would certainly sketch out a method, including processes, models, languages, formalisms, tools, notations, and patterns that embodies the three perspectives. As software community has facing challenges in this area. A number of methods for SaaS from both academia and industry have been developed and compared [1],[2], [4], [7], [8]. This results in two main findings:
The framework aims at sketching out the elements of a SOSE method in order to guide a SOSE method for developing services that comply with SO and SOA. The framework consists of a set of sound perspectives a developer of a method for SaaS needs to consider[3]. A careful method and design decisions is important to ensure that a SOA solution can attain the benefits advertised by its proponents. The existing types of methods lack some critical perspectives. Indeed,
Business goals and requirements should always drive downstream design, development, and testing. The requirements should be from users rather than design and coding [6].
Though the activities such as build, deploy, and run do exist, a process model that is probe to SOA development is lacking. The existing process models are no longer valid for SaaS and SOA development. Indeed, SOA is mostly about composition of loosely coupled, interoperable, existing logic, and rarely about creation of new logic.
None of the types of approaches provides a framework for inspecting a solution; neither have they considered the quality attributes of a solution.
F1. Each of the existing method has considered limited perspectives of SOSE [7] F2. Traditional top-down and bottom-up approaches need to be extended to green-field and meet-in-the-middle [6], specifically to deal with legacy applications First, this work considers the following set of sound perspectives as a kind of framework that guides development methods for SaaS: 1. SO design principles 2. SOA principles and drivers 3. Business/IT alignment that considers different levels of abstraction and refinement, namely business and technology building blocks, we refer to as Business-Oriented Building Blocks (BOBs) and Technology-Oriented Building Blocks (TOBs) respectively to systematically move from requirements to solution. 4. Software engineering challenges, process models, and CASE tool supporting both phases of service development and composition
3. SOA METHOD SOA-based system consists mainly of all kinds of service (business service and system service). In the system, applications are constructed by managing and composing services which not only include business services but also system services in order to satisfy the both functionalities and quality attributes. According to this objective, we develop a SOA Method for this high-level design. The method can be described as a recursive process and is based on attribute-Driven Design ADD method [5], [9]. The functional requirements and quality attributes constitute the
SOAMethodinput; whereas its output is architecture view about services shown in Figure 1. The view shows how many services and what kind of services are needed. In addition, the relationships among the services are defined in the view.
Service 1
Functional requirements
Service 2
SOADM
Quality attributes Service 3
Figure 1.Service-oriented architecture design method The steps of the process of SOAMethod are described below: Step
1:
Collect the requirements including functional requirements and quality attributes that system should satisfy (the collection is made by a specification of the whole system)
Step 2: Choose a requirement from the collection; and delete it from the requirement collection Step 3: If the chosen requirement belongs to functional requirement then go to step 4, else skip to step 5 Step 4: Add a business service in the architecture view for satisfying the functional requirement; Then jump to step 6 Step 5: Find a design decision for the quality requirement, and add proper system services to the view. Step 6: Verify the architecture view and check if the services in the view need to make composition or decomposition. And then, if it has new requirements, add the requirements to the requirement collection. Step 7: If the requirement collection is not empty, then go to step 2, else complete the process SOADMethod provides architects with a new approach to analyzing and designing a SOA-based system for satisfying both the functionalities and quality attributes in high level design before diving into the implementation of services. In particular, our design method is based on the quality attributes. Thus, it enables the entire SOA system to achieve high quality.
4. CONLUSION This work has first compared four types of service development methods within a framework that consists of a set of critical elements that any SOA-based system development method should consider in order to provide a solution that conforms to service orientation. The framework has showed that the existing types of methods lack some critical perspectives. A process model that is probe to SOA development is lacking. Moreover, none of the types of methods consider different views of a solution, neither have they provided a framework for inspecting a solution by assessing the quality attributes of a solution. This work has discussed the issues of quality attributes and design decision in SOA-based system. We mainly concentrate on the
problems: how to analyze the design decisions based on quality attributes and how design decisions impact on the service in SOAbased system. In order to resolve the problems we developed a method to design of SOA-based system for achieving both functionalities and quality attributes in high level design. The design approach can provide architects with high level view about desired services that will be designed and implemented in detailed design. At last, the paper presents a case study about a simple online bookstore by using our design approach. After adopting the recursive process, we get a clear service view for fulfilling the functional and quality requirements. In our future work, we are going to improve our design approach and apply it to a complicated SOA-based system for evaluating our research. In addition, this work would be further developed in exploring and extending the aforementioned open issues towards a service science that considers the service as a reusable value in order to provide a comprehensive methodology for developing business or technology solutions as service systems with respect to service orientation and SOA.
REFERENCES [1] Al Rawahi, N. and Baghdadi, Y. 2005. Approaches to Identify and Develop Web Services as Instance of SOA Architecture. In Proc. the IEEE-ICSSSM05, Vol. 1(1): pp. 579-584, Beijing, China, June 13-16, 2005. [2] Arsanjani, A., Ghosh, S., Allam, A., Abdollah, T., Gariapathy, S., and Holley, K. 2008. SOMA: a method for developing service-oriented solutions’ IBM Systems Journal, 47(3), pp.377–396. [3] Baghdadi, Y. 2013. A comparison framework for serviceoriented software engineering approaches: issues and solutions, Int. Journal of Web Information Systems, In Press [4] Baghdadi, Y. 2012. A Methodology for Web services-based SOA realization. Int. Journal of Business Information Systems, 10(3), pp. 264-297. [5] Bass, L., Clements, P and Kazman, R. 2003. Software Architecture in Practice, Second Edition, Addison-Wesley. [6] Chen, H. and KeqingH. 2010. A Method for service-Oriented Personalized Requirements Analysis’, Journal of Software Engineering and Applications, 1(1), pp. 59-68. [7] Gu, Q. and Lago, P. 2011. Guiding the selection of softwareoriented software engineering methodologies. ServiceOriented Computing and Applications, 5(4), pp. 203-223 [8] Kohlborn, T., Korthaus, A., Chan, T. and Rosemann, M.2009. Identification and analysis of business and software services—a consolidated approach. IEEE Transactions on Services Computing, 2(1), pp. 50–64 [9] O'Brien, L. Merson, P and Bass, P. 2007. Quality Attributes for Service-Oriented Architectures.In Proc. of SDSOA '07 Proceedings of the International Workshop on Systems Development in SOA Environments, IEEE Computer Society. [10] Papazoglou,M.P., Andrikopoulos, V. and Benbernou, B. 2011. Managing Evolving Services.IEEE Software 28(3), pp. 49-55