Welcome!

SOA & WOA Authors: Yeshim Deniz, Salvatore Genovese, Mark O'Neill, Irfan Khan, Vikas Aggarwal

Related Topics: SOA & WOA

SOA & WOA: Article

Foundations for Building Enterprise Social Networks

Connecting people and information together

Instant Messaging and Presence (IMP)
Easily locating information workers and communicating with team members and subject matter experts is essential to making everyone in the organization more productive. They need to have the best communication methods available to either person when they need to accomplish a task. This information must be available right at the point of interaction. Users don't want a portlet of all the users or buddies known; they want to know the presence of the owner of the document they need for their customer. Both SIP and JSR 116 provide a standard way to find someone's presence. A specialized JSF tag allows developers to embed presence directly in their application without needing to be an expert in the SIP protocol.

Notifications, Worklist, and Tasks
With all the enterprise and custom applications that users interact with each day, there is no easy place to find an aggregated list of all the tasks they need to accomplish. Users have to visit one application to submit and approve expenses. Then visit another application to administer their benefits programs. Yet another application enables them to order new supplies and products. But they don't have any single place to track all these actions and their current status. BPEL and an aggregated worklist are essential for users to get a handle on all their processes, orders, tasks or actions. Then when you combine personal and team-based tasks, the user has one area to go to find all their deliverables. This worklist has to be easily configurable to connect to all the different BPEL engines that are deployed for each and every application within their company.

Events
Scheduling team meetings or events is one basic capability within social networks. Whether the meeting is in-person or online, teams need an easy way to schedule meetings (both personal and team based) with the right participants. As these team meetings are scheduled, each participant needs to be notified and will then accept or deny the invitation. The two key standards in this space are iCal and CalDAV. They both provide an easy way to integrate the existing infrastructure with these new social networks.

Tags
Tags are a bit of information that each user is able to attach to any object in the social network to help classify the information and make it easy to find. It is a way to classify all information but from a user's point of view. Not limited to a prescribed organizational structure defined by a developer or business users, information workers can create a user-driven categorization or Folksonomy. Combining the power of these user-defined tags with some of the other services mentioned earlier, the information and people can be linked and easily discovered. There are few standards in this area; however, the requirements for enabling social networks are twofold: a storage model for this metadata with appropriate Web services and a JSF tag to allow developers to easily add this service to their applications.

Links
Empowering information workers to take control over how new and existing enterprise information is organized is critical for success of these social networks. Creating connections or links between information such as linking a document to a discussion forum or a document to a page is a key enabler. An architecture where each of these services can easily be added to the system is required. The second half is to provide a simple user interface for business users to be able to link tasks with a specific document or to link a team event with a set of documents. But rather than copying this information from one location to another, it should be easy to link it directly. The requirements here might not be as obvious but they have to leverage all of the standards mentioned previously and provide a simple JSF tag to allow developers to quickly get all related items to the object in view. Tags and links really bring all the services together to provide a rich social network of people and information.

Key Social Network Considerations
Adaptive Services Model

All of these enabling technologies must also fit within the existing infrastructure choices that have already been put in place for each organization. Too often, Software as a Service (SaaS) offerings rely on their infrastructure to enable all of these technologies but they don't fit with the rest of the enterprise architecture. The alternative is the need to "upgrade" to the new solution that replaces all of the back-end servers that were already in place. For these new technologies to provide real business value to the organization, they must provide an adaptive services model to allow any back-end system to participate in these dynamic social networks. In addition, this adaptive services model must be componentized in a way so that only the services required are plugged into the system. For example, if a company has made a dedicated choice to not include presence and instant messaging within their infrastructure for compliance or regulatory reasons, then the UI that is designed and the rest of the services should still work unchanged. An architecture (as shown in Figure 2) allows for all these enabling services to be accessed via standards, and then using JSR-227 binding to a user interface is made very simple. This way developers build their applications once and at deployment or at runtime, the back-end connection can be configured to work against existing systems.

Customization Architecture
In an enterprise, there are many stakeholders for a typical application. There must be a balance of application control for all these stakeholders. Information workers must have the ability to participate in a simple way that doesn't stifle the social network growth. Business users need control over the information that is published and the application evolution. IT needs to easily roll out new applications, and manage upgrades and application patches. Managing all these requirements places a rigorous demand on the application infrastructure.

Customization patterns are quite common in the consumer Internet with sites like iGoogle and MyYahoo, where users can create their personal homepage and views of information. Although these features have been typically targeted at personal productivity, they enable information workers to rapidly share knowledge and evolve the application. Developers create the initial application and enhance it over time. Business users and lines of business like HR may also customize the site. Therefore, it's important that all changes to these pages be effectively managed. Avoiding overlapping customizations is not possible, so an effective strategy for choosing which customizations "win" is important. In order for this type of information sharing to successfully enable a social network, information workers must have confidence the customizations they put in place will remain. For example, if they customize a component on their shared home page and then IT releases a new version, it must not discard or overwrite their customizations. Figure 3 shows how each of these services and standards can work together to provide a dynamic, integrated customization architecture.

Although the enterprise may adopt consumer Internet technologies, it can't adopt the same level of free spirit that the Internet enjoys. Not all knowledge should be shared with the masses, so social networks in the enterprise face a difficult challenge. Out of all the links between people and information, security policies are arguably the most important aspect of these social networks. An information worker must never discover information that they don't have access to and also must not discover its existence. Security must be enforced, but these new Web 2.0 capabilities must remain simple, otherwise there is no gain in productivity for the users and these social networks risk dying a slow death. Some common security concerns for an enterprise social network are described below.


More Stories By James Owen

James Owen is a senior group product manager with Oracle WebCenter, responsible for page composition, social networking and content management technologies. He has been a featured speaker at industry conferences such as JavaOne, holds several patents in the content management space and was an active participant in the JSR-170 expert group.

More Stories By Vince Casarez

Over the past 12 years, Vince has held many key positions at Oracle. Currently, he is Vice President of Product Management for WebCenter, Portal, and Reports. He also has responsibility for managing the WebCenter development team handling the Web 2.0 services. Prior to this, he focused on hosted portal development and operations which included Oracle Portal Online for external customers, Portal Center for building a portal community, and My Oracle for the employee intranet. Previously, he was Vice President of Tools Marketing handling all tools products including development tools and business intelligence tools. Prior to running Tools Marketing, he was Director of Product Management for Oracle's JDeveloper. Before joining Oracle, Vince spent 7 years at Borland International where he was group product manager of Paradox for Windows and dBASE for Windows.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.