What does it take to integrate collaboration and social networking capabilities into your existing applications? If you are like most organizations, your enterprise architectures consist of components from many different vendors. When a problem arose, you researched solutions and decide that Oracle, for example, provides the best option for your particular needs. But perhaps the last time a new problem arose, Microsoft had the best solution for you. And perhaps next time around, it will be another vendor or possibly an open-source solution. Through time, your IT architecture becomes an amalgam of many different interlacing components. Eventually, as an organization grows large enough and the architecture becomes complex enough, leaders cannot simply ask, “What is the right solution for this particular problem?” They have to tack on a caveat: “What is the right solution for this particular problem that will integrate smoothly with my existing architecture?” In other words, how will the new component fit when the organization is using Oracle here and Microsoft there and a little IBM in between?
A complex architecture is not necessarily a detriment for an organization. Organizations must have a wide array of options when it comes to problem solving, and this naturally means that they’re going to end up with many different types of solutions. A complex architecture is often an optimized architecture. So the fact that your architecture might consist of many different kinds of applications, tools, hardware, and so on is a positive thing. However, this type of architecture can lead to disconnected systems and in some cases a duplication of functionality.
Since having a complex architecture is inevitable, you have to continually ask yourself, “What’s the best way to piece all this together?” Today, most organizations have adopted a service-oriented architecture (SOA) in a virtualized environment for building IT infrastructure. The services in a service-oriented architecture perform a defined set of work that is useful for one or more applications within the organization. As systems have gotten larger and more complex, SOA has enabled large organizations to decompose large software systems into common services. Each service then has a predefined interface through which other services can access its capabilities. This allows the organization to have a series of services that are reusable and can be used by other solutions as they become necessary. Core services, such as identity management and authentication, then become the foundation of an SOA environment. An SOA not only eliminates the cost of duplicate services but also allows the sharing of information across various applications.
With the wide spread adoption of server virtualization in data centers, it is now even easier to launch a new service in the enterprise. What once required obtaining a dedicated server or identifying an existing server to host a service can now be easily accomplished by creating a virtualized server on existing hardware. This flexibility allows IT staff to easily launch and test the viability of new services within a timely manner creating a more agile environment for hosting and testing new services.
If your collaboration solution consists of a series of services, they can be easily combined together to provide additional capability. In addition, by integrating these capabilities into various enterprise applications, you eliminate the barriers to entry for your users. This provides a robust easy to use environment for users to utilize collaborative capabilities without the traditional barriers to entry. By looking at collaboration as a series of SOA services, we now have the ability to integrate these services across the organization – similar to the way core authentication service works.