Modular Service Interfaces for Scalable Procurement Architecture
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large and complex enterprise software systems require a scalable and cost-effective software architecture for self-service procurement that can handle multiple components and interactions across different hardware platforms and geographical locations, while existing solutions often struggle with efficient reuse and deployment of process components.
Innovation Solution
A software architecture design for self-service procurement that utilizes multiple process components interacting through service interfaces, allowing for scalable deployment across separate computer hardware platforms, with each component performing specific operations such as accounting, purchase order processing, and supplier invoicing, and interacting with external systems through service operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If enterprise software systems are structured as large and complex monolithic systems, then they can handle multiple components and interactions, but they become difficult to deploy and scale across different hardware platforms and geographical locations
Solution Approach 1:
The software system is divided into independent process components that can be deployed separately across different hardware platforms. Each process component represents a modular unit of functionality that can be developed, deployed, and scaled independently, resolving the contradiction between handling complex interactions and maintaining deployment flexibility.
Solution Approach 2:
Process components are designed with standardized service interfaces that enable them to interact with multiple other components and external systems. This universal interface design allows the same component to function across different platforms and geographical locations, enhancing adaptability while maintaining manageable complexity.
2Ease of manufacture
If process components are reused across multiple deployment units, then software implementation becomes more cost-effective, but component interactions become more complex to manage
Solution Approach 1:
Service interfaces act as intermediaries between process components, providing standardized communication protocols and data exchange formats. This mediation layer simplifies component interactions by abstracting away the complexity of direct component-to-component communication, enabling cost-effective reuse without proportionally increasing interaction complexity.
3Adaptability or versatility
If the system is designed for scalable deployment across separate hardware platforms, then it can serve multiple geographical locations, but coordination between deployment units becomes more difficult
Solution Approach 1:
The system employs dynamic service interface definitions that allow deployment units to be added, removed, or modified without reconfiguring the entire system. Process components can dynamically discover and interact with other components through standardized interfaces, enabling scalable deployment while maintaining ease of coordination through adaptive rather than rigid connection management.
Data Source
AI summary
Methods, systems, and apparatus, including computer program products, for implementing a software architecture design for a software application implementing self-service procurement used to procure goods and services “ad hoc” by requests from within an organization. The application is structured as multiple process components interacting with each other through service interfaces, and multiple service interface operations, each being implemented for a respective process component. The process components include an Accounting process component, an Internal Request Processing process component, a Purchase Request Processing process component, a Purchase Order Processing process component, a Goods and Service Acknowledgement process component, a Supplier Invoice Processing process component, a Payment Processing process component, an RFQ Processing process component, and a Due Item Processing process component.


