...
A Common Approach To Application Construction and Deployment - Haleh
Let's consider business services and leave IT things such as hardware, software and networks on side for the moment. First, we need to identify the business functions and model them as service components. Secondly the relationship between business functions is described. For example, Order Processing needs to deal with Inventory and Shipment. These dependencies are captured as references and services.
Business Functions | Services Provided | Services Consumed |
Order Processing | Process Orders | Check Inventory, Collect Payment, Arrange Shipments |
Inventory | Check Inventory | Warehouse |
Payment | Collect payment | Credit Card Authorization, PayPal |
Shipment | Ship the order | Shippers such as UPS, USPS or Fedex |
Not surprisingly these concepts map directly to terms used in Tuscany SCA.
Business Functions | Components |
What business functions are provided? | Services |
What business functions are consumed? | References |
What can be customized in the business logic? | Properties |
How is the business logic implemented? | Implementation |
How are the depending services fulfilled? | Wire |
How are the components communicated? | Binding |
How are the quality of services enforced? | Intent/Policy |
- Implement the business functions using the preferred languages
- Integrate with existing business functions
The increasingly diverse integration market is influenced by technology choices, regulations, competition and expectations for responsiveness to change. Enterprises need the flexibility to adopt new business practices (like outsourcing of mortgage handling by a bank), enforce new regulations and extending or down-sizing without much cost (M & A). In addition, as the complexity of the enterprise grow, a common management paradigm becomes a necessaity for managing the business. Service Component Architecture provides a simple programming model to address these challenges. SCA's simple language maps easily to business model questions. Let's consider we are building a banking application. The following business level questions might come up and the table below shows how the questions are answered using SCA as the programing paradigm.
Business question | Banking example | SCA concept |
What business functions are need? | Define services: stock quote, account balance, etc. | Services |
How do the services relate to one another? | account balance can use stock quote service | References |
How to handle changes in business? | for example currency change | Properties |
How to handle regulations? quality of service | For example account security | Intent/policy |
What is the bank application solution? | Define the composition given the defined services | Wire |
Can we use existing investments | Define them as services | Sercice |
What are the choices for technology?
Technology Question | Choice | SCA concept |
Which implementation language to use? | Anything | Implementation |
What protocol should be used? | Anything | Binding |
The rest to be done ....One of the less obvious benefits of a service orient approach and of the Service Component Architecture in particular is the potential to shrink the gap between the business and the IT organization which supports it, or even between different parts of the same IT organization.
Using a consistent model of applications and of the components from which they are constructed provides a common terminology and supports a common understanding of applications and they way that they work together. This common model provides the hook for tooling, governance, monitoring and management in the service oriented world.
...