15-Minute Guide: Service-Oriented Architecture and ECM


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

15-Minute Guide: Service-Oriented Architecture and ECM

  1. 1. A 15-Minute Guide to to Service-Oriented Architecture and ECM
  2. 2. 2 Foreword 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 Introduction 3 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
  3. 3. 3 Introduction 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.
  4. 4. 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. 4
  5. 5. 5 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.
  6. 6. 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. 6
  7. 7. 7 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.
  8. 8. 8 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.
  9. 9. 9 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.
  10. 10. About EMC EMC Corporation (NYSE: EMC) is the world’s leading developer and provider of information infrastructure technology and solutions that enable organizations of all sizes to transform the way they compete and create value from their information. Information about EMC’s products and services can be found at www.EMC.com. To learn more about SOA and enterprise content management from EMC, contact your local EMC sales representative or authorized value-added reseller, call us at 800.607.9546 (outside the U.S.: +1.925.600.5802) or visit us online. EMC Corporation Hopkinton Massachusetts 01748-9103 1-508-435-1000 In North America 1-866-464-7381 www.EMC.com EMC2 , EMC, and where information lives are registered trademarks of EMC Corporation. All other trademarks used herein are the property of their respective owners. © Copyright 2007 EMC Corporation. All rights reserved. Produced in the USA. 8/07 H3444