This year's hot IT buzz is centered on a new concept: service-oriented architecture . An SOA is a business process-driven application integration architecture in which all functions, activities and actions are defined as services and use standards-based interfaces. In an SOA, all services are independent. Service requests/responses or actions/reactions are locality-independent.
Interfaces are platform-independent. An application on any infrastructure component or device, using any operating system in any language, can use a service. The interface defines the required parameters and the result. It also defines the attributes of the service but not the underlying technology used to implement it.
Management within an SOA is comprehensive, requiring implementation of six components: policy, security, workload/workflow deployment, monitoring/logging, dynamic provisioning and maintenance. These requirements alone dictate a rethinking of how networking will be accomplished within an SOA. In addition, an SOA relies on five technology concepts that will require network re-engineering:
• Dynamic service discovery. This concept facilitates incremental scalability of services, decouples service requestors from service providers, provides for dynamic updates of services, facilitates the search for services by requestors, and allows dynamic selection of a service provider vs. fixed allocation of a provider to a requestor. Minimization of network latency and the proper provisioning of QoS become critical issues for successful network operation within an SOA.
• Web services for application/services communication. Web services are built on platform-independent protocols such as Session Initiation Protocol; HTTP; XML; Universal Discovery, Description and Integration; Web Services Description Language; and Simple Object Access Protocol. These protocols deliver dynamic discovery and access, interface independence and interoperability to SOA. To optimize these new features within an SOA network requires implementing XML-based routing, acceleration and security networking components that might not exist in the current network architecture.
• Virtualization. Application, services and infrastructure resource locality independence require virtualization technology for all applications, servers, storage and networks within the SOA. To implement virtualization properly, the network also must be upgraded to contain the proper caching devices to facilitate optimal throughput for each services request/response.
• Meta-directories for dynamic discovery of a data, services, application or infrastructure resource. The meta-directory concept enables access independence of directory platform, structure or location by any requestor to any services, application or resource based upon desired search criteria. Again, minimization of network latency and the proper provisioning of QoS become critical issues for successful network operation within an SOA.
• Services bus. This is a virtual software-based publish/subscribe event bus that is logically partitioned to allow multiple uses. The bus is the logical communications highway for XML-based messaging for all services requestors and providers; services, application and resource dynamic discovery; meta-directory search; transaction transport; workflow scheduling and management. The amount of administrative traffic across the bus within an SOA is significant. The obvious need for higher throughput and faster speed transport requires a rethinking of network utilization, topology and capacity.