Monday, 29 April 2013

SOA Patterns


Example SOA Patterns

          Basic principle:
        n separate processes better than one
          Communication:
        asynchronous query
        command facade
          Data integration:
        VETO: Validation, Enrich, Transform, Operate
        2 step XRef
        Forward Cache
        Federated query
1. Asynchronous Query Pattern
          Problem: long execution times for queries
        due to Internet
        due to distributed systems
          Solution:
        de-couple request/response
        use caching of results
2. The VETO Pattern
          Problem: invoking a service usually involves:
        Extract data, modify, convert format, validate
          Solution:  Separate actions into a 4-action pipeline
          Actions
        Validate (the XML document)
          Simplifies data validation for subsequent steps
        Enrich
          Adding value to the data
        Transform
          To a target format
        Operate
          Interacts with the target service
          Variation:
        VET(R)O, where R = Route 


3. The 2 Step XRef Pattern
          Problem: Integration may involve
        Content transformation
        Structure transformation
          Content-level transformation between source and target can be achieved:
        By single, complex process
        By two separate processes
          One to transform to an abstracted form of target
          Second to transform to the specific target

4.  Federated Query Patterns
          Federated query
        Multiple queries on different data sources
          Cache pushing may not be appropriate:
        If data changes regularly
        If out-of-date data is acceptable
          E.g., newsfeeds cached once an hour
          Queries may take variable amounts of time
          Example patterns:
        Cache pull (federated query) pattern
        Long duration request (federated query) pattern 

1 comment: