One of the challenges of REST or SOA-enabled service integration has been its brittleness. Integrated configurations often break when changes are made to metadata associated with APIs, relates EnterpriseWeb's Jason Bloomberg.
"Whether they be Web Services, RESTful APIs, or some other type of loosely-coupled interface, every approach to software integration today suffers from the fact that interactions tend to break when API contract metadata change," Jason states in a recent post.
To that end, Jason, a long-time SOA advocate and author of The Agile Architecture Revolution, proposes something called "agent oriented architecture," in which intelligent agents address changes in APIs. (EnterpriseWeb offers such a product.) Intelligent agents can "resolve differences in interaction context between disparate software endpoints dynamically and in real time," he writes.
An intelligent agent would sit between the clients and the source of the service, essentially posing as a RESTful client itself -- even when the software client does not, Jason explains. The agent can interact with any type of resource, and "constructs a custom response based on latest and most relevant information available."
Don't confuse intelligent agents with traditional service brokers, he adds. While traditional broker "must rely on static transformation logic to resolve endpoint differences, the agent must be able to interpret metadata, as well as policies, rules, and the underlying data themselves to create real time interactions that maintain the business context – an example of dynamic coupling, a central principle to AOA."
AOA, Jason adds, helps enterprises move beyond the static API structure that currently characterizes many integration efforts. "The focus of both SOA and REST has been on building loosely-coupled interfaces: static, contracted interfaces specified by WSDL and various policy metadata when those interfaces are Web Services, or Internet Media Types and related metadata for RESTful interactions," he writes. "Neither approach deals well with change. AOA, in contrast, relies upon dynamic coupling that responds automatically to change, since the agent interprets current metadata for every interaction in real time."