Amazon.com Widgets

CFObjective: Day 3 - SOA with ColdSpring and Trans

Sean Corfield

Service-Oriented Architecture - Expose common business entities and operations to multiple clients across the enterprise.
Adobe Hosted Services "Stanza" project

These concepts might be quite useful for our "bird" project.

SOA

  • Data Dictionary - Everyone needs to agree what a "customer" is.
  • Service Directory - You need to be able to find your services.
  • SaaS - Software as a Service - Any form of offering that is typically a desktop app, now on the web.
    • 20% growth in SaaS as opposed to 6% for normal desktop software
    • Often exposes an API for 3rd party apps
  • SOA
    • A way to structure and build systems that naturally exposes those APIs
    • Building blocks for your software
    • Building blocks for 3rd party software
    • Like regular apps, but with a few layers
      • Sounds like MVC apps
      • Different because the System layer calls out to remote services perhaps on different servers
CF is a great choice for SOA - as producer and consumer of services
Web Services
  • SOAP
  • REST
  • JSON (native in CF8)
Flex and Flash Remoting

How is SOA different?
  • Client-Server by definition
  • Clients are varied and can be dumb - don't need to know about your services
  • Auth and sessions
    • Remote clients have no sense of session
    • Can't use session/client scope
      • Turn off session scope to save memory
    • app and server scopes are okay
    • Solution is to pass tokens around
      • Store tokens in DB
      • Schedule task to clean old tokens
  • Data Formats
    • Simple XML is probably best
    • JSON
  • Published API definitions
  • Error Handling
I will gladly admit that the rest of this presentation went rocketing over my head.  I think it actually made it into orbit.

 

Comments

Raymond Camden's BlogCFC version 5.8.001