Java Reference
In-Depth Information
Consider the target consumers for your initial service. You mitigate your risk by choosing
something that is internal to your business, rather than customer-facing. This gives you time
to build out a little infrastructure before the external world gets involved, introducing new and
unanticipated issues. Internally consumed services will help you focus on implementing your
first services properly, and shield you, for a time, from more advanced and complex issues
such as federated security. Internal services may also represent an opportunity to gauge traffic
with greater confidence.
Would the project make a good service?
This may be obvious; consider whether the functionality really satisfies the criteria high-
lighted in Defining a Service . Be careful to not have external forces choose a pilot for you if
the proposed project wouldn't actually make a good service. This happens—SOA teams get
formed, and then the boss insists that the pilot must be whatever the next thing on the project
list is, regardless of whether it is actually a useful service candidate. Writing services initially
adds considerable complexity and expense to a project in the hopes that the benefits will out-
weigh such costs in the long run. If the service will never be reused or never be invoked from
another platform, you might not have a very good service candidate on your hands, which
means you might not realize much ROI.
Make sure that the service you choose will give you an opportunity to explore the full devel-
opment life cycle. If you plan on utilizing a “start from schema” approach, for example, you
want to address this head-on in your pilot, as it precipitates work surrounding the custodian-
ship of the schemas, modifies the build process, and so forth.
It might be an overarching SOA goal of your organization to move your work in an architec-
turally neutral direction. This can be the case in companies with decades of legacy data tied to
a specific platform. Finding a data service that wraps some central entity representations can
help reduce ETL (Extract, Transform, Load) or data movement operations.
Do the team members have a good understanding of the problem
domain?
If you have subject matter experts for the given problem domain available, you can mitigate
considerable risk. Introducing new systems, new software, new processes, and new problem
domains at the same time that you introduce services and SOA creates a dangerous concoc-
tion. If you are working with vendors or consultants, make sure they have a background in the
vertical business area you're addressing (financial, retail, etc.).
Is the project useful but not mission critical?
While it is important to realize business value early in establishing an SOA, be careful not to
bite off too much in the initial stages. SOA pilot projects often lose track of their deadlines,
Search WWH ::




Custom Search