15-Minute Guide: Service-Oriented Architecture and ECM
A 15-Minute Guide to to Service-Oriented Architecture and ECM
For you as a business professional, time is a precious commodity. You constantly need to distill
concepts, evaluate options, and manage complex transactions. When you need information,
you need it in a form that can be assimilated quickly—forget the mind-numbing detail and get
to the point.
With that in mind, we’ve developed our series of 15-minute guides to essential topics in the area
of information management. This particular guide focuses on service-oriented architecture (SOA),
its general business benefits, and its specific relevance to enterprise content management (ECM).
In about 15 minutes, we’ll define service-oriented architecture and outline its five key benefits,
explain the relationship between SOA and web services, describe the impact of SOA on content
management, and examine how EMC has used the principles of SOA to redesign its content
management platform. We think you’ll agree that it’s 15 minutes well spent.
Table of Contents
What is SOA and what can it do for you? 3
Reducing integration expense 4
Increasing asset reuse 4
Improving business visibility 5
Enhancing business agility 5
Mitigating regulatory risk 5
The role of web services 5
SOA for content management 7
The EMC Documentum approach to SOA 8
Fulfilling an SOA vision for ECM 9
Today’s IT executive struggles with enterprise environments that are complex, inflexible, and expensive
to maintain. In this post-dot-com world, there’s also increased pressure for IT departments to deliver
quantifiable business results. But with tight IT budgets, increased regulation, global competition, and
rapid technology change, those results can be hard to come by. To meet the competitive demands of
ever-changing environments, organizations need to leverage IT resources more effectively without
increasing their IT-related spending. And that need is the impetus for a broad trend called business
technology optimization, which is simply a set of strategies and tools to set IT priorities based on
desired business outcomes. Service-oriented architecture (SOA) is one of those strategies. SOA
represents the broad set of best practices that enable companies to hide the complexity of the
underlying technology while at the same time providing an agile set of resources to the business.
What is SOA and what can it do for you?
SOA defines a type of architecture for building business applications as a set of loosely coupled
components or “services” that are linked together via business processes. Put in simple terms,
service-orientation takes traditional business applications and functions and divides them into
individual tasks, referred to as services. Resources on a network in an SOA environment are made
available as independent services that can be accessed without knowledge of their underlying
platform implementation. The SOA vision is therefore one of providing the business values of agility
and flexibility. Four main characteristics of a service-oriented architecture are:
• It is a component-based architecture that deliberately hides complexity wherever possible by
adhering to the best practice of separating business logic from computer logic.
• By leveraging standards, independent components are loosely coupled, enabling individual services
to be added, modified, or deleted with minimal impact on other services. Existing applications can
easily be reused with the addition of an adapter.
• Components are orchestrated to link together in composite applications that support business
processes and deliver a set of flexible resources at a defined service level.
• As a joint initiative between IT and business, SOA represents the next generation of IT architecture,
enabling simple and flexible development of business applications that can leverage exiting assets.
SOA provides the foundation for a new kind of business agility, cost-effectively allowing IT to be more
responsive to business requirements while improving application development, deployment, and
on-going support. In contrast, traditional architecture develops organically over time, as IT buys or
builds business applications one by one to satisfy individual departmental requirements. This
approach creates architecture “silos” that largely operate independent of one another. Fraught with
duplications and dependencies, these complex and brittle architectures threaten to constrain business
and paralyze profit. With the promise of freedom and flexibility, the adoption of SOA is one of the
most strategic mandates facing business and IT today.
A useful analogy for SOA is the snap-together building block sets that children adore: LEGO® sets.
These sets are composed of various size pieces; in various colors along with specialized completer
pieces such as a steering wheel, door, sail, or propeller. One day you can build a car with a steering
wheel and door and the next day you can use the same pieces, like the steering wheel and door, for a
different project, perhaps adding a sail and a few other pieces to build a boat. This set of flexible
components is much more useful that just having a toy car, plane, or boat because you can follow a
process to reuse these pieces to build almost any toy you want. You don’t have to know what the
pieces are made of or how the steering wheel was constructed—you simply need to snap together the
components that provide the functions you want, and you have a new toy. Much is the same with
SOA: the services you want in your new application are dynamically pulled together through
business processes for maximum flexibility and reuse.
With SOA, IT departments can:
• Reduce integration expense
• Increase asset reuse
• Improve business visibility
• Enhance business agility
• Mitigate regulatory risk
Reducing integration expense
A serious challenge in maintaining complex IT environments is the continual integration and
re-integration of data and applications. Every patch, security fix, and upgrade of an enterprise
application can “break” the brittle integration between traditional applications and between
applications and data. SOA can reduce this complexity as well as the cost and disruption that go with
it because applications and the functionality they provide are not tightly connected. Each component
or service can be updated in isolation—without disruption to other services. The updated component
is then available to all applications that require that service, eliminating the need to make individual
application changes. For example, if there was a major new addition to a security regulation, you
would simply need to update the security component service, and all applications using that service
would automatically have the additional protection. Furthermore, with the simple addition of an
adapter, existing applications can be called as services, allowing reuse of functionality and ease of
migration. Over the long term, SOA enables companies to gradually replace their legacy technologies
with those that are more service-oriented.
Increasing asset reuse
Asset reuse is the key to increasing agility and lowering costs. SOA enables users to create new
composite applications from existing services. The economics of composite application development
improve over time as companies build and reuse an increasing number of applications that leverage
SOA—applications that improve time-to-market, offer improved customer service, or reduce staffing
requirements. Further, since SOA services and their composite applications are standards-based,
they can be created, composed, and implemented anywhere, providing alternative opportunities to
purchase or license best of breed component services from a variety of sources. An example might
be a search function or a translation capability. Providing ultimate flexibility, new discrete services,
developed or purchased, are available for use in any composite application. As a comprehensive
suite of services is made available, new applications can be simply “snapped” together like building
blocks from reusable services, saving both time and expense.
Increasing asset reuse is also the benefit of SOA most relevant to the world of enterprise content
management (ECM). ECM refers to the category of software that helps you manage all of the
unstructured information—or content—in your enterprise. ECM brings many different capabilities to
the organization across the content lifecycle, including content creation, management, archiving,
collaboration, publishing, and more. Traditional ECM suites tightly integrate these capabilities,
providing value to the organization at the expense of agility. EMC® Documentum®, however,
exposes enterprise content services to simplify development of new composite Documentum
applications and content-enabled existing applications. These composite applications enable
organizations to evolve and reorganize their content management capabilities as part of their
SOA initiatives, giving them the agility advantages of SOA combined with the full-lifecycle
content management capabilities that Documentum offers.
Improving business visibility
Regulations like Sarbanes-Oxley, Basel II, and others have brought the problem of business visibility
into the boardroom and the executive suite. How can CFOs sign off on their books every quarter
with confidence when the information those books draw from is locked away in dozens of
heterogeneous, proprietary, and geographically dispersed data stores? How can CEOs run their
companies and manage risk when critical business intelligence is either unavailable or out of date?
These business visibility challenges are leading many organizations to invest in SOA initiatives
that pull together diverse, distributed information—structured and unstructured—and present it via
services. With SOA, business managers and IT work together to determine policy and best practices
that become codified business services which include business processes, consistent data definitions,
and code that performs specific business functions. A service-oriented approach to information
management can provide realtime access to dependable information that improves business
performance, informs decision making, and boosts efficiency.
Enhancing business agility
Commercial Darwinism predicts that the most significant benefits of SOA will come from the increase
in business agility. Instead of creating requirements for business applications and tossing them
over the IT development wall, business users want the ability to change their businesses as
quickly as market demands shift, competitive threats emerge, or opportunities arise. By taking a
service-oriented approach to business processes, companies can organize complex activities into
modular processes and delegate them to various parts of the organization—each part maintaining
direct control over the process. This means changes can be made to a process without bringing the
entire activity to a halt. It also allows service-based processes to be embedded in the operations
of suppliers and partners, supporting initiatives such as supply chain optimization. Building new
business applications to quickly meet demands is, almost literally, a snap. Besides streamlining
existing operations, greater agility can lower barriers to creating new revenue streams and make
it easier to capitalize on promising—but fleeting—opportunities. So the return on investment from
SOA does not just hit the bottom line; it can be measured at the top line as well.
Mitigating regulatory risk
Sarbanes-Oxley and other regulations have mandated change within companies in the area of
IT implementation. The penalties for noncompliance can severely impact a company’s financial
position—and threaten jail time for executives. So compliance risk is very much a business issue.
Plus, these regulations change constantly, which means an organization’s compliance infrastructure
must be adaptable. Through flexible application services, SOA enables repeatable business processes,
superior enterprise security and privacy policies, and comprehensive audit trails—easing the burden
of compliance while reducing risk.
The role of web services
For many organizations, the road to SOA begins with web services. SOA and web services are related,
but very different concepts. Where SOA is an architectural approach, web services are fundamentally
standards-based interfaces to software functionality that provide interoperability between different
software components. Think back to our LEGO example—the dents and bumps that allow the pieces to
snap together perform a similar component-to-component connection function that web services
provide. If all applications spoke the same language, there would be no need for web services.
Unfortunately, the reality is that in today’s heterogeneous IT environment, there is no consensus on
how applications should communicate. That’s where web services come in.
What makes web services special is the fact that the IT industry has settled on open standards from
standards bodies like OASIS and W3C for application-to-application communication. Because of these
standards, it’s possible—in theory—to interact with functionality exposed as a web service knowing
little about that service except for the interface it exposes. Therein lies the power of web services.
Web services are interfaces to application functionality residing on systems that accept requests from
other systems locally or across the Internet. Some key characteristics of web services include:
• Web services can be loosely coupled, an important requirement for SOA.
• Web services only interact with service consumers by sending and receiving messages. How
developers built the software underlying the service—which platform, which language, etc.—is
completely irrelevant to the workings of the service, as long as developers know how to send
messages the other party can understand.
• Each web service’s behavior, as well as how to connect to it, appear in a document known as a
contract. In essence, the contract describes how services and service consumers can interact.
• Web services are built on open standards, including XML (Extensible Markup Language), as well as
SOAP (Simple Object Access Protocol), WSDL (Web services Description Language) and directories
like UDDI (Universal Description, Discovery, and Integration), which are all standard protocols
based upon XML.
These standards make it possible for a composite application to interact with a web service knowing
little about that service except for the interface it exposes. Web services can reduce the cost and
complexity of integration, and they can also hide the complexity that exists when applications from
different vendors, based on different technologies, try to communicate with each other. But web
services alone can no more give you SOA than a pile of lumber and nails can give you a house.
Many organizations create web service interfaces to legacy applications. This strategy provides a
quick-fix for integrating disparate applications and can assist in migrating to a service orientation,
but has the downside of sustaining separate environments and redundant functionality. To maximize
service reuse, one of the driving benefits of SOA is that a service should be granular and discrete.
Wrapping an entire application into a service allows the entire application to be reused, but not any of
its individual underlying parts. If, for example, there is security code embedded in an application, it
will not take advantage of the latest security service changes, unless the code is updated directly. Also,
if this application contains a certain section of code that would be valuable to other applications, the
other applications would not have access to only that section. This is a suitable way to assist in the
migration of home-grown applications, but it is less than ideal as a purchased solution.
As a design approach, SOA is more fundamental. It can incorporate web service interoperability to
enable heterogeneous applications and systems to provide flexible, resilient IT functionality that meets
shifting business requirements. But it can also use other types of services such as the Microsoft .NET
and Java services. Services are at the heart of SOA, but they don’t have to be web services.
SOA for enterprise content management
Enterprise content management software helps organizations create, capture, manage, and archive
digital content wherever it resides across the enterprise. ECM tools and strategies focus on the
management of an organization's unstructured information such as text documents, e-mail, reports,
XML, graphics, still images, audio and video files, and transactional data. Traditionally, vertical
applications have provided ECM solutions. This means that granular ECM functionality is not easily
available for reuse as part of a SOA environment. It also means that ECM support, innovation, and
implementation are more difficult. The following figure illustrates how the elements of vertical
applications are virtually locked together via program.
Enterprise content management before SOA
As an example, the entire loan processing application in the above figure could be wrapped as a
web service. The point is that simply adding web services capabilities to an enterprise software
suite like ECM provides simpler integration, but does not represent an architectural change.
A true service-oriented approach to ECM fosters the creation and management of reusable enterprise
content services while separating the technology “plumbing” and services integration from the user
services layer. The approach exposes the capabilities of the platform as services across the content
lifecycle, and it makes them available at any point within managed, automated business processes
without knowledge of the platform’s underlying technology.
The EMC Documentum approach to SOA
The EMC Documentum content management platform embraces SOA because enterprise IT needs a
flexible tool that can meet the demands of its business users. For the enterprise, SOA translates to
lower TCO and faster time to value. For the IT department, SOA allows the update of technology
such as content management without disrupting the business. SOA also allows IT organizations to
take advantage of new products as services without rewiring underlying technology integrations.
In terms of content management, EMC has completely re-architected its Documentum applications
programming interface (API) to meet the requirements of a services architecture. This unique approach
to enterprise content services offers access to the award-winning Documentum functionality through
a suite of standards-based services. With intuitive business-language syntax, these out-of-the-box
services can be used in the composition of an unlimited combination of business applications
such as loan processing or offer management. Since web services are agnostic, they equally
support .NET or Java development environments. Documentum also provides a set of developer
capabilities that support this architectural vision. Developers do not have to be familiar with
Documentum to create SOA-compliant services from the Documentum platform. Through Documentum
Enterprise Content Services, Documentum services can be exposed as web services or through other
service protocols such as .NET or Java, thus providing even more flexibility.
Enterprise content management with SOA
The figure above illustrates applications within an SOA environment that incorporate Documentum
Enterprise Content Services. Note the layer of reusable content management services and how
composite business applications can “cherry pick” from ECM and other application services that
match the intended function and business process.
Finally, with SOA, the Documentum platform can integrate seamlessly with core business functions
such as ERP and CRM. This is the difference between an application that simply supports web services
and one that has a true services architecture.
Fulfilling an SOA vision for ECM
Clearly, the business must harness IT in order to meet its needs, and the business must also be
able to respond flexibly to changing market demands. As a result, IT must be agile. In fact, an IT
organization’s core competency should be in supporting flexible business processes. However,
one of the main challenges facing IT departments is dealing with integration among applications,
systems, and networks in a manner that supports the agility of the business. If IT departments fail
to address this integration challenge, IT becomes a drag on the business, instead of enabling
business agility. The solution to this problem is SOA, which has become the preferred strategy for
enterprises who wish to leverage IT resources to provide better agility in the face of a continually
changing business environment.
SOA is the ideal approach to take because it enables disparate applications to communicate and
share information more easily. With more seamless integration between applications, SOA allows
companies to focus IT and development resources on projects that directly contribute to the
bottom line. SOA can also potentially reduce the cost of implementing ECM in the enterprise. The
result is an emerging awareness that ECM is most effective as an integral part of the underlying
information infrastructure, exposing its capabilities as services rather than as inflexible separate
applications. As ECM becomes a part of the core IT infrastructure investment, organizations will be
better able to leverage its capabilities to improve enterprise-wide efficiencies and innovation, and
centrally fund, support, deploy, and scale their ECM implementations. Therefore, it’s becoming
increasingly essential for such ECM solutions to be service-oriented.
SOA answers the question, “How can IT departments cost-effectively integrate applications, systems,
and networks in a manner that supports business outcomes?” SOA helps IT teams become business
enablers rather than business obstacles. In a services architecture, applications are easier to maintain
and changes can be made with little or no disruption at the business process level. So IT can spend
more of its resources rolling out new composite applications that add business value, and less on
maintaining monolithic applications and their fragile integrations.
One of the benefits of SOA to ECM is in reducing the cost of an ECM deployment. And even more
importantly, SOA can integrate content services with the IT infrastructure where they can participate
in business processes with services from other service-oriented business applications. That is SOA’s
long-term value to the enterprise and it is the EMC Documentum vision of SOA for content management.