Skip to main content

skip to main content

developerWorks  >  WebSphere  >

What's new in WebSphere Portal Version 6?

developerWorks
Document options

Document options requiring JavaScript are not displayed

Discuss


Rate this page

Help us improve this content


Level: Intermediate

Stefan Hepper (sthepper@de.ibm.com), WebSphere Portal Programming Model Architect, IBM 
Stefan Liesche (liesche@de.ibm.com), WebSphere Portal and Workplace Foundation Lead Architect, IBM 
Gregory Melahn (melahn@us.ibm.com), Senior Technical Staff Member, Workplace Content Architect, IBM 
Thomas Stober (tstober@de.ibm.com), Software Architect, IBM WebSphere Portal Development, IBM 

26 Jul 2006

This article describes the highlights in the new IBM® WebSphere® Portal Version 6.0 (hereafter WebSphere Portal). You see how WebSphere Portal helps you achieve a service-oriented architecture (SOA) environment, and you learn about the technical enhancements that speed up your development projects, providing quick business value and ease-of-use. This article is as a good starting point to understand the new version content and the improvements since the previous releases.

Introduction

Today, IBM releases Version 6 of its award winning WebSphere Portal product. WebSphere Portal V6 is a key component in IBM's service-oriented architecture (SOA) approach. This version improves efficiency and productivity through a significantly improved user experience and with additional personalization capabilities. You can accelerate your application and content deployment using the new composite application capabilities. You can dramatically simplify portlet development using IBM WebSphere Portlet Factory, which is now part of the WebSphere Portal family.

WebSphere Portal V6 enables responsiveness and reliability at a lower cost and it provides new options for high availability and continuous operations. This version demonstrates IBM's continued commitment to open standards, such as JSR 168 and WSRP.

WebSphere Portal V6 comes in three editions. WebSphere Portal Server, the entry offering, provides core portal function. WebSphere Portal Enable and WebSphere Portal Extend add additional functionality to the base edition, such as Web content and document management, workflow, instant messaging, and electronic forms. Unless otherwise noted, all the new features described below are included in the entry offering, WebSphere Portal Server.



Back to top


WebSphere Portal and SOA

SOA and composite application capabilities enable businesses to be more flexible and responsive in how they deliver business solutions. SOA is not about a single product or solution; SOA is a mind-set and architecture principle which looks at reusable business functions and business processes, and assembles applications from these building blocks. This enables businesses optimize what to in-source, what to out-source, and what to near-source, and it gives you flexibility in your business model.

People often think about these things starting from the back-end, through integration and business process modeling, and optimizing the definition and use of services. But a holistic approach extends to, or starts from the front end. Then, people experience SOA in a very practical way, where users and services come closely together.


Figure 1: SOA integrates people, information, and processes
Figure 1: SOA integrates people, information, and processes.

WebSphere Portal provides services that users can interact and work with; it provides shape to services. Because different users have different access modes based on the process and their role the shape can vary, based on the user's role and context.

A portal is a composite application that is assembled at the front-end. It is an aggregation point for services delivered through portlets. This new feature in WebSphere Portal V6 makes it easier for end-users to use and to customize the portal to interact with services that they need.

This new version provides functions:

  • For business users, to create and extend portal applications (assemblies of user facing components)
  • For administrators to more efficiently deploy, configure, and manage portals

You can aggregate and integrate portlets faster and more economically to get the collaborative user interface and view into your business that you need. A flexible, role-based front-end is important to the success of a SOA.

“Through 2007, an enterprise portal will be the first major application of SOA concepts for more than 50 percent of enterprises (0.6 probability).”

Analytical source: Gene Phifer, Gartner Research; Publication Date: 12 October 2005/ID Number: G00132930 . Gartner 10/12/05.

WebSphere Portal can help you make more people more productive in the context of what they do everyday.

WebSphere Portal V6 simplifies working with composite applications. It includes a new application framework for business users to easily assemble and customize linked applications and process components into composite applications. You can use Application templates to delegate additional customizations to more users, to incorporate workflow, and to support policy-based provisioning and workflow operations, without programming. Therefore, you can extend composite applications to new user communities.



Back to top


Simplified portlet creation

The portal-based interface provides a personalized experience, which considers the user's identity, role, and personal preferences. WebSphere Portlet Factory and WebSphere Portlet Factory Designer, while not new as products, are now part of the WebSphere Portal offerings. Run time and designer licenses are included in all three editions.

WebSphere Portlet Factory is a comprehensive portlet development environment that automates the process of creating, deploying, and maintaining SOA-based portlets. Your your non-programmer employeescan use WebSphere Portlet Factory to quickly create portlets which access your company's existing application; these portlets can then be assembled as building blocks into composite applications.



Back to top


Workflow support

Portals bring together vital information, application and content; they also bring together processes and enable people to interact with them in interesting ways. For example, people interact with processes and with each other. People are important elements in any process to keep things running smoothly (that is, to manage issues that pop up or to resolve problems). People-centric collaboration is about enabling human and process interaction with consistent levels of service. WebSphere Portal V6 includes a workflow builder as a technical preview which enables business users to create and modify departmental workflows which, in a non-portal environment, would typically be implemented as email flows.



Back to top


Interactive forms in portal interfaces

Many interactions today involve the creation or completion of forms. When you arrive at an international airport, check into a hotel, provide conference feedback, and many other situations, you are required to fill out forms, which businesses and agencies use to collect and structure data. Forms are a pervasive information exchange vehicle. You can use the sophisticated electronic forms capabilities of IBM Workplace Forms with WebSphere Portal V6.0. You can use these two products together to:

  • Include electronic forms in a standard portal interface
  • Enable users to easily access information from other applications
  • Enable users to collaborate to create, edit, or view electronic forms


Back to top


User interface enhancements

WebSphere Portal V6 has significantly enhanced its user experience. The look-and-feel has been completely re-worked to implement a modern, state-of-the-art UI design.

It includes a drop-down menu, which provides access to the main functional areas of WebSphere Portal such as administration, content management, templating, and so on. Menus offer the choices which are available within the context, and they make using WebSphere Portal very intuitive.


Figure 2: The main drop-down menu and contextual menus
Figure 2: The main drop-down menu and contextual menus

The new Portlet Palette simplifies the creation and design of portal pages. The palette lists components which you can drag and drop directly onto a page. Using the palette simplifies the task of arranging portlets on a page, and makes the design experience much more intuitive.

Behind the scenes, WebSphere Portal V6 leverages Ajax in several places to move UI logic from the server into the browser. For example, contextual menus are implemented based on Ajax. The appropriate choice of menu options is determined on the browser system without request/response roundtrips to the portal server. WebSphere Portlet Factory uses Ajax to implement a “type-ahead” capability and to refresh UI fragments within a page.


Figure 3: Drag and drop: Adding portlets to a page using the Portlet Palette
Figure 3: Drag and drop: Adding portlets to a page using the Portlet Palette



Back to top


Composite applications and templates

While composing applications out of components is more efficient than creating them from scratch as monolithic applications, building complex business logic using a set of portlets can be pretty tedious. You need to:

  1. Deploy the individual components one after each other.
  2. Arrange the deployed pieces on the staging system, as desired.
  3. Define portlet interaction and access control according to the business logic to be implemented.

All these steps need active involvement of application developers, portal administrators, and the people with the necessary business domain skills.

To simplify this process, WebSphere Portal V6 introduces composite applications. Business analysts and application designers can easily assemble composite applications which implements complex business logic from individual components, such as portlets, processes, or other code artifacts.

Composite applications are a key tool in implementing meaningful business value within a SOA. By empowering users to define, create, and manage their own composite applications, WebSphere Portal V6 helps facilitate a strong business-driven usage model with fewer dependencies on the support by system administrators.

Composite applications use two fundamental aspects: templates and applications.


Figure 4: Composing business logic from components
Figure 4: Composing business logic from components

Templates

A template describes a composite application in an abstract way, including information which defines how complex business logic is assembled out of a given set of components. The template is an XML file which references all components, such as portlets or Java code artifacts, and specifies applicable meta information, such as specific configuration settings for each individual component. The template describes the composed application behaviour by defining the desired interaction between the components, such as wires between portlets, and access control logic to be enforced, such as application specific user roles.

The people who understand the business logic create the templates. WebSphere Portal provides tooling to make this task as simple as possible. The Template Builder is a portlet and is very similar to the page customizer.

Once created, templates are stored in a template library and are made available to be consumed by the user community. Again, templates are XML files which represent the abstract definition of a composite application.


Figure 5: Creating a composite application with the Template Builder
Figure 5: Creating a composite application with the Template Builder

Applications

Because templates are stored in a template library, a user can pick a template and create a new instance of the composite application that is described by the selected template definition. Users can manage their application instances based on their own needs.

A simple example

Here is an example to show how templates and applications can be used.

A development team designs a company specific teamroom application. First, the team makes sure that they have all the components they will need to assemble the intended functionality. In most cases, they simply pick portlets and logic from a catalog. In some cases, they implement a component from scratch. Once the components have been identified, the application designer assembles the teamroom application by adding and arranging components as desired. The result is stored as an XML file in the template catalogu,e and it is made available to all registered portal users within the company.

In our example, a project manager would create his individual teamroom instance for his project and use this instance together with his colleagues. From the common template definition, there would soon be a growing number of teamrooms within the company.

Application instances and templates introduce the concepts of Parameters, Application Roles, and Membership, which are described below.

Points of variability (Parameters)

It is not realistic to assume that each instance of the same template is supposed to behave exactly the same. Typically, you want each application to have a unique configuration in certain places. In our teamroom example, the specific title of a teamroom needs to be set. WebSphere Portal V6 lets you define parameters in the template, wherever a point of variability is needed. During instantiation, the creator of the application fills in the specific value for each parameter, and these values are applied to that particular instance only.

In our example, the developer of the teamroom template specifies the teamroom title as a parameter. Later, each project manager enters a meaningful title when he or she creates a specific teamroom instance. This concept of parameterization adds flexibility to the usage of your predefined templates.


Figure 6: Leveraging points of variability in a template
Figure 6: Leveraging points of variability in a template

Application roles

You can define access control settings through templates very efficiently. The template developer specifies roles, which are meaningful in the context of this particular composite application.

For example, a teamroom template would have the roles “project lead”, “project member”, “guest”, and “administrator”. Each of these application roles aggregates a set of very specific portal access control roles. A project member might have editor access to the FAQ portlet as well as manager access to the document repository, while a guest would only have user access to the FAQ portlet and no access at all to the document repository. You can hide the complexity of many access control roles to individual components and expose them as few simplified application level roles with well-understood and easy to use names.


Figure 7: Setting up application roles in a template
Figure 7: Setting up application roles in a template

Membership

Once a template is instantiated, the resulting application can be used by a community of users. The owner of the application adds members to the community as needed, and assigns each new member to the pre-defined application level roles. End-users can perform the user administration of their applications on their own.

Workflow

You can use workflow capabilities in your composite applications. New in WebSphere Portal V6 is the Workflow Builder portlet, which enables users (such as business analysts or application designers) to define processes. The "create process" definitions are treated as components within a template and can be used in the context of composite applications. For example, you could add a Workflow called “Document review process” to the Teamroom sample application.

Important: The Workflow Builder is a Tech Preview in WebSphere Portal V6.0.



Back to top


Personalizing the portal

WebSphere Portal lets you can personalize your portal for different groups of users, and you can enable administration based on attributes. Originally, portal servers let you customize the content that the end user sees based on the user's role. For example, a user in the "manager" group has access to the portlet displaying the salaries of his or her employees. Now in WebSphere Portal V6, you can define rules to modify the content the end user sees based on the current request and set of rules that apply to this request.

WebSphere Portal V6 enables administrators to provide content based on specific attributes or rules so that each user's experience can be unique. Specifically, you can:

  • Filter content using rules, based on meta information attached to a user. For example, provide different content to a "gold" customer vs. "standard" customer.
  • Use attribute-based administration to define visibility rules that show or hide content based on user meta data. For example, display a specific page or portlet each Monday which shows the goals for this week.
  • Set policies and define specific properties that can be queried to influence the behavior of a portal resource or the user experience. For example, set the mail size quota.

You can also combine these different concepts. That is, if a user is a "gold" customer, you could make that customer's mail size quota larger than for "standard" users.

Figure 8 shows the Edit Page with Show Portlet Rule Manager enabled (see upper right side, which indicates the opposite toggle option available, Hide Portlet Rule Manager). You can now define a specific rule for each portlet that influences the visibility of that portlet.


Figure 8: Creating a new rule for a specific portlet
Figure 8: Creating a new rule for a specific portlet

If you click on the Create New Rule button, the Personalization Picker portlet displays, as shown in Figure 9. Then, you can enter a specific rule.


Figure 9: Creating a new rule with the Personalization Picker
Figure 9: Creating a new rule with the Personalization Picker

In the default rule, click on any of the words which are displayed in some color other than black, and a wizard opens, as shown in Figure 10.

Then, you can select attributes to be evaluated for a specific rule. In the example shown in Figure 10, we want to evaluate one attribute of the user management system; so, we select Portal Users. A popup window displays, listing the available user management properties. We select ibm-hobby from this list.


Figure 10: Selecting an attribute for the rule
Figure 10: Selecting an attribute for the rule

We add a specific value (see Figure 11) that the selected attribute must have in order to run the rule. For this example, we require that the current user's hobby be sports in order to display this portlet to a user.


Figure 11: Adding a value for the selected attribute must have to apply the current rule
Figure 11: Adding a value for the selected attribute must have to apply the current rule

Figure 12 shows the final rule, which we save to enable it for this portlet. You can add more conditions with the addCondition button, or you can reverse the rule and hide the portlet if the rule evaluates to true.


Figure 12: Final rule telling the portal to only display this portlet if the user has as hobby sports
Figure 12: Final rule telling the portal to only display this portlet if the user has as hobby sports



Back to top


WebSphere Portal programming model

The WebSphere Portal programming model is an extension of the J2EE programming model. You use it to implement Web applications that leverage the rich set of WebSphere Portal platform capabilities. These include aggregation and integration of components into page hierarchies, flexible navigation, content and application aggregation, branding, customization, personalization, content management, document management, search, and so on.

The WebSphere Portal programming model consists of various APIs, SPIs, JSP Taglibs, Eclipse plug-points, and descriptors that let you customize the aggregation steps at different levels.

The base model

The base WebSphere Portal programming model was introduced in WebSphere Portal V5.1 which, in Version 6, has been extended but not fundamentally changed. A series of articles on the WebSphere Portal V5.1.0.1 Programming Model covers the following topics:

The information provided in these articles still applies to WebSphere Portal V6.0, and you can use and run the samples from these articles in WebSphere Portal V6.0. The next section describes the new features that have been added to the WebSphere Portal programming model in Version 6.

New in the V6.0 programming model

Let’s take a look at things that WebSphere Portal V6.0 adds on top of the base programming model. We have already discussed some enhancements in the previous sections, such as composite applications, personalization, and rules.

WebSphere Portal V6.0 programming model new features include:

  • Composite applications. Create business applications and templates as described above.
  • Themes and skins extension points. You can use defined extension points to customize the default themes and skins. You can separate your customization code from the default themes and skins code; then, you can update the default themes and skins code easily, without affecting your customizations.
  • Drag and drop. Define your own drag sources and drop targets to leverage the new drag and drop functionality in your portlets, themes and skins.
  • Policies. Create your own policies and plug into the above explained policy and personalization system.
  • Support for the Edit Default mode. Administrators and business users can distinguish between default settings they want to set on a portlet that is shared among users, and the private settings which can be set in Edit mode.
  • Advanced Portlet URL Generation capabilities. Use the URL Generation SPIs introduced for themes and skins in V5.1.0.1 in portlets to create URLs pointing to other pages and portlets. WebSphere Portal V6 also provides a simplified version of this SPI as URL Generation API that is easier to use for the most common cases.
  • Additional portal model and state SPIs. Get aggregated meta data; also, get and set the current page locale.
  • Search. Use a common search API for the various search engines available from IBM.
  • Workflow. Create your own data objects that are processed through the workflow builder tool.

We will describe these new features in more detail in a future article series on the WebSphere Portal V 6.0 programming model. Watch the WebSphere Portal zone for this series.

WebSphere Portal V 6.0 provides additional extensions to APIs which are available already in WebSphere Portal V5.1.0.1, such as the Credential Vault API, Task Processing API, Web Content Management API, and Puma SPI. These additions are explained in the WebSphere Portal Information Center.

Another thing to note in WebSphere Portal V6.0 is that the IBM Portlet API is now deprecated in order to show IBM’s commitment to the JSR 168 standard Portlet API. Also, many of the new functions will only be available to standard portlets.

The IBM Portlet API will still be supported in this and at least the next release. However, if you are going to touch one of your IBM Portlets anyway, we recommend that you port it to the standard API. For more information on how to migrate your IBM portlet to the standard Portlet API see "Comparing the JSR 168 Java Portlet Specification with the IBM Portlet API"and "Converting the WorldClock portlet from the IBM Portlet API to the JSR 168 portlet API" (see Resources).



Back to top


Content and Web content management

There have been significant improvements in the IBM Workplace Web Content Management component which is included with a restricted license in the Enable and Extend editions in WebSphere Portal V6.

In keeping with IBM's commitment to open standards, the Web Content Manager has been re-based on the Java Content Repository (JCR) included with WebSphere Portal. This repository is based on the JSR 170 standard. It is the same repository used for Portal Documents and enables the Web Content Management component to provide greater scalability and performance than in earlier releases. Having content in the JCR also makes it easier to personalize the content using business rules created with WebSphere Portal’s personalization component.

Web Content Management administration is simpler because its nodes can now share the same repository, allowing full clustering support in both production and authoring environments. The use of WebSphere logging and caching services and WebSphere Portal access control management also help to simplify administration.

The JCR provides a way to better organize content into content libraries. This capability had already been used by Portal Document Manager and is now used by Web Content Manager. Libraries help you to better manage Web content, making it easier to control access rights, separate test content from production content, organize multi-language content, and share content between sites.

The user experience for content authors has been simplified and enhanced. New data types such as links, numbers and dates, searching, custom help, limit checking, improved navigation, views and better rich text editing have been added. You can now easily author live content directly within a site by employing a new inline authoring component.

Both content authors and end users can more easily searched content. Portal search collections can include Web content, and you can include a new search component into sites designed with Web Content Management.

WebSphere Portal Document Manager now lets you access documents directly from your Windows Desktop or from Microsoft Office products. Document libraries appear as network places in the Windows Explorer, giving you easy access to document management functions such as locking, versioning, and editing. The performance of the Portal Document Manager has been improved to save document renditions and streamline document preview.



Back to top


Operations and deployment

WebSphere Portal V6 provides enhanced operation, deployment, and management capabilities to improve operation efficiency in both small and large WebSphere Portal deployments.

With multiple LDAP support, you can integrate WebSphere Portal V6 with different user directory environments, including user directories that have already been deployed, giving you acces to existing, valuable user profile data. You can bind to new directories to leverage your WebSphere Portal infrastructure both inside and outside firewalls, such as, when you use the Virtual Portal function. The ability to bind to multiple LDAPs reduces infrastructure investment and complexity because you have less of a need for directory integration or user consolidation approaches. And, you can increase availability and failover by combining this new multiple user directories support with the existing WebSphere Portal capability of binding to multiple identical LDAPs.

With support for connecting to multiple read-only LDAP shadows, you can increase availability for user authentication of WebSphere Portal. You can connect your WebSphere Portal to multiple shadows (LDAPs containing the replications of identical data) without the need for any infrastructure component like LDAP load balancer. In the case that one LDAP becomes unavailable, WebSphere Portal will seamlessly connect to other confiugured LDAPs that might be available; therefore, you avoid the impact by the unavailability of an LDAP server.


Figure 13: Multiple LDAP support
Figure 13: Multiple LDAP support

WebSphere Portal V6 provides enhanced flexibility in portal data management. The portal configuration repository now consists of independently manageable database or schema objects (data domains).


Figure 14: Data domains
Figure 14: Data domains

By separating your data, you can share domains across multiple portals. With the shared data domains feature, operators can provide continuously available (24x7) portal sites with full customisation support, while keeping operation procedures simple. Operators can create multiple independent lines of production so they can change configurations, apply maintenance, stage solution releases to one line at a time, while keeping other lines completely available to portal users.

Operators can also now spread different data domains across different database types (see Figure 14). You can select the most effective data base type for each domain to reduce operation cost and to provide the right level of availability for each domain.

The separation of portal data into multiple domains provides more options for operators to establish a distributed portal operation. With separation of data at the database level, the replication of data has become easier. With database replication per data domain (using database provided replication mechanisms), operators can create globally distributed portal sites that are individually managed and operated. Each portal site will have a dedicated release data domains and shared user customization data domins.

Releases can be staged into sites independently of other sites (for example, using XMLAccess). Staging lets you make identical portal solutions available on multiple sites. While multiple sites within the same location typically might share the same database server for cutomizations, in a global deployment with higher location independence requirements, user customizations can be hosted locally in each site with 2-way replication between the sites. Users can access their customized portal site independently of the site that services their requests.

Database replication scripts are not part of the WebSphere Portal offerings. You need to create scripts to match specific infrastructure needs. You can also consider using database replication mechanisms provided by database vendors.

In WebSphere Portal V5.1 all data is part of a single DB repository. But the type of data existed already it was simply not split into domains. In WebSphere Portal V6, the portal repository consists of the following data domains: Release, Community, Customization, Feedback, LikeMinds, JCR, and Member Manager.

Release data are typically not modified during production (such as administrator defined pages, portlets, and portlet instances). Typically administrators create release data on an integration server and stage it to the production system. Community data are typically modified during production (such as shared documents or application resource). Documents and Web content are stored in the JCR. Customization data are associated with a particular user only. A Typical example of customization data is portlet data. Feedback and LikeMinds data are created and used during productive use of the portal by the Portal Personalization Runtime. Member Manager Data contains user profile data, for example look aside user profile data. More information on data domains and data domain administration is provided in the WebSphere Portal V6 Infocenter,Transferring individual domains section. (see Resources).

Portal Configuration Management enhancements in WebSphere Portal V6 help operators become more efficient in managing the portal infrastructure. Operators can now configure WebSphere Application Server and WebSphere Portal Server from a single console or command line. You can display and change configurations for stand-alone portal servers as well as entire portal clusters consisting of multiple nodes. You can set runtime configurations and use graphical wizards for problem determination, and then view your results in a single place. See runtime trace setting options in Figure 15.


Figure 15: Configuring portal servers in a cluster
Figure 15: Configuring portal servers in a cluster


Back to top


Conclusion

WebSphere Portal V6 provides enhancements in many technical areas to help your company improve productivity, accelerate application and content deployment, and to increase responsiveness and reliability. Improved productivity for organizations can be achieved at multiple levels:

  • Integration with key systems and aggregation capabilities support user productivity
  • Collaboration capabilities increase team productivity
  • Self-services enable organizational productivity
  • Application assembly using composite application capability supports business productivity

Many of the new features and the benefits they provide are described in this article. This article provided a starting point to understanding some of the major new capabilities in WebSphere Portal V6 and how you can leverage them. Future articles on WebSphere Portal zone will give you detailed examples of how to use the new features.

And, you can learn more now by reading the WebSphere Portal V6 InfoCenter.



Resources



About the authors

Stefan Hepper is the responsible architect for the WebSphere Portal and Workplace programming model and public APIs. He co-led the Java Portlet Specification V1.0 (JSR 168) and is now leading the V2.0 (JSR 286) effort. Stefan received a Diploma of Computer Science from the University of Karlsruhe, Germany, and in 1998 he joined the IBM Böblingen Development Laboratory.


Author photo

Stefan Liesche is a Senior Technical Staff Member in the IBM Development Laboratory in Böblingen, Germany. He has 12 years of experience in the software development field. He holds a master of science degree in computer science from University of Hildesheim, Germany. He joined IBM in 1998 as part of the services group where his speciality was designing large-scale end-to-end e-business solutions for complex environments. Stefan has been working with IBM WebSphere Portal for years. He first worked on the construction of large-scale portal solutions before joining the WebSphere Portal development architecture team. He is the Lead Architect of Workplace and Portal Foundation.


Gregory Melahn photo

Gregory Melahn joined IBM in 1987 and has provided technical leadership for a number of IBM products in his career. Since 2002, Gregory has been responsible for the development of the architecture and strategy for integrating IBM's content components to provide simpler and more unified solutions. In WebSphere Portal 6, Gregory was the lead content architect with responsibity for documents, web content and personalization. Gregory is a Senior Technical Staff Member.


Dr. Thomas Stober photo

Dr. Thomas Stober is the release architect for WebSphere Portal and owns the technical responsibility for the WebSphere Portal V6.0 release. Thomas is also a key player in IBM's composite application effort. In the past, Thomas has focused on virtual portal, software componentization, mobile computing, and data synchronization. Thomas is co-author of the book Pervasive Computing Handbook.




Rate this page


Please take a moment to complete this form to help us better serve you.



 


 


Not
useful
Extremely
useful
 


Share this....

digg Digg this story del.icio.us del.icio.us Slashdot Slashdot it!



Back to top