1
13kviews
Service oriented software engineering.
1 Answer
2
406views

Service-oriented Software Engineering (SOSE):

  • Service-oriented software engineering (SOSE) is a software engineering paradigm that aims to support the development of rapid, low-cost and easy composition of distributed applications even in heterogeneous environments. It utilizes services as fundamental elements for developing applications and solutions.
  • Important areas of research within SOSE include service foundations, service composition, service management and monitoring and service-oriented engineering. Service foundations provide service oriented communication technologies to support run time service-oriented infrastructure and connect heterogeneous systems and applications. These communication technologies provide the communication mechanisms between service providers and service requesters; they differ with respect to service description techniques and messaging functions.
  • Service composition encompasses necessary roles and functionality to support service composition.The dynamic composition feature in SOSE makes QoS a major challenge. Different initiatives have emerged such as orchestration and choreography.
  • Service management encompasses the control and monitoring of SOA-based applications throughout life cycle.
  • A key element in SOSE is the service-oriented interaction pattern, i.e. service-oriented architecture (SOA), which enables a collection of services to communicate with each other. SOA is a way of designing a software system to provide services to applications or other services through published and discoverable interfaces.
  • The basic elements of service-oriented architecture are illustrated in Figure 1.

    enter image description here

  • As shown in Figure 1, SOA has three main actors: a service provider, a service requester and a service registry.

  • The service provider defines service descriptions of a collection of services, supplies services with functionalities and publishes the descriptions of the services so as to make the services discoverable.
  • The service registry contains service descriptions and references to service providers and provides mechanisms for service publishing and discovery, e.g. Universal Description, Discovery and Integration (UDDI).
  • The service requester is a client that calls a service provider. It can be an end-user application or other services. A service requester searches in the service registry for a specific service via the service interface description. When the service interfaces match with the criteria of the service requester, the service requester will use the service description and make a dynamic binding with the service provider, invoke the service and interact directly with the service.
  • In SOSE, services are the building blocks that can be reused and offer particular functionalities. They are generally implemented as coarse-grained discoverable software entities, operating on larger data sets,encapsulating business functionality and exposing the functionality to any source that requests the functionality through well-defined interfaces.
  • Thus, the services can be reused and accessed at various levels of the enterprise application and even across enterprises boundaries.
  • SOSE enables only loose coupling, with minimized dependencies between service providers and service requesters. The service providers need not to know anything about the service requesters or any other services. They have great flexibility in choosing their design and deployment environment to offer their services.
Please log in to add an answer.