Editor's Note: Our second annual ebizQ Cloud QCamp is coming up on April
7, 2010! Click here
to learn more.
SOA doesn't just change software architectures, replacing monolithic applications
with collections of ad hoc services -- it also dramatically transforms the roles
and responsibilities of developers.
Each SOA service is, in effect, a mini-product that must stand on its own as
a well-understood and useful program, intelligible not only to the local development
team, but also to software architects, data center engineers, and business analysts
in other departments and divisions. Accordingly, each SOA developer must become
coder, product manager, documentation specialist, and software architect, all
rolled into one. Neglect any of these jobs, and the SOA service might fail as
a mini-product. As with traditional software products, user frustrations and
trouble tickets will likely result.
For example, without adequate or up-to-date documentation, a SOA service might
be misconfigured or overlooked entirely. Its original "customer" or
user community-business analysts in one department, for example-might use the
service successfully, while other "customers" in other departments
find the service inscrutable or defective. If developers have trouble assuming
this broader role and taking direct responsibility for delivering complete mini-products,
the re-usability of their SOA services will be jeopardized. If the re-usability
of SOA services declines, so will the ROI of the organization's overall SOA
investment.
To maximize the ROI on SOA investments, enterprise development environments
must be tuned to each phase of the SOA development cycle and to every requirement
of an intelligible, useful SOA service. Enterprises cannot afford to let SOA
development be a siloed operation, cut off from business analysts and business
stakeholders who are the ultimate users of SOA solutions for business process
automation. Rather, SOA developers should have access to all the people and
data necessary to build, deploy, and optimize the most effective SOA components.
The SOA development environment must expand to keep up with developers' broadening
responsibilities. The development environment must connect developers to a potentially
ever-changing collection of testers, architects, and users. The development
environment must put all the domain expertise and toolsets of these various
groups right at the developer's fingertips.
-1-