Chapter 9. Data representation and transformation
This chapter covers
- Describing and representing data in various ways
- Explaining requirements for data representations
- Transforming data without application coding
Handling of data in a service-oriented environment can be challenging. Data has to travel over the network between service providers and consumers, and this data exchange may be implemented using different technologies. In this chapter we’ll explain how data can be represented, where data transformation is needed, and how Tuscany handles this in order to preserve the flexibility of SCA-enabled applications.
We’ll use the credit card payment example from the TuscanySCATours scenario to demonstrate how collaborating business services deal with data exchange. The example can be found in the code at the following locations:
- contributions/payment-java
- contributions/creditcard-payment-sdo
- contributions/databinding-client
- launchers/databinding
As illustrated in figure 9.1, there are two related business components: Payment and CreditCardPayment. In this case, the Payment component takes credit card information submitted directly by the customer over the internet. When payment is made via a credit card, the Payment component talks to the CreditCardPayment component to authorize the charge. Two developers, Bob and Mary, are responsible for getting these two components to work together. Bob is going to implement the Payment service while Mary develops the CreditCardPayment service.