International Journal of Scientific & Engineering Research, Volume 4, Issue 4, April-2013 1682
ISSN 2229-5518
Different Approaches for the Service Oriented
Software Development
Preeti Gupta Abhishek Singhal Abhay Bansal
In this paper we have reviewed various proposed methods that are capable of developing software from the consumer’s perspecti ve and able to manage the quality requirement in the application.
Index Terms— Functional, model driven, non-functional , quality, requirements, services, service Oriented Development
—————————— ——————————
In general, Service is something that provide functionality and to which user can access and can use. The functionality pro- vided can be simple or complex.
In the field of software engineering, Service oriented environ-
ment is the process of developing a software component that user access and can use the functionality provided.
Since the service provided is used by the users or customers thus it is very much essential for service oriented software to satisfy the requirement of the customer. This is the need that is to be kept in mind during the whole process of development of the service oriented software.
It is necessary for developers to keep SOA of the software.
Service oriented Architecture (SOA) is sovereign from any of certain technologies which is heterogenous, autonomous and distributed in nature [1].
SOA is not architecture about services but a relationship of
three participants and a way that provides an infrastructure for services [1]. The SOA has three components; service provid- er, service requester and service registry as described below
The function of Service providers is to build many
————————————————
Preeti Gupta, pursuing M.Tech in Computer Science & Engg. From Amity
University, India.
E-mail: guptapreeti1412@gmail.com
Abhishek Singhal, Asst. Professor Department of CSE, ASET, Amity Uni-
versity, India.
E-mail: asinghal1@amity.edu
Abhay Bansal, Professor & Head, Department of CSE, ASET, Amity Univer-
sity, India.
E-mail: abansal1@amity.edu
services and make them available in service registry.
Service registry is a network based registry which contains available services.
Service requester finds service in service registry and makes use of that service.
After this the Service Requester will make dynamic binding with service provider and will use service.
This binding is done at binding step with the help of the Ser- vice Level Agreement (SLA) between service producer and service consumer/requester.
During the service level Agreement binding step all the re- quirements, conditions and constraints regarding the applica- tion/software to be developed are considered and discussed between developers, programmer, stakeholders and custom- ers. This agreement contains all elements, constraints and states on which service requester and service providers are agreed. SLA can be considered as a contract between custom- ers and producers.
The requirements considered are of two types:
A. Functional Requirements: Requirements tells us about the aim of developing the software
IJSER © 2013
International Journal of Scientific & Engineering Research, Volume 4, Issue 4, April-2013 1683
ISSN 2229-5518
B. Non Functional Requirements: Requirements which tells us about the quality factors of the software.
The service oriented systems are used worldwide and various domains and contain variety of stakeholders. Due to this the nonfunctional requirements vary from domain to domain and stakeholders to stakeholder. This is the reason why during the development of the service oriented software the developers most of the times consider only functional requirements of the customer and ignore the non functional requirements that lead to damage.
The non functional requirements like reusability, fault toler-
ance availability, security [1] are not much purposed and managed, this lead to quality problem or say ignorance in ser- vice oriented systems.
So there is a need of including such techniques and service oriented development mechanism that focus on both the func- tional and non functional requirements of the customer and provide the consumer centric services rather than producers centric.
Thus, in this paper we have discussed about the various Pro-
posed such techniques for developing good Service Oriented
Application.
Further sections are organized as: description of first Quanti- fying method, Business driven Service-oriented Application Development method, improved methodology for SOA, and lightweight model driven method respectively.
Finally the future work and a conclusion of the discussion are provided in last section.
Quantifying method is a proposed method for developing Service oriented application and it focus on both the function- al and non functional requirements of the consumer.
The Quantifying method consists of two models; Quality Model and Evaluation Model. These two models of Quantify- ing method are explained as follows:
In quality model, all required non-functional requirements are being categorized and sub-categorized. Then these sub- categories are assigned attributes. Attributes are assigned with quality metrics. Each quality metric has certain value. The proposed quality model has following four types of values [1]:
Existence (E): It specifies availability of an attribute in a component/service/module.
Time (T): It identifies the durations.
Percentage (P): It identifies percentages.
Numeric value (NV): It is used to identify figures of the components.
During development of Quantifying method, after designing quality model a survey was conducted to find the top priority quality requirements in the service oriented applications. This model is known as evaluation model.
According to [1] the top priority quality requirements were these four requirements.
Service Time
Service Capacity
Service Availability
Service Reliability
This is the general introduction to the Quantifying Method. Now we have discussed below that how Quantifying model can be used during the Service Oriented Development.
The software development is done by producers so according to Quantifying model the Service Oriented Development has the following four Phases and the Quality Model of the Quan- tifying method is applicable to the each phase of development.
Phase 1: Service Identification
This is the phase during which required service is identified. This is either done by survey or customer feedback.
In this phase, quality model is used after identifying service
need. Potential stakeholders are identified and quality model is used to determine level of quality of needed service [1].
Phase 2: Service Design & Specification
In this phase designing and specification of the identified ser- vices is done. In this phase the integration of various compo- nents of the application is done. Since the integration of vari- ous components can affect the quality of system so, in this phase Quality Model is used to check the required quality af- ter the integration of various service modules and defining the business process.
Phase 3: Service Implementation
IJSER © 2013
International Journal of Scientific & Engineering Research, Volume 4, Issue 4, April-2013 1684
ISSN 2229-5518
After designing the application, in this phase the service is developed and placed in the service registry.
In this phase the quality model is used to test the application to satisfy and check that whether the application is meeting the specified and required quality or not.
Phase 4: Service Usage
In this phase the service is accessed and used by customer. During this phase, at specified intervals service is monitored and evaluated whether any modification and upgradation is required or not if any change is required then the cycle of four phased is repeated again.
In this phase both the models of the Quantifying method are used. The quality model is used to check the working of ser- vice and evaluation method is used to check satisfaction level of Service Level Agreement (SLA).
This was the brief description of the Quantifying Model pro- posed for better quantification of the non functional require- ments. For further study you can refer to the [1].
BSAD is a method proposed to develop an application that provides services according to the business requirements. This is a new approach for service oriented development of the enterprises and business application.
This method was proposed to overcome the problems and drawbacks of the existing system. The major problem with existing systems is lack of mechanisms for bridging build time business models and runtime application components [2].
The development of business application mainly contains two steps: transformation methods for design stage and sup- ported software architecture for execution stage. However, there is lots of semantic information lost when business mod- els are transformed into service components, and platform of effective service transformation and execution driven by busi- ness model does not work effectively [2].
In order to overcome this shortcoming of existing technolo-
gies, a methodology called BSAD (Business driven Service
Oriented Application Development) was proposed.
This proposed method is discussed below in brief.
The proposed method BSAD consists of five phases. The objec- tive of first three phases of this technique is to provide a com- plete solution to the problem of business modeling and trans- formation. The last two aim for implementing the features identified by the first three phases. Means the first three phas- es focus towards identifying the requirements and last two phases focus towards the development of the enterprise appli-
cation. These five phases are discussed below in brief. Phase 1: Business Modeling
In the first phase the entities involved in the business applica- tion are identified and documented. The task performed by these entities is also identified. The purpose of this phase is to discover the tasks involved, actors performing these tasks and roles of these actors. The identified data is documented using the various models like entity models, functional models etc.
Phase 2: Service Transformation
After identifying the entities on the basis of the resources the services are generated in this phase. The services generated are of two types; SOAP services and RESTful Services [2].
Phase 3: Business Process Design
After identifying the entities involved and required services, in the third phase all business process is developed.. Business process is the flow of the services it is the relationship between the actors, tasks and data. For the detailed study of business process design phase you can refer to [2].
Phase 4: Process Mapping
From this phase the development of the application starts, in this phase the mapping from the process model to resource instant is done, it helps the user to identify the data structure of the specific task. It also helps in identifying both significant roles as well as important sources of data aiming to help the user’s task.
Phase 5: System Implementation
In this phase the real and running application is being con- structed. In order to do this a data connection and UI to the users are provided.
This was the brief discussion of the BSAD method. For the detailed study of each phase of BSAD you can refer to the [2].
In [3] four researchers from three different universities pro- posed this technique. They proposed a methodology which consists of 10 phases and overcomes the weak points of the previous methodologies. This method divides the 10 phases
into 5-5 pair where the primer explains the architectural logi-
IJSER © 2013
International Journal of Scientific & Engineering Research, Volume 4, Issue 4, April-2013 1685
ISSN 2229-5518
cal design and the later 5 phases gives a way of physical plan of implementation.
These phases are explained as follows:
Phase 1: Requirements engineering and analysis
In this phase the requirements are gathered managed and ana- lyzed. During analysis phase the system examines the present services and tries to find out that which methods are needed to be introduced to the present system and what kind of modi- fications are needed in it.
Figure1. Improved Methodology [3]
Phase II: Planning and Project Management
This phase helps to manage the present system and perform the pre planning and make a planned base for the phases fol- lowing this phase. This pre-planning include activities like
finding the stages in the project and the subsystems in the sys- tem and much more.
Phase III: Reuse Management
As the SOA solutions are hybrid and contains various solu- tions, the reusability is very useful as the modules can be used in other projects.
Phase IV: Services Identification
In this phase the business environment is understood and it is checked that all the necessary controls are present in solution or not. Services and its subservices are also been found out in this phase.
Phase V: Service Definition
All the services that are stated in the previous phases are de- fined in this phase including with the definition of the quanti- tative and qualitative requirements. It also gives the service policy for the advertisement of the support protocols.
Phase VI: Service Aggregation
In this phase, all the services that are present in all the phases with variable granularity are aggregated. To perform this, var- ious tasks are performed like service classification, service composition and decomposition, etc. [3].
Phase VII: Service modeling
In this phase the conceptual models and techniques are trans- formed into interfaces. The service design depends on how well the interface is defined in the documents. Some of the special characteristics of service design is defined in [3].
Phase VIII: Implementation
The Implementation is done based on the information in the former phases and the team is first divided into sub-teams. The service requestors are also taken in consideration in this phase
Phase IX: Test
This phase ensures that the system has fulfilled all the re- quirements and the product to be delivered is meeting the standards mentioned in the previous phases. This phase could
also ask some questions to ensure that these requirements are
IJSER © 2013
International Journal of Scientific & Engineering Research, Volume 4, Issue 4, April-2013 1686
ISSN 2229-5518
met.
Phase X: Deploy and support
In this final phase the process is given to all the participants. The deliverable also includes enterprisers, all the other pro- cesses and the applications.
In [4] researchers proposed a method for SOA using the assets that are available with us. Their method consists of four phases which are explained as follows:
Phase I: Business Process Modeling
In this phase they use UML to describe the business process as it is as it was represented before SOA was used or introduced.
Phase II: Placement
This phase decides that the SOA system will perform which part of the business process. This phase uses swim lane and sub process that has to be actualized by the SOA system will be hold inside the swim lane [4]
Phase III: High level Design
This phase provide a high level design of the SOA system to build, providing a description of the activities carried out by the system itself. This phase provide no detail about SOA system’s ineer structure
Phase IV: Detailed Design
This is the last phase that gives the full detailed knowledge de- sign of the SOA system. It also provides GUI and some extra services that help it to interact with the human users and the external systems.
In this paper we have discussed the various techniques for de- veloping the service oriented application that focus on both the functional and non functional requirements of the consumers and application requesters. All the discussed methods have their own field of use. In the future work we will make the use of these techniques and will make some results out of that. The use of these techniques in real scenario is a big research oriented
work so in future we will focus on the implementation of these
techniques.
[1] Hongming Cai, Fenglin Bu and Lihong Jiang “A busines-driven methodolo- gy for service-oriented information system development”. pp. 292-299. In Proceeding of Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), Shanghai. 26th International IEEE, 2012.
[2] Marzieh Emadi, Reza Asgari Moghadam, Mohamad Davarpanah Jazi and
Faranak Bahredar, “An Improved methodology for Service Oriented Archi- tecture”. pp. 350-354. International Conference of Computer Science and Au- tomation Engineering (CSAE), Zhangjiajie, China. IEEE, 2012.
10.1109/CSAE.2012.6272790
[3] Maurizio Leotta, Gianna Reggio, Filippo Ricca and Egidio Astesiano, “To- wards a Lightweight Model Driven Method for Developing SOA Systems Using Existing Assets”. pp. 51-60. In proceeding of 2012 14th IEEE Interna- tional Symposium on Web Systems Evolution (WSE), Trento, Italy. IEEE,
2012.
[4] Youcef Baghdadi, “A framework to select an approach for web services and SOA development”. pp. 277-282. IEEE 2012 International Conference on In- novations in Information Technology (IIT), Abu Dhabi.
10.1109/INNOVATIONS.2012.6207747.
[5] Wangping Xiong, Xianbo Xiao , Ji -cheng Shu and XianZhou, “Research on Service Oriented Architecture- based data mining system”. pp. 844-846. In proceeding of 2012 International Conference of Computer Science and In- formation Processing (CSIP). IEEE, 10.1109/CSIP.2012.6308985.
[6] Hendrik Moens, Eddy Truyen, Stefan Walraven, Wouter Joosen, Bart Dhoedt and Filip De Turck “Developing and Managing Customizable Software as a Service Using Feature Model Conversion”. In proceeding of Network Oper- ations and Management Symposium (NOMS). pp. 1295-1302. IEEE, 2012.
[7] Jawaria Sadiq, Athar Mohsin and Fahim Arif “Quantifying Non-functional Requirements in Service Oriented Development” pp. 224-229. In proceeding of Frontiers of Information Technology (FIT), Islamabad. IEEE 2011,
10.1109/FIT.2011.48.
[8] Wagner Arnaut, Kathia Oliveira and fernanda Lima “OWL-SOA: A Service Oriented Architecture Ontology Useful during Development Time and Inde- pendent from Implementation Technology”. pp. 523-532. Fourth International Conference of Research Challenges in Information Science (RCIS), Nice, France. IEEE 2010.
[9] Mahdi Fahmideh, Mohsen Sharifi, Pooyan Jamshidi, Fereidoon Shams, and Hassan Haghighi,”Process Patterns for Service-Oriented Software Develop- ment”. pp. 1-9. 2011 Fifth International Conference Research Challenges in In- formation Science (RCIS), Gosier.2011
[10] Mardiana, Keijiro Araki and Yoichi Omori “MDA and SOA Approach to
Development of Web Application Interface”. pp. 226-231. In proceeding of
2011 Conference TENCON. IEEE, 2011.
[11] Fazziki, A.E., Lakhrissi, H., Yetognon, K. and Sadgal, M, “A Service
Oriented Information System: A Model Driven Approach”, pp. 466-
473, In proceeding of 2012 Eighth International Conference in Naples, Signal Image Technology and Internet Based Systems (SITIS)., doi:
10.1109/SITIS.2012.75.
IJSER © 2013