Using SOA to Extend Beyond Your Four Walls, Part 1

Within service delivery circles, Service Oriented Architecture (SOA) has moved from buzzword to staple over the past 5 years.  The ideas of loosely coupled services that hang together instead of a bespoke monolithic application has changed the software landscape.  Decoupling sources and consumers of data provides flexibility and scalability in application and infrastructure design.  The hype may have moved on, but what's left behind is a solid, practicable architecture. Asynchronous, message based interfaces extend the time and space divide further.  Reusable components increase the speed of delivery and creation of new services.  Diverging application resources drag diverging data sources along the path.  Accessing unrelated data sources from a SOA based environment requires some unifying view, be it a consolidated hub that replicates data from different sources or a data federation service that manages abstract aggregation logic.  Monolithic siloed applications can be leveraged while being decomposed into component functional service areas. While the focus stays on scalability and flexibility with SOA, these tenets foster mutability.  Components can be re-factored, replaced or relocated with much less effort than previously possible.  Interfaces can be delivered to partners and external resources can be leveraged within a service design.  Federated identity management across organizations is a prime example of this practice.  Services can be extended outside the traditional 'four walls' to other sites or partner agencies in a controlled yet decoupled manner. Agency information sharing, data mashups, partner accessible enterprise bus systems, business rules workflow processing.  All of these service offerings focus on sharing data with multiple consumers.  Each consumer may do something completely different to transform that data.  Keeping the focus on making data available for use, functional transform services can subscribe to the information they need and make their results available to other services to consume. This ultimate flexibility of SOA is the also key to expanding services onto cloud resources while maintaining service integrity and delivery goals.  Indeed, as a leading SOA framework provider, JBoss' Platform as a Service strategy centers on portability and interoperability with the cloud and typical on-premise resources.  The same techniques that enable inter-agency services can be used to migrate service components to cloud based resources.