CSCI927 - Service-Oriented Software Engineering Week 1

Introduction to Service-Oriented Computing (SOC)

Service-Oriented Computing (SOC) is a paradigm that leverages services as fundamental components for building and deploying applications. Services in SOC are self-describing, platform-agnostic elements designed to facilitate the rapid and cost-effective creation of distributed applications.

Core Concepts

Certainly, Vatsa! Here’s how you can incorporate the concept of a Service Registry into your explanation of Service-Oriented Architecture (SOA):


Service-Oriented Architecture (SOA) is the backbone of SOC, guiding the organization of software applications into a cohesive framework. SOA provides a structured way to reorganize applications, enabling services to be composed, discovered, and consumed effectively.

  • Service Providers: Organizations that offer services. They handle the procurement, implementation, and support of these services.
  • Service Clients: Applications or users that consume services, which can be internal or external to the organization.
  • Service Registry: The Service Registry acts as a centralized directory where services are registered by service providers.

The service provider, service discovery agency, and service requestor (client) interact through three key operations: publish, find, and bind.

Key Characteristics of Services

  1. Technology Neutral: Services must be accessible through standardized technologies compatible with a broad range of IT environments. This includes adhering to common protocols and discovery mechanisms.
  2. Loosely Coupled: Services should operate independently, without requiring knowledge of each other’s internal structures.
  3. Location Transparency: Services should be defined and located in a repository (e.g., UDDI) and should be accessible regardless of their physical location.

Types of Services

  • Simple Services: Basic services that perform specific tasks.
  • Composite Services: These combine existing services to create more complex functionalities, integrating data and operations from multiple sources.

Web Services

A web service is a type of service identified by a URI and adheres to the following:

  • Internet Standards: It exposes its functionality using standard internet languages and protocols.
  • Self-Describing Interface: Based on open standards (e.g., XML), and published in network-based repositories.

Interactions: Web services typically interact through SOAP calls, using XML data. The service descriptions are defined using WSDL (Web Services Description Language), which specifies the service’s ports, types, and bindings.

Service Discovery

UDDI (Universal Description, Discovery, and Integration) is a directory service for publishing and discovering web services. It enables clients to locate services and understand their details.

Evolution of SOC

The SOC paradigm expands the software-as-a-service (SaaS) concept beyond simple applications to include complex business processes and transactions. This flexibility allows services to be reused and integrated dynamically.

Service-Oriented Architecture (SOA)

SOA restructures previously isolated software applications into an interconnected network of services. It emphasizes:

  • Interoperability: Services communicate through standard interfaces and messaging protocols.
  • Service Interaction: Clients request services, and providers deliver them. Both roles can be fulfilled by the same agent.

Designing Reliable Services

Service Specification allows for the design and integration of services without requiring knowledge of their internal implementations. This abstraction enables reliable service composition based on defined interfaces and interactions.

The Limitations of Basic SOA and the Role of Extended SOA (ESOA)

Basic Service-Oriented Architecture (SOA) often falls short in addressing broader concerns like management, service orchestration, transaction management, coordination, security, and other cross-cutting concerns that affect all components within a service architecture. To tackle these challenges, Extended SOA (ESOA) comes into play.

Machine Vision

Service Composition in ESOA

The service composition layer in ESOA plays a crucial role in consolidating multiple services into a single, cohesive composite service. This layer ensures that the necessary roles and functionalities are in place to seamlessly integrate these services.

The Role of Service Aggregators

Within ESOA, a service aggregator acts as a service provider that combines services from various other providers into a distinct, value-added offering. This aggregation not only enhances the overall service value but also simplifies access for the service requestors.

Managed Services in ESOA

To effectively manage critical applications and specific markets, ESOA introduces managed services within the service management layer, represented at the top of the ESOA pyramid. This layer is crucial for maintaining the integrity and performance of vital solutions.

Grid Services and the Service Grid Bus

ESOA’s service management layer leverages grid services to create an enabling infrastructure for systems and applications. This infrastructure, known as the service grid bus (SGB), provides a high-level abstraction and management framework. It allows services within an open marketplace to function cohesively as a unified entity and collaborate effectively with other services. The SGB addresses critical application and system management concerns, ensuring end-to-end quality of service within dynamic virtual marketplaces.

Lecture 1 Paper




Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • CSCI927 - Service-Oriented Software Engineering Week 2
  • CSCI927 - Service-Oriented Software Engineering Week 3
  • CSIT882 - Data Management Systems
  • CSCI933 - Machine Learning Algorithms and Applications
  • CSCI935 - Computer Vision Algorithms and Systems