Editor's Note: This article is Part 1 of a five-part series. See the other developerWorks® articles in this series: "IBM open collaboration client solution: Organizational planning and user segmentation for desktop migration," "IBM open collaboration client solution: Technical planning," "IBM open collaboration client solution: Migrating business applications to the Linux desktop," and "IBM open collaboration solution: Architecture decisions and execution options for an IBM open virtual client."
This article guides you through the most important technical decisions involved when you introduce a Linux client in your organization. Business and IT requirements range from the need to reduce cost to a variety of desktop migration pressures. We begin by introducing the IBM® open collaboration client solution (OCCS). We present the need for our solution based on business and IT requirements, and then we provide a detailed view of the OCCS architecture.
Included are a brief introduction to the solution components and a high-level view of the OCCS jumpstart method with the associated processes and work products. We also examine key architectural decisions, associated risks, and risk mitigation strategies based on lessons learned from customer implementations.
The IBM OCCS is a security-rich and cost-effective Microsoft® desktop alternative that provides flexibility, choice, and an exciting opportunity to drive innovation on your desktop while helping you achieve a lower total cost of ownership. It gets you started toward desktops of the future, today. The OCCS can include a variety of IBM products (on the desktop and server), an operating system (Microsoft Windows®, Linux – Novell, Red Hat or Ubuntu, and Mac OS), and optionally other independent software vendor (ISV) or home-grown applications that can be classified into four types of architectural services:
- Platform framework and operating system services
- Client middleware services:
- Application composition, plug-and-play: Lotus® Expeditor is an Eclipse-based rich client platform for deploying composite applications or business mashups for online and offline use. You can also use IBM Lotus Domino® and IBM Lotus Symphony to compose applications leveraging Lotus Expeditor.
- Connected and disconnected use through replication and local storage capabilities.
- Embedded browser: Firefox is an open source Web browser developed by the Mozilla Foundation.
- Plug-in Software as a Service (SaaS) components as required.
- Desktop management including provisioning, patch management, security and virus, and usability such as 3D interaction.
- Operating system services.
- Migration tools ranging from Diamond Edge and Mainsoft to Ericom/Win4lin/Citrix.
- Client middleware services:
- Collaboration services
- Email and calendar: IBM Lotus Notes® or IBM Domino Web Access.
- Unified Communications and Collaboration: IBM Lotus Sametime® offers business instant messaging, Web conferencing, presence awareness, and IP telephony integration.
- Web 2.0 capabilities for business-grade social software (optional): IBM Lotus Connections provides activities, blogs, communities, social bookmarking, and profile capabilities.
- Team collaboration and document management (optional): IBM Lotus Quickr® provides these services.
- Application services
- Productivity editors: IBM Lotus Symphony supports the OASIS Open Document Format (ODF), an ISO standard.
- Web-browser-based application and information integration/aggregation (optional): IBM WebSphere® Portal can be used to build and aggregate/integrate applications and information sources that can be accessed through a common entry point using popular browsers such as Internet Explorer, Firefox, and Safari.
- Business Partner applications (optional): Include Projity for project management and a variety of other horizontal and vertical applications.
- Client access services
- Suitable devices such as desktops, laptops, or handheld devices with relevant form factors.
- Choice of rich or thin client, virtual or otherwise.
This article focuses on the Linux-based implementation.
Business, functional, and nonfunctional requirements
There are a variety of functional and nonfunctional requirements that you can have for the desktop, driven by a range of business requirements.
The following are business requirements that drive desktop alternatives:
- Reduce cost. Business organizations and governments are looking to reduce their desktop costs. These costs range from hardware and software acquisition to maintenance and support, and they span people, processes, and technology. This requirement comes up in the following ways:
- Cycle time for desktop hardware refresh (typically every three to four years).
- Microsoft Vista and Microsoft Office 2007 migration and upgrade challenges. The Vista operating system requires more memory and higher CPU power. There is also a learning curve associated with new functions and features and the associated user interface.
- Address end-of-life products. A good example of this requirement is Microsoft Visual Basic 6; you can choose to migrate to .NET or other technologies such as Java™.
- Need to leverage Web 2.0 and SOA. With an increasing mix of Gen X, Y, Z and mobile employees in any business, we are encountering the need to leverage Web 2.0 innovations. We also need to optimize the business services and associated changes in business processes brought forward by the Service-Oriented Architecture (SOA) initiative. This initiative is obviously driven by requirements for organizational productivity and enterprise adaptability. An aging desktop with proprietary software and siloed communication might not be the best starting point for this initiative.
- Move away from proprietary formats and adopt open standards. Several governments around the world have issued mandates that documents based on word processing, spreadsheet, or presentation files that are public records should be created and stored in open formats. See the ODF Alliance Web site for more details.
Functional requirements span the desktop stack, ranging from operating-system-level capabilities, productivity editor, to collaboration and communication, and business-application-related requirements. Of course, these needs also depend on the relevant roles. For example, the functional needs of a branch bank teller are different from those of the sales and marketing person or the contact-center customer service representative or supervisor. Similarly the desktop needs of a health care clinician are different from those of a health care payor or nursing assistant.
Let's examine some of the relevant user segments and their mapping to roles. Note that these roles map to the business services and the associated business processes identified and implemented in any SOA initiative.
User segmentation drives the functional requirements of a desktop. A best practice published in the industry puts forth a model with five segments: fixed function, technical workstation, transactional workstation, basic office, and general and advanced office (see figure 1).
Figure 1. User-segmentation-based desktop capabilities
This segmentation is based on the role, job responsibility, and associated desktop needs (which we plan to address later in this article series):
- Fixed function. These users need desktops that provide limited use, such as applications being accessed by a Web browser (Firefox, Internet Explorer). Most of the work is done on the server side with very little dependence on a client system. Such systems are usually operated by an administrative assistant and used as kiosks or dumb terminals running on thin clients. These systems require limited office functionality and typically provide basic email and browser features with limited access to advanced desktop features. Linux Desktops play very well in such environments because most tasks are performed on the server side, and the applications required to perform these tasks, such as Firefox, Samba File/Print, and OpenOffice, are standard with Linux Desktops.
- Technical, transactional workstation, and basic office. These users, on the other hand, need applications ranging from email clients to business-critical applications running locally on their systems. The majority of the corporate population fits into this category, serving enterprise needs. These users require basic office functionality, such as email, instant messaging, company portals, browsers, and access to file and print systems, to do their daily jobs.
Linux Desktops have gained a lot of ground to meet the needs of this user segment. Acknowledging customer costs and security concerns, IBM started investing in the Linux desktop by extending support of its enterprise applications on the Linux Desktop. IBM Lotus Notes 7.0.1 was the first IBM enterprise email client supported on the Linux desktop, after which IBM added support for IBM Lotus Sametime Instant Messaging Client, IBM Lotus Expeditor, IBM's productivity editors, IBM Mobility client, and some IBM Lotus Connection plug-ins.
- General and advanced office. These users are dependent on the advanced features of email, editors, and applications, and they can have heavy graphical or computational requirements as well. Alternative solutions are available to help these users migrate to OCCS on Linux while still having access to native Microsoft Windows applications. One option is VMware, which lets you run a Microsoft Windows operating system as a guest from your Linux desktop. Win4Lin is another option whereby Microsoft Windows is installed in an emulator to serve the needs of Microsoft Windows users. VMware and Win4Lin are both proprietary software and require additional licensing costs. Xen, on another hand, is open-source software that lets you run Microsoft Windows in guest mode.
Let's now discuss nonfunctional requirements.
- Support for heterogeneous environments. Mergers and acquisitions, user preferences, and role-based design drive this requirement. Enterprises are overcoming blind spots on "single-size-fits-all" architectures and implementations. This approach also requires support of the right device drivers, ports, and vendor devices.
- Reliability. You cannot afford downtime in production environments, so Linux operating reliability plays a key role in the decision making. Currently, Lotus Notes 8.0.1, Lotus Sametime 8, and Lotus Expeditor 6.1.1 are all supported on the latest versions of Linux desktops.
- Security. Linux has proven to be more secure than Microsoft Windows. Companies like Amazon, FedEx, and Google have been using Linux for years. IBM now has all major client products supported on Linux Desktop, including mail clients, instant messaging clients, VPN clients, and more. As customers pay more attention to security concerns, IBM's product offerings meet the security demand on Linux Desktop.
- Manageability. This requirement necessitates the right automated tools to manage the desktop with minimal user interaction and associated costs. It applies to troubleshooting, software and patch updates, and the ability to control desktops by implementing relevant policies that might affect role-based access and interaction with people, applications, and communities.
- Interoperability. This mandate requires support of open standards with associated plug-and-play architecture, as well as the ability to interoperate with proprietary systems using frameworks and open APIs.
The OCCS is built on the open-standards-based Eclipse platform. This rich client platform allows customers to customize and extend the available features to meet their unique requirements. Lotus Notes, Lotus Sametime Client, and Lotus Expeditor are all based on the Eclipse framework, providing more freedom to the customer. The platform also enables ISVs to develop applications to fit customers' needs without advocating any single proprietary solution.
As described previously, the OCCS is composed of four key sets of services with associated products:
- Platform framework and operating system services
- Collaboration services
- Application services
- Client access services
These services map to user roles based on the segmentation and their associated requirements (see figure 2).
Figure 2. Sample user roles mapped to the segments
The services also map to software components and associated IBM products, as shown in figure 3, where DM in the lower-right corner indicates desktop management capabilities.
Figure 3. OCCS component view
Key architectural factors include the following:
- Solution-stack mix based on user segmentation
- Interoperability models
- Integration
- Formats
- Application offline capabilities
- Virtualization
- Client type (thin or fat, including Web-browser-based application suitability)
- Jumpstart services
There are risks (cost, timely delivery, functionality, scalability, and compliance with required services-level agreements) associated with each architectural decision, so you must rely on best practices and your architectural skills to minimize them:
- Solution-stack mix based on user segmentation. The user segmentation and associated roles mapping are provided as a guideline (and addressed in more detail later in this article series). There is similarity in usage patterns across industries, for example, in retail stores and retail branch banks. Although collaboration using instant messaging is evolving as a de facto standard, you must take into account measures for privacy and consider how to address regulatory compliance requirements.
- Microsoft Windows and Linux interoperability models. There are several ways for Linux users to interoperate with Microsoft Windows users, described as follows:
- Dual booting. Linux and Microsoft Windows partitions can be installed on the same system, allowing the user to choose at startup time the operating system they to which want to boot.
- Network access. Linux users can readily access Microsoft Windows network volumes, using the Server Message Block (SMB) protocol. Lycoris and Lindows, for instance, have access to a GUI network-device utility that is quite similar to My Network Places under Microsoft Windows, allowing users to easily access Microsoft Windows volumes.
- Virtual machines. Solutions like VMware and Xen let Linux users install Microsoft operating systems as a virtual machine and run Microsoft Windows applications within that Microsoft Windows guest in the hosting application on their Linux Desktops.
- Terminal servers. Products such as the Citrix Linux client or Ericom let Linux users remotely run Microsoft Windows applications in a window on their Linux Desktops.
- Windows emulation. Win4Lin offers users the ability to install and run the Microsoft Windows operating system on the Linux Desktop. Users can access local partitions and folders to read and write the data from a Microsoft Windows session. WINE and the commercial software CrossOver Office plug-in also allow users to run Microsoft Windows applications as-is under Linux. This approach works well for Microsoft Office, Internet Explorer, Microsoft Windows Media Player, and Adobe® Photoshop.
- Integration. Options include leveraging portlet-level integration across applications, leveraging Web-browser-based access to a portal, and standard approaches using the Enterprise Service Bus. Another approach is using application-composition capabilities provided in Lotus Notes through Lotus Expeditor and related technologies.
- File-format compatibility and functional equivalents. Applications such as Ximian Evolution and OpenOffice offer varying degrees of file-format compatibility, cloned functionality, or ability to integrate in a Windows environment. The decision point is often driven by current and target states and dependencies on proprietary formats and repositories dictated by products such as Microsoft Office, Microsoft Windows SharePoint Services, and Microsoft Office SharePoint Server. Decisions can leverage ODF and similar open standards.
- Application offline capabilities. Users should be able to use the application even when they are not connected to the network. This ability affects the user interface, business logic, and database; in addition, it is necessary to address issues regarding concurrency, data integrity, user transparency, and replication. Architectural decisions range from whether to use Lotus Expeditor or Lotus Domino to Ajax, Flex, or the like.
- Virtualization models. Figure 4 shows a snapshot of choices ranging from a fat- to thin-client virtualization based on dedicated workstation blades or rack-based servers. See IBM's Virtual infrastructure access service Web page for more details.
Figure 4. Virtualization models
- Client types. The decision between thin versus rich is governed by user requirements and associated application requirements. This decision is also based on client access types and response times, as well as other infrastructure capabilities such as network connectivity, bandwidth, and power outage risks.
- Jumpstart services. OCCS jumpstart services range from Linux value assessment workshops, user segmentation workshops, and pilots to application and desktop migration activities. These items are essential services engagements that help drive the desktop transformation to deploy the correct OCCS solution stack in your organization.
In certain situations you might need guidance on how to achieve browser independence and to make the architectural decisions described previously. These services map to the IBM Client Value Engagement Method across the sales cycle. The OCCS jumpstart method leverages IBM Unified Method Framework and the IBM Rational Method Composer. Standard work products and deliverables include use case diagrams, requirements documents, process flow diagrams, role profiles, architecture overview diagrams, and component and deployment architecture models that align with TOGAF.
This article offers solid, pragmatic guidelines to successfully perform the technical planning necessary for your Linux client pilot. We have outlined the most important considerations involved when planning for this pilot phase, discussing the options you have and noting their advantages and disadvantages. Our hope is that this pilot can be the start of a productive, cost-effective, and efficient use of a Linux client in your organization.
- Participate in the discussion forum.
-
Read part 2 of this developerWorks Lotus series, "IBM open collaboration client solution: Organizational planning and user segmentation for desktop migration."
-
Read part 3 of this developerWorks Lotus series, "IBM open collaboration client solution: Technical planning."
-
Read part 4 of this developerWorks Lotus series, "IBM open collaboration client solution: Migrating business applications to the Linux desktop."
-
Read part 5 of this developerWorks Lotus series, "IBM open collaboration solution: Architecture decisions and execution options for an IBM open virtual client."
-
Read about the IBM open collaboration client solution.
-
Read about the IBM open collaboration client solution powered by SUSE Linux Enterprise from Novell.
-
Read the IBM white paper, "IBM Point of View: Desktops of the future and how to get started today."
-
Read the developerWorks Lotus article, "Developing and deploying rich client applications on desktops and mobile devices using Lotus Expeditor V6.1."
-
Read the developerWorks Lotus article, "Building an offline application in IBM Lotus Expeditor."
-
Read the WebSphere Portal zone of developerWorks.
Faheem Altaf (faheem@us.ibm.com) is an IBM Senior Software Engineer based in Austin, TX. As a worldwide Desktop of the Future technical lead in the IBM Linux Integration Center, he promotes the IBM open collaboration client initiatives around the world through customer briefings, proof-of-concepts, skills transfer workshops, and field enablement. He has seven years' experience as a software engineer and holds a Bachelor's degree in Computer Science from the University of Texas at Austin.
Antony Satyadas (antony_satyadas@us.ibm.com) leads competitive marketing and the Desktop of the Future initiative across functional areas for IBM Lotus software. An IT veteran with 23 years of worldwide experience, Antony is an expert in bridging the business-IT gap using Web 2.0-plus, SOA, and intelligent systems modeling. He holds an M.S. in Computer Science and is a Ph.D (abd) in Computer Science and Cognitive Science from the University of Alabama; he also holds a BS in Electrical & Electronics Engineering from University of Kerala, India. Antony is an IEEE Senior Member, and his certifications include IBM Senior Certified Executive Architect and the Open Group Master Certified IT Architect.





